summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* MFC r294200: [PR 206224] bv_cnt is sometimes examined without holding therpokala2016-01-261-0/+5
| | | | | | | | | bufobj lock Add locking around access to bv_cnt which is currently being done unlocked Approved by: jhb Sponsored by: Panasas, Inc.
* MFC: r256940jkim2016-01-262-6/+13
| | | | Allow users to set UUID in network byte order regardless of SMBIOS version.
* MFC r294347asomers2016-01-261-7/+4
| | | | | | | | | Fix usr.bin.truncate.truncate_test.bad_truncate with ZFS /tmp. The bad_truncate test sets the uimmutable flag to produce an error in truncate, but that flag isn't supported by ZFS. If /tmp is on a ZFS filesystem, the test will fail. Change it to use readonly permissions and an unpriveleged user instead.
* MFC r292066, r292069, r293708, r294027, and r294358, mostly to vdev_geom.casomers2016-01-262-40/+66
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | r292066 | asomers | 2015-12-10 14:46:21 -0700 (Thu, 10 Dec 2015) | 25 lines During vdev_geom_open, require that the vdev guids match the device's label except during split, add, or create operations. This fixes a bug where the wrong disk could be returned, and higher layers of ZFS would immediately eject it again. sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_geom.c: o When opening by GUID, require both the pool and vdev GUIDs to match. While it is highly unlikely for two vdevs to have the same vdev GUIDs, the ZFS storage pool allocator only guarantees they are unique within a pool. o Modify the open behavior to: - If we are opening a vdev that hasn't previously been opened, open by path without checking GUIDs. - Otherwise, open by path and verify GUIDs. - If that fails, search all geom providers for a device with matching GUIDs. - If that fails, return ENOENT. r292069 | asomers | 2015-12-10 17:04:13 -0700 (Thu, 10 Dec 2015) | 6 lines Change an important error message from ZFS_LOG to printf r293708 | asomers | 2016-01-11 15:15:46 -0700 (Mon, 11 Jan 2016) | 16 lines Fix importing l2arc device by guid After r292066, vdev_geom verifies both the vdev and pool guids of device labels during open. However, spare and l2arc devices don't have pool guids, so opening them by guid will fail (opening by path, when the pathname is known, still succeeds). This change allows a vdev to be opened by guid if the label contains no pool_guid, which is the case for inactive spares and l2arc devices. r294027 | asomers | 2016-01-14 11:19:05 -0700 (Thu, 14 Jan 2016) | 14 lines Fix race condition involving ZFS remove events When a ZFS drive disappears, ZFS sends a resource.fs.zfs.removed event to userland. A userland program like zfsd(8) can use that event, for example to activate a hotspare. The current code contains a race condition: vdev_geom will sent the sysevent _before_ spa.c would update the vdev's status, causing userland processes to see pool state that does not reflect the device removal. This change moves the sysevent to spa.c, closing the race. r294358 | asomers | 2016-01-19 16:16:24 -0700 (Tue, 19 Jan 2016) | 10 lines Quell harmless CID about unchecked return value in nvlist_get_guids. The return value doesn't need to be checked, because nvlist_get_guid's callers check the returned values of the guids.
* MFH: r293745brueffer2016-01-262-1/+98
| | | | Add a basic bhyvectl manpage.
* MFH (r275765): add a vigr(8) tool to mirror vipw(8)des2016-01-264-0/+173
|
* MFH (r277706): allow the user to specify the location of control.confdes2016-01-261-0/+2
|
* MFH (r290008): load_rc_config no longer requires a service namedes2016-01-262-2/+2
|
* MFH (r290006): loading rc.subr and rc.conf has no effect heredes2016-01-261-3/+0
|
* MFH (r293034, r29304): plasma screensaverdes2016-01-266-1/+500
|
* MFH (r293033): ignore unload unless loaded + add a reload targetdes2016-01-261-1/+12
|
* MFH (r291197): markup fixesdes2016-01-261-3/+9
|
* MFH (r290743): support an exclusion regex, like security/200.chkmountsdes2016-01-261-1/+6
|
* MFH (r290742): don't index /var/db/freebsd-updatedes2016-01-262-2/+2
|
* MFC r286652:ngie2016-01-261-0/+1
| | | | | | | | | r286652 (by jmmv): Mark usr/include/c++/v1/tr1 as obsolete The directory usr/include/c++/v1 was marked as obsolete but its tr1 subdir was not, resulting in a removal error in delete-old.
* MFC r278047:ngie2016-01-261-0/+19
| | | | | | | | | PR: 206622 Sponsored by: EMC / Isilon Storage Division r278047 (by amdmi3): - Remove more files when MK_BSNMP == no
* MFC r294620:dchagin2016-01-262-3/+2
| | | | | | | | Fix a typo. MFC r294621: Remove obsolete comment.
* Revert r279010:pfg2016-01-261-6/+5
| | | | | | | | | | | | | | tdelete(3): don't delete the node we are about to return. The original change, from NetBSD, was bogus; introduced a memory leak and and broke POSIX. By reverting we actually match NetBSD's latest revision. This is a direct commit to 10 since this function was rewritten in 11-current. Reported by: Markiyan Kushnir Obtained from: NetBSD (CVS rev. 1.7, 1.8)
* MFC r293458:markj2016-01-261-7/+26
| | | | Prevent cv_waiters wraparound.
* MFC r294370:bdrewery2016-01-251-2/+15
| | | | mkdep: Fix -include not being added for .depend tracking.
* MFC r293460:smh2016-01-252-260/+15
| | | | | | | | | Switch EFT boot1 to use libstand This includes a change to the Makefile comment to correct it due to the lack of arm and i386 support in 10.x. Sponsored by: Multiplay
* MFC r293422 (partial):smh2016-01-251-14/+20
| | | | | | | | | | Update generated EFI boot image templates. This is a partial MFC as stable/10 only has EFI boot support for amd64, and there are no plans to change this, so the other platform images aren't included. Sponsored by: Multiplay
* MFC r293461:smh2016-01-253-6/+0
| | | | | | Remove hidden "Not ufs" printfs from boot code Sponsored by: Multiplay
* MFC r293274:smh2016-01-252-4/+3
| | | | | | style(9) fixes for EFI boot Sponsored by: Multiplay
* MFC r281059 (by rpaulo):smh2016-01-251-1/+22
| | | | | | boot1 EFI: reset the screen and select the best mode. Sponsored by: Multiplay
* MFC r293271:smh2016-01-251-1/+1
| | | | | | Fix const conversion warning in lz4_decompress Sponsored by: Multiplay
* MFC r293269:smh2016-01-251-2/+2
| | | | | | Fix return from zfs_probe_dev Sponsored by: Multiplay
* MFC r293268:smh2016-01-253-8/+8
| | | | | | Fix _MSC_EXTENSIONS checks Sponsored by: Multiplay
* MFC r292074:smh2016-01-254-1/+36
| | | | | | Limit stripesize reported from nvd(4) to 4K Sponsored by: Multiplay
* MFC r292289:smh2016-01-251-2/+18
| | | | | | Prevent g_access calls to bad multipath members Sponsored by: Multiplay
* MFC r291911, r293659:smh2016-01-252-29/+73
| | | | | | | | Fix panic on shutdown due to iscsi event priority. Close iSCSI sessions on shutdown. Sponsored by: Multiplay
* MFH (r291198, r291260, r291261, r291375, r294325, r294335, r294563)des2016-01-2450-798/+173
| | | | Remove the HPN and None cipher patches.
* MFC r289477:ian2016-01-241-1/+5
| | | | | | | | | | Fix a strange macro re-definition compile error. If the VM_MAXUSER_ADDRESS value is defined as a config option the definition is emitted into opt_global.h which is force-included into everything. In addition, the symbol is emitted by the genassym mechanism, but that by its nature reduces the value to a 0xnnnnnnnn number. When compiling a .S file you end up with two different definitions of the macro (they evaluate to the same number, but the text is different, upsetting the compiler).
* MFC r293105:ian2016-01-241-22/+2
| | | | | | Eliminate code for walking through the early static env data. This code is called from a device attach routine, and thus cannot be called before the cutover from static to dynamic kernel env.
* MFC r294032:ian2016-01-241-11/+10
| | | | | | | | | | | Fix the handling of the "PDC write transfer length" erratum for at91. The problem affects revision 1xx hardware as well as later versions. Also, the recommended workaround is to set the PDC count register for a 12-byte transfer when the actual size is less than that, but there is no need to extend or zero-out the data buffer, because the blklen register contains the real transfer size and only that many bytes will be transferred. Also add a sysctl to turn debugging printfs on or off on the fly.
* MFC r293830:ian2016-01-241-2/+2
| | | | | Fix the spelling of fueword* to eliminate compile warnings about mismatched begin/end symbols when the warning level is turned up.
* MFC r293053, r293061, r293063, r293064, r293065, r293775, r293792:ian2016-01-242-18/+33
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Use 64-bit math when finding a block of ram to hold the kernel. This fixes a problem on 32-bit systems which have ram occupying the end of the physical address space -- for example, a block of ram at 0x80000000 with a size of 0x80000000 was overflowing 32 bit math and ending up with a calculated size of zero. Use 64-bit math when processing the lists of physical and excluded memory to generate the phys_avail and dump_avail arrays. Work around problems that happen when there is ram at the end of the physical address space. Cast pointer through uintptr_t on the way to uint64_t to squelch a warning. Reword the comment to better describe what I found while researching the problem that led to this temporary workaround (and also so I can properly cite the PR in the commit this time). Cast using uintfptr_t and eliminate the cast to uint64_t which is uneeded because rounding down cannot increase the number of bits needed to express the result. Go back to using uintptr_t, because code that actually compiles is infinitely less buggy than code that is theoretically correct in some alternate universe. PR: 201614
* MFC r293045, r293046:ian2016-01-246-16/+50
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Make the 'env' directive described in config(5) work on all architectures, providing compiled-in static environment data that is used instead of any data passed in from a boot loader. Previously 'env' worked only on i386 and arm xscale systems, because it required the MD startup code to examine the global envmode variable and decide whether to use static_env or an environment obtained from the boot loader, and set the global kern_envp accordingly. Most startup code wasn't doing so. Making things even more complex, some mips startup code uses an alternate scheme that involves calling init_static_kenv() to pass an empty buffer and its size, then uses a series of kern_setenv() calls to populate that buffer. Now all MD startup code calls init_static_kenv(), and that routine provides a single point where envmode is checked and the decision is made whether to use the compiled-in static_kenv or the values provided by the MD code. The routine also continues to serve its original purpose for mips; if a non-zero buffer size is passed the routine installs the empty buffer ready to accept kern_setenv() values. Now if the size is zero, the provided buffer full of existing env data is installed. A NULL pointer can be passed if the boot loader provides no env data; this allows the static env to be installed if envmode is set to do so. Most of the work here is a near-mechanical change to call the init function instead of directly setting kern_envp. A notable exception is in xen/pv.c; that code was originally installing a buffer full of preformatted env data along with its non-zero size (like mips code does), which would have allowed kern_setenv() calls to wipe out the preformatted data. Now it passes a zero for the size so that the buffer of data it installs is treated as non-writeable. Also, revert accidental change that snuck into r293045.
* MFC r290647, r292523, r292891:ian2016-01-242-57/+98
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ARM: Improve robustness of locore_v6.S and fix errors. - boot page table is not allocated in data section, so must be cleared before use - map only one section (1 MB) for SOCDEV mapping (*) - DSB must be used for ensuring of finishing TLB operations - Invalidate BTB when appropriate Allow armv4/5 kernels to be loaded on any 2MB boundary, like armv6/7. This eliminates the reliance on PHYSADDR and KERNPHYSADDR compile-time symbols (except when the rom-copy code is enabled) by using the current PC and the assumption that the entry-point routine is in the first 1MB section of the text segment. Other cleanups done: - Reduce the initarm() stack size back to 2K. It got increased to 4 * 2K when this file was supporting multicore armv6, but that support is now in locore-v6.S. - When building the temporary startup page tables, map the entire 4GB address space as VA=PA before mapping the kernel at its loaded location. This allows access to boot parameters stored somewhere in ram by the bootloader, regardless of where that may be. - When building the page table entry for supporting EARLY_PRINTF, map the section as uncached unbuffered, since it is presumably device registers. Note that this restores the ability to use loader(8)/ubldr on armv4/5 kernels. That was broken in r283035, the point at which ubldr started loading an arm kernel at any 2MB boundary. Also note that after this, there is no reason to set KERNVIRTADDR to anything other than 0xc0000000, and no need for PHYSADDR or KERNPHYSADDR symbols at all. Bring some of the recent locore-v4.S improvements into locore-V6... - Map all 4GB as VA=PA so that args passed in from a bootloader can be accessed regardless of where they are. - Figure out the kernel load address by directly masking the PC rather then by doing pc-relative math on the _start symbol. - For EARLY_PRINTF support, map device memory as uncacheable (no-op for ARM_NEW_PMAP because all TEX types resolve to uncacheable).
* MFC r277416, r282023, r282024, r282025, r284264:ian2016-01-247-214/+95
| | | | | | | | | | | | | | | Remove the SMP code from locore-v4. These will never use the SMP code as there is no multi-core hardware prior to ARMv6. Remove the armv6 code from locore-v4.S, it's not needed there. Fix the style of locore-v4.S and locore-v6.S to help find any common code. Cleanup a little more: - Remove whitespace at the end of lines - Use a tab after instructions, not spaces Fix the spelling of __ARM_ARCH >= 6 in sys/arm/arm.
* MFC r292752:ian2016-01-243-59/+76
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Enhance rc.d/netwait script to wait for late-attaching interfaces such as USB NICs. USB network hardware may not be enumerated and available when the rc.d networking scripts run. Eventually the USB attachment completes and devd events cause the network initialization to happen, but by then other rc.d scripts have already failed, because services which depend on NETWORKING (such as mountcritremote) may end up running before the network is actually ready. There is an existing netwait script, but because it is dependent on NETWORKING it runs too late to prevent failure of some other rc scripts. This change flips the order so that NETWORKING depends on netwait, and netwait now depends on devd and routing (the former is needed to make interfaces appear, and the latter is needed to run the ping tests in netwait). The netwait script used to be oriented primarily towards "as soon as any host is reachable the network is fully functional", so you gave it a list of IPs to try and you could optionally name an interface and it would wait for carrier on that interface. That functionality still works the same, but now you can provide a list of interfaces to wait for and it waits until each one of them is available. The ping logic still completes as soon as the first IP on the list responds. These changes were submitted by Brenden Molloy <brendan+freebsd@bbqsrc.net> in PR 205186, and lightly modified by me to allow a list of interfaces instead of just one. PR: 205186 Relnotes: yes
* MFC r292419, r294237:ian2016-01-241-2/+10
| | | | | | Fix the clock divisor calc for imx6 sdcard bus speed. Quick exit after setting the clock control register.
* MFC r291149, r291367:ian2016-01-245-16/+46
| | | | | | | | | | | | | | Update the imx5/imx6 cpu_reset() implementation based on a new understanding of the SRS (software reset) bit in the watchdog control register. Despite what the manual seems to imply, this bit DOES trigger an immediate reset, as opposed to simply flagging the type of reset as software-triggered. Rename sysctl node hw.imx6 to hw.imx. Move its definition to imx_machdep.c so that code shared between imx5 and imx6 can work with OIDs under that node. Add last_reset_status (integer) and last_reset_reason (string) OIDs that provide info about the last chip reset (power-on, software reset, watchdog timeout).
* MFC r289618, r290316:ian2016-01-244-8/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | Fix printf format to allow for bus_size_t not being u_long on all platforms. Fix an alignment check that is wrong in half the busdma implementations. This will enable the elimination of a workaround in the USB driver that artifically allocates buffers twice as big as they need to be (which actually saves memory for very small buffers on the buggy platforms). When deciding how to allocate a dma buffer, armv4, armv6, mips, and x86/iommu all correctly check for the tag alignment <= maxsize as enabling simple uma/malloc based allocation. Powerpc, sparc64, x86/bounce, and arm64/bounce were all checking for alignment < maxsize; on those platforms when alignment was equal to the max size it would fall back to page-based allocators even for very small buffers. This change makes all platforms use the <= check. It should be noted that on all platforms other than arm[v6] and mips, this check is relying on undocumented behavior in malloc(9) that if you allocate a block of a given size it will be aligned to the next larger power-of-2 boundary. There is nothing in the malloc(9) man page that makes that explicit promise (but the busdma code has been relying on this behavior all along so I guess it works). Arm and mips code uses the allocator in kern/subr_busdma_buffalloc.c, which does explicitly implement this promise about size and alignment. Other platforms probably should switch to the aligned allocator.
* MFC r289727:ian2016-01-241-37/+120
| | | | | | | | | | | | | | | | | | | | Add FDT compatibility to the icee driver. The FDT bindings for eeprom parts don't include any metadata about the device other than the part name encoded in the compatible property. Instead, a driver is required to have a compiled-in table of information about the various parts (page size, device capacity, addressing scheme). So much for FDT being an abstract description of hardware characteristics, huh? In addition to the FDT-specific changes, this also switches to using the newer iicbus_transfer_excl() mechanism which holds bus ownership for the duration of the transfer. Previously this code held the bus across all the transfers needed to complete the user's IO request, which could be up to 128KB of data which might occupy the bus for 10-20 seconds. Now the bus will be released and re-aquired between every page-sized (8-256 byte) transfer, making this driver a much nicer citizen on the i2c bus. The hint-based configuration mechanism is still in place for non-FDT systems.
* MFC r289726:ian2016-01-242-0/+17
| | | | | | | Add iicbus_transfer_excl(), a helper routine to do an i2c bus transaction while holding exclusive ownership of the bus. This is the routine most slave drivers should use unless they have a need to acquire and hold the bus across a series of related operations that involves multiple transfers.
* MFC r289704:ian2016-01-243-4/+8
| | | | | | | | | | | Fix parsing of I2C addresses properties in fdt data. I2C address is represented in 7-bits format in DT files, but system expect it in 8-bit format. Also, fix two drivers that locally hack around this bug. This includes a direct-commit change to the beaglebone dts data in the 10-stable branch to adjust the i2c slave addresses directly. In -current the equivelent change happened with a switch from homegrown to standard fdt data.
* MFC r289619:ian2016-01-241-2/+1
| | | | | Follow the advice of the misplaced comment and don't access the map struct after freeing it. Remove the comment whose uselessness has been revealed.
* MFH (r263234, r263691, r266465, r290671, r290672, r290673, r290674,des2016-01-2453-22220/+152
| | | | | | r294320, r294322, r294324, r294330, r294469, r294494, r294466) Reduce diffs to head in preparation for removing HPN and None.
* MFC r293073:ngie2016-01-248-107/+67
| | | | | | | | | | - Use attach_md instead of hardcoding md(4) provider unit numbers - Implement a gmirror_test_cleanup function, which in turn calls geom_test_cleanup to clean up all md(4) providers allocated in the test run. - Remove duplicate logic in test scripts for removing md(4) providers. - Don't create files in /tmp (outside the kyua sandbox); use the current directory instead
OpenPOWER on IntegriCloud