summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Upgrade our copy of llvm/clang to 3.4.1 release. This release containsdim2014-05-1282-469/+1011
| | | | | | | | | | | | | | | mostly fixes, for the following upstream bugs: http://llvm.org/PR16365 http://llvm.org/PR17473 http://llvm.org/PR18000 http://llvm.org/PR18068 http://llvm.org/PR18102 http://llvm.org/PR18165 http://llvm.org/PR18260 http://llvm.org/PR18290 http://llvm.org/PR18316 http://llvm.org/PR18460 http://llvm.org/PR18473 http://llvm.org/PR18515 http://llvm.org/PR18526 http://llvm.org/PR18600 http://llvm.org/PR18762 http://llvm.org/PR18773 http://llvm.org/PR18860 http://llvm.org/PR18994 http://llvm.org/PR19007 http://llvm.org/PR19010 http://llvm.org/PR19033 http://llvm.org/PR19059 http://llvm.org/PR19144 http://llvm.org/PR19326 MFC after: 2 weeks
* Bump copyright dateskreuzer2014-05-121-0/+1
| | | | Approved by: hrs@ (mentor)
* Nuke a couple of unnecessary assigments. Nothing uses the values of rstarttruckman2014-05-121-2/+0
| | | | | | and rend after this point. MFC after: 1 week
* Build modules in parallel. This has been tested by several people atian2014-05-121-0/+2
| | | | various -j levels from 6 to 48 without problems.
* Cleanup some style nits.ian2014-05-121-8/+4
|
* Interrupts need to be disabled on entry to cpu_sleep() for ARM. Givenian2014-05-121-2/+2
| | | | | | | | | | | | | | | | | | | | that and the need to be in a critical section when switching to idleclock mode for event timers, use spinlock_enter()/exit() to achieve both needs. The ARM WFI (wait for interrupt) instruction blocks until an interrupt is asserted, and it will unblock even if interrupts are masked, and it will unblock immediately if an interrupt is already pending. It is necessary to execute it with interrupts disabled, otherwise the interrupt that should unblock it may occur and be serviced just prior to executing the instruction. At that point the system is inappropriately asleep until the next timer tick or some other random interrupt happens. In general, interrupts need to be disabled continuously from the time the decision is made that there is no work to be done and sleeping is needed until actually going to sleep, to avoid a race where handling a new interrupt changes the basis for deciding there is no work to be done. Submitted by: hps@ (in slightly different form)
* Disable TX checksum offload for UDP-Lite completely. It wasn't used fortuexen2014-05-121-5/+9
| | | | | | partial checksum coverage, but even for full checksum coverage it doesn't work. This was discussed with Kevin Lo (kevlo@).
* Create driver file templates, kernel module Makefile and add initialhselasky2014-05-125-0/+301
| | | | | | | version of register definitions for ISP1761 and SAF1761 compatible chips. Sponsored by: DARPA, AFRL
* units(1): call el_end()eadler2014-05-121-0/+1
| | | | Add missing el_end() call
* units(1): unbreak -f option, fix some style, increase compatibility.eadler2014-05-121-6/+4
| | | | | | - Unbreak the -f option: it was missing a ':' - gunits -V spits out more information than just its version: attempt to do so as well.
* units(1): use common functionseadler2014-05-121-3/+2
| | | | No need to replicate strdup
* Repair some races in IPI handling:nwhitehorn2014-05-123-2/+23
| | | | | | | | | | | | | | 1. Make sure IPI mask is set before sending the IPI 2. Operate atomically on PS3 PIC outstanding interrupt list 3. Make sure IPIs are EOI'ed before, not after, processing. Without this, a second IPI could be sent partway through processing the first one, get erroneously acknowledge by the EOI to the first, and be lost. In particular in the case of smp_rendezvous(), this can be fatal. In combination, this makes the PS3 boot SMP again. It probably also fixes some latent bugs elsewhere. MFC after: 2 weeks
* s/JIRA/Jenkins/g in comments. I was confused.imp2014-05-121-2/+2
|
* Attempt to walk a fine line between current usage (/usr/ports whichimp2014-05-111-0/+11
| | | | | | | | | | does an out-of-tree build without setting MAKESYSPATH) and recently added requirements (JIRA's building the modules in a non-standard layout). So, when MAKESYSPATH is defined, trust that it will do the right thing (to catch the JIRA use case). When it isn't defined, assume a standard FreeBSD tree and reach over to grab bsd.mkopt.mk (to fix the /usr/ports use case). Both camps cannot be appeased otherwise, so we have this kludge until it can be sorted out.
* accept(),accept4(): Don't set *addrlen = 0 on [ECONNABORTED].jilles2014-05-111-15/+2
| | | | | | | | | | | | | If the underlying protocol reported an error (e.g. because a connection was closed while waiting in the queue), this error was also indicated by returning a zero-length address. For all other kinds of errors (e.g. [EAGAIN], [ENFILE], [EMFILE]), *addrlen is unmodified and there are successful cases where a zero-length address is returned (e.g. a connection from an unbound Unix-domain socket), so this error indication is not reliable. As reported in Austin Group bug #836, modifying *addrlen on error may cause subtle bugs if applications retry the call without resetting *addrlen.
* Allow libstdc++ and libsupc++ to compile with clang again, after thedim2014-05-112-4/+3
| | | | | bsd.*.mk infrastructure changes. Apparently, you must now modify CXXFLAGS *before* including bsd.lib.mk, or your changes will be lost.
* Minor fixes to previous change introducing switch -H, as per commentsthomas2014-05-112-16/+22
| | | | | | on -arch. Reviewed by: gleb
* OF_peer() in IEEE 1275 returns 0 if no peer exists, not -1.nwhitehorn2014-05-111-1/+1
|
* Fix locking. The dst_object must remain locked on the retry of thekib2014-05-111-0/+1
| | | | | | | | loop iteration. Reported and tested by: pho Sponsored by: The FreeBSD Foundation MFC after: 6 days
* With the new-and-improved vm_fault_copy_entry() (r265843), we can alwaysalc2014-05-111-2/+9
| | | | | | | | | | | | avoid soft page faults when adding write access to user wired entries in vm_map_protect(). Previously, we only avoided the soft page fault when the underlying pages were copy-on-write. In other words, we avoided the pages faults that might sleep on page allocation, but not the trivial page faults to update the physical map. Reviewed by: kib MFC after: 1 week Sponsored by: EMC / Isilon Storage Division
* printf: fix regression after illumos merges.pfg2014-05-111-3/+5
| | | | | | | | | | | The "bltin/bltin.h" wrappers do not support exit() and attempting to call it will exit sh completely. Note that errx() is acceptable but will always return with status 2. Reported by: jilles (and the testing framework) Fix by: jilles Pointyhat: pfg
* Fix interrupt allocation after changes to nexus. This makes PS3 bootnwhitehorn2014-05-111-2/+12
| | | | | | multiuser again (this commit comes from the PS3 itself). Some problems still exist with SMP, apparently, as I had to boot a non-SMP kernel to get here.
* include: Don't expose L_cuserid in strict C standard compliance mode.jilles2014-05-111-1/+1
| | | | | L_cuserid is supposed to be exposed only for old POSIX, or in the default (expose everything) environment.
* include: Remove checks for __BSD_VISIBLE where redundant with __XSI_VISIBLEjilles2014-05-1110-21/+21
| | | | | | | | | or __POSIX_VISIBLE. Whenever <sys/cdefs.h> sets __BSD_VISIBLE to non-zero, it also sets __POSIX_VISIBLE and __XSI_VISIBLE to the newest version supported. No functional change is intended.
* Revert accidental commit of SUBDIR_PARALLEL for sys/modules. (It hasn'tian2014-05-111-2/+0
| | | | been tested sufficiently).
* In cf_get_method, when we don't already know what clock speed the CPU iscperciva2014-05-111-5/+6
| | | | | | | | | | | | | | running at, guess the nearest value instead of looking for a value within 25 MHz of the observed frequency. Prior to this change, if a system booted with Intel Turbo Boost enabled, the dev.cpu.0.freq sysctl is nonfunctional, since the ACPI-reported frequency for Turbo Boost states does not match the actual clock frequency (and thus no levels are within 25 MHz of the observed frequency) and the current performance level is read before a new level is set. MFC after: 3 days Relnotes: Bug fix in power management on CPUs with Intel Turbo Boost
* Typo fixes and some language/punctuation improvements.brueffer2014-05-111-12/+12
|
* Optimise host mode data roundtrip time. When BULK data is submitted tohselasky2014-05-112-26/+71
| | | | | | | | | | the main processing queue, clear the NAK counter for any associated BULK or CONTROL transfers and poll the endpoint(s) for 1 millisecond at 125us rate interval, before going into slow, 10ms, NAK polling mode again. This has the effect that typical ping-ping protocols respond quicker when initiated from the USB host. MFC after: 2 weeks
* Move the PS3 framebuffer console to use vt instead of syscons and adjustnwhitehorn2014-05-113-629/+51
| | | | | | | | GENERIC64 for PowerPC to use vt with it. Much to my chagrin, PS3 support seems to have bitrotted somewhat since the last time I tried it. ehci panics on attach and interrupt handling seems to be faulty. This should be fixed soon...
* Add cpu_l2cache_drain_writebuf(), use it to implement generic_bs_barrier().ian2014-05-114-1/+39
| | | | | | | | | | | | | | | | | | | | On modern ARM SoCs the L2 cache controller sits between the CPU and the AXI bus, and most on-chip memory-mapped devices are on the AXI bus. We map the device registers using the 'Device' memory attribute, which means the memory is not cached, but writes to it are buffered. Ensuring that a write has made it all the way to a device may require that the L2 controller take some action. There is currently only one implementation of the new function, for the PL310 cache controller. It invokes a function that the controller manual calls "cache sync" but it actually has nothing to do with cache at all, it triggers a drain of all pending store buffer writes and it blocks until they complete. The sheeva and xscale L2 controllers (which predate the concept of Device memory) don't seem to have a corresponding function. It appears that the standard armv5 drain_writebuf function includes draining all the way through the L2 controller.
* Enable SMP for Exynos-based platforms (i.e. Chromebook)grehan2014-05-111-1/+1
| | | | Reviewed by: br
* Use vt(4) by default on 32-bit PowerPC now that it is fully functional andnwhitehorn2014-05-111-5/+2
| | | | | fast. 64-bit PowerPC will follow along once the PS3 framebuffer driver is adapted.
* Port over mmap routine from syscons. This lets X11 work on PowerPC with vt.nwhitehorn2014-05-111-12/+51
| | | | | | The last obstacle to switching PowerPC entirely to vt is that the Playstation 3 framebuffer driver needs to be ported over. This only applies for powerpc64, however.
* mesg: remove advertising clauseeadler2014-05-111-5/+1
| | | | | The University of California board of trustees has given permission to remove the advertising clause of all software attributed to it.
* look(1): add compability with other implementations.eadler2014-05-112-1/+8
| | | | | On other implementations 'look -a' uses an alternate dictionary. Since we don't have one, just ignore it.
* Make ofwfb not be painfully slow. This reduces the time for a verbose bootnwhitehorn2014-05-111-25/+63
| | | | | | | | | | | | | | | on my G4 iBook by more than half. Still 10% slower than syscons, but that's much better than a factor of 2. The slowness had to do with pathological write performance on 8-bit framebuffers, which are almost universally used on Open Firmware systems. Writing 1 byte at a time, potentially nonconsecutively, resulted in many extra PCI write cycles. This patch, in the common case where it's writing one or several characters in an 8x8 font, gangs the writes together into a set of 32-bit writes. This is a port of r143830 to vt(4). The EFI framebuffer is also extremely slow, probably for the same reason, and the same patch will likely help there.
* libedit: add H_SAVE_FP which saves history to a file pointer.eadler2014-05-114-9/+35
| | | | | | | H_SAVE_FP is similar to H_SAVE but operates on a FILE* instead of a filename. This is useful when operating in capability mode. Reviewed by: christos@NetBSD.org, pfg
* Make ofwfb actually work again. Apparently the API it was written againstnwhitehorn2014-05-111-4/+33
| | | | | still exists but is now silently ignored by the VT core. At least xboxfb needs similar changes.
* Make the hardware memory and instruction barrier functions work on armv4ian2014-05-112-3/+5
| | | | and armv5 as well.
* prinf: replace use of alloca with variable length array.pfg2014-05-101-3/+1
| | | | | | | Use of alloca(3) is discouraged in FreeBSD. Using a VLA is simple and should be more portable. Requested by: jilles
* Rename platform_gpio_init to be SoC specificandrew2014-05-103-3/+3
|
* Really, I don't want to install src.opts.mk at all.imp2014-05-101-3/+0
|
* Rename platform_gpio_init to be platform specific, and make it static asandrew2014-05-102-4/+4
| | | | it's only used from this file.
* Rename platform_gpio_init to be SoC specific, and make it static as it'sandrew2014-05-101-4/+4
| | | | only called from this file.
* When mapping device memory, use PTE_DEVICE rather than PTE_NOCACHE.ian2014-05-1012-55/+55
| | | | | | On armv4 these are defined as synonyms right now, but it's a bit ambiguous what NOCACHE means (is buffering/write-combining also enabled or not?); this is a first step towards replacing PTE_NOCACHE with a less ambiguous name.
* About 9% of the pmap_protect() calls being performed by vm_map_copy_entry()alc2014-05-101-1/+2
| | | | | | | | are unnecessary. Eliminate the unnecessary calls. Reviewed by: kib MFC after: 1 week Sponsored by: EMC / Isilon Storage Division
* sh: In getopts, unset OPTARG where POSIX says we should.jilles2014-05-104-13/+26
|
* Invalidate the cache for the named posix semaphore when opened andkib2014-05-101-29/+36
| | | | | | | | | | | | | | | | | | | actual file storing the semaphore object is different from the file created on the first open. Store the file st_dev and st_ino members of the struct stat in the semaphore structure on open, and compare them with the attributes of the opened file to detect unlink and re-creation. This fixes an issue of sem_unlink(3) failing to flush the named entry in the semaphore list for the current or remote process, making sem_unlink(3) not correctly operating if the unlinked semaphore is still opened. Reported by: Joris Giovannangeli <joris@giovannangeli.fr> PR: standards/189353 Reviewed by: jilles (previous version) Sponsored by: The FreeBSD Foundation MFC after: 1 week
* sh: Add new tests to the Makefile.jilles2014-05-101-0/+2
|
* Style.kib2014-05-101-2/+2
| | | | | Sponsored by: The FreeBSD Foundation MFC after: 1 week
OpenPOWER on IntegriCloud