ƒ¶8256348 103 354 1664 261 314 238 1483 436 581 531 1010 776 735 1897 1048 328 309 256 297 173 184 163 179 362 226 544 181 99 233 166 11269 582 181 240 11278 291 116 341 345 518 358 762 442 447 199 212 220 109 150 141 136 137 349 137 147 135 131 167 215 294 164 249 195 153 200 510 108 516 131 136 110 109 113 165 110 176 627 110 637 162 116 533 133 299 153 476 168 196 148 151 128 245 159 410 99 128 975 110 131 156 214 392 187 224 K 10 svn:author V 6 dteske K 8 svn:date V 27 2013-10-11T21:23:44.617128Z K 7 svn:log V 258 Remove the dumpdev configuration dialog, merge it into the regular services configuration and enable it by default. Committed with slight change to menu text for length and content. Submitted by: Allan Jude Approved by: re (glebius) END K 10 svn:author V 7 asomers K 8 svn:date V 27 2013-10-11T21:24:33.625300Z K 7 svn:log V 1566 Miscellaneous bug fixes in zfsd * Created a new abstract Reader class that provides a common interface to read from both file descriptors and std:istreams, implemented as separate derived classes FDReader and IstreamReader. Changed EventBuffer to get its input from a Reader. Changed CaseFile::DeSerializeFile to open case files as ifstreams instead of as file descriptors. * Eliminated ZFSDaemon::ConnectToDevd's call to set the socket to nonblocking mode. Instead, use an API that never attempts to read more data than is available. EventBuffer::Fill() no longer ignore EAGAIN, which shouldn't happen now that the socket blocks. * Fix two file leaks * Fix file leak in CaseFile::Serialize(): open() without close() * Fix potential file leak in DeSerializeFile(): The exception handler for ZfsdException did not close the open case file. This code path was probably not exercised. * Fix four memory leaks * CaseFile::DeSerialize() was freeing its dirent structure when it had entries, but not when the directory was empty * zfsd did not purge case files on exit. This isn't really a problem because the memory won't leak until the program quits, but it clutters valgrind's output. * ZfsDaemon::RescanSystem() wasn't deleting newly created events after processing them. * DeSerializeFile(): an ifstream was closed() instead of deleted. * Miscellaneous style changes. Submitted by: asomers Approved by: ken (mentor) Sponsored by: Spectra Logic Corporation END K 10 svn:author V 6 grehan K 8 svn:date V 27 2013-10-11T21:30:27.507044Z K 7 svn:log V 165 Fix vmbus channel memory leak where incorrect length parameter was being passed to contigfree(). Submitted by: Microsoft hyperv dev team Approved by: re@ (glebius) END K 10 svn:author V 7 asomers K 8 svn:date V 27 2013-10-11T21:41:07.320597Z K 7 svn:log V 217 cddl/sbin/zfsd/callout.cc Restore the doxygen file header that was accidentally left out of rev 224922. No functional changes. Submitted by: gibbs Approved by: ken (mentor) Sponsored by: Spectra Logic Corporation END K 10 svn:author V 6 grehan K 8 svn:date V 27 2013-10-11T21:47:17.246612Z K 7 svn:log V 142 MFC r256350 Fix vmbus channel memory leak where incorrect length parameter was being passed to contigfree(). Approved by: re@ (glebius) END K 10 svn:author V 7 asomers K 8 svn:date V 27 2013-10-11T21:50:04.324995Z K 7 svn:log V 1385 Fix a bug in zfsd whereby it won't degrade or fault a drive if the devd socket gets HUPed after the drive's last error. The key was to not discard case files when the socket gets HUPed, because doing so drops their callouts. * When calling CaseFile::PurgeAll (such as happens after the DevD socket gets HUPed), serialize case files before purging them. That way, they can be read back in after the connection to devd is restored and proessing may continue. * Added Callout::TimeRemaining to calculate how much time until any given callout expires. * When registering callouts, compute the timeout value based on the event's timestamp, not the present time. * In CaseFile::Serialize, serialize both m_events and m_tentativeEvents. Tentative events will be prefixed with "tentative " in the serialized file. * In DeSerializeFile, push tentative events and regular events into the corresponding m_events or m_tentativeEvents, as appropriate. * ExtractEvents will timestamp each incoming event with a timestamp=seconds_since_epoch nvpair, if not already present. Added a DevCtlEvent::getTimestamp method to read it. * style: in ZfsDaemon::EventLoop changed fds->XXX to fds[0]. to emphase that fds is an array. * A few minor typo fixes in comments. Submitted by: asomers Approved by: ken (mentor) Sponsored by: Spectra Logic Corporation END K 10 svn:author V 7 asomers K 8 svn:date V 27 2013-10-11T21:55:12.898299Z K 7 svn:log V 339 cddl/sbin/zfsd/callout.cc: cddl/sbin/zfsd/callout.h: cddl/sbin/zfsd/case_file.cc: cddl/sbin/zfsd/case_file.h: cddl/sbin/zfsd/dev_ctl_event.h: cddl/sbin/zfsd/zfsd.cc: cddl/sbin/zfsd/zfsd.h: Style and spelling in comments fixes. No functional changes. Submitted by: gibbs Approved by: ken (mentor) Sponsored by: Spectra Logic Corporation END K 10 svn:author V 7 asomers K 8 svn:date V 27 2013-10-11T22:00:54.694917Z K 7 svn:log V 484 Modify the parsing of device control attach and detach events to tolerate the timestamp key<=>value pair added to all events in changeset 256353. cddl/sbin/zfsd/dev_ctl_event.cc: o In DevCtlEvent::ParseEventString(), remove code that verified that attach and detach events contained no trailing key<=>value pairs after the "parent" field. o Fix whitespace/style error in an if statement. Submitted by: gibbs Approved by: ken (mentor) Sponsored By: Spectra Logic Corporation END K 10 svn:author V 7 asomers K 8 svn:date V 27 2013-10-11T22:19:45.812150Z K 7 svn:log V 434 General cleanup to facilitate unit testing. The unit tests will be committed separately. cddl/sbin/zfsd/zfsd.cc cddl/sbin/zfsd/zfsd_main.cc cddl/sbin/zfsd/Makefile Split main() into a separate file. cddl/sbin/zfsd/callout.cc cddl/sbin/zfsd/zfsd_exception.h cddl/sbin/zfsd/zfsd_exception.cc Removed dead code and de-inlined functions. Submitted by: alans Approved by: ken (mentor) Sponsored by: Spectra Logic Corporation END K 10 svn:author V 7 asomers K 8 svn:date V 27 2013-10-11T22:44:15.608076Z K 7 svn:log V 913 zfsd will now try to activate a spare, if one is available, when a resource dissapears. Other functionality, such as detaching the spare when the original device returns, is TBD. cddl/sbin/zfsd/vdev_iterator.h cddl/sbin/zfsd/vdev_iterator.cc cddl/sbin/zfsd/zpool_list.cc cddl/sbin/zfsd/dev_ctl_event.h cddl/sbin/zfsd/case_file.h cddl/sbin/zfsd/case_file.cc cddl/sbin/zfsd/vdev.h cddl/sbin/zfsd/vdev.cc Created a new Guid class that can have a None value. Modified the Vdev class to be able to represent available spares, which do not have pool or vdev guids. cddl/sbin/zfsd/case_file.h cddl/sbin/zfsd/case_file.cc Abstract device replacement into the CaseFile::Replace method, which is used by both ActivateSpare and replace by physical path. Try to active a hotspare whenever a vdev dissappears. Submitted by: asomers Approved by: ken (mentor) Sponsored by: Spectra Logic Corporation END K 10 svn:author V 7 asomers K 8 svn:date V 27 2013-10-11T22:54:02.711805Z K 7 svn:log V 679 Miscellaneous bug fixes in zfsd. cddl/sbin/zfsd/zfsd.cc Properly handle POLLHUP, POLLER, and EINTR on the devd socket. Ignore POLLHUP led to zfsd spinning the cpu. cddl/sbin/zfsd/case_file.cc: cddl/sbin/zfsd/dev_ctl_event.cc: Use a constant format string so that syslog() cannot be confused by random '%' characters in the string we are logging. Fixes a warning with Clang. cddl/sbin/zfsd/zfsd.cc: In EventBuffer::ExtractEvent(), add a missing argument to one syslog() invocation and specify that an integer is a size_t in another. Fixes warnings in Clang. Submitted by: asomers, gibbs Approved by: ken (mentor) Sponsored by: Spectra Logic Corporation END K 10 svn:author V 7 asomers K 8 svn:date V 27 2013-10-11T23:02:46.302429Z K 7 svn:log V 638 Zfsd will now activate a spare when it gets added to an already degraded pool. cddl/sbin/zfsd/case_file.cc * Keep a casefile for a removed drive open if it can't be immediately resolved by activating a spare. * Add a log message when degrading vdevs. cddl/sbin/zfsd/dev_ctl_event.cc * Fix replaying log messages in response to a config sync event. The event's name is different under FreeBSD than under Illumos. * Fix two printf formatting bugs in the log messages of EventBuffer::ExtractEvent(). Submitted by: asomers Approved by: ken (mentor) Sponsored by: Spectra Logic Corporation END K 10 svn:author V 7 asomers K 8 svn:date V 27 2013-10-11T23:11:33.047940Z K 7 svn:log V 1799 Style, organization, and syntax improvements to zfsd. cddl/sbin/zfsd/guid.cc: cddl/sbin/zfsd/guid.h: cddl/sbin/zfsd/vdev.h: cddl/sbin/zfsd/vdev.cc: cddl/sbin/zfsd/Makefile: o Since GUIDs pertain to more than just vdevs, move its implementation out into its own file. No functional changes. cddl/sbin/zfsd/case_file.cc: cddl/sbin/zfsd/zfsd.cc: cddl/sbin/zfsd/dev_ctl_event.cc: o Local varables declared in the same block are aligned by their first character. cddl/sbin/zfsd/case_file.cc: cddl/sbin/zfsd/zfsd.cc: cddl/sbin/zfsd/dev_ctl_event.cc: o Function arguments wrap to the first column after the function's opening '('. o syslog strings referencing a method use the fully qualified method name. o There are no spaces after '(' or before ')' in conditionals. o Boolean operators in conditionals are aligned on the right side and indented based on the level of their operation. o Cache return values in local variable to avoid the need to compress whitespace to make lines fit in 80 cols. o There is one newline between function declarations. cddl/sbin/zfsd/vdev.h: cddl/sbin/zfsd/vdev.cc: o Wrap comments at 76 cols (i.e. what fmt does by default). o Method names start with a capital letter. o Implementations are never inlined within a class definition. This just encourages consumers of an interface to depend unnecessarily upon the implementation. cddl/sbin/zfsd/zfsd.cc: o Simple checks in conditionals (like '==' and '!=') do not require extra parenthesis. cddl/sbin/zfsd/dev_ctl_event.cc: o Use a constant format string so that syslog() cannot be confused by random '%' characters in the string we are logging. Submitted by: gibbs Approved by: ken (mentor) Sponsored by: Spectra Logic Corporation END K 10 svn:author V 6 dteske K 8 svn:date V 27 2013-10-11T23:12:05.026310Z K 7 svn:log V 952 MFC revisions 256321-256323,256331,256333,256335,256343: Bring in a new zfsboot auto script for performing automatic setup of a boot pool (optionally encrypted) with many other options, validations, features. Originally submitted by Allan Jude; modified in collaboration. MFC revisions 256325,256330,256345: Rewrite the keymap selection menu to display keymaps and provide a test mechanism. Test mechanism originally submitted by Warren Block; modified. MFC r256347: Prominently display "Wireless" for each wireless network interface. Part of PR bin/161547; submitted by Warren Block; slightly modified. MFC r256348: Remove the dumpdev configuration dialog, merge it into the regular services configuration and enable it by default. Originally submitted by Allan Jude; slightly modified. PR: bin/161547 Submitted by: Allan Jude, Warren Block In collaboration with: Allan Jude Approved by: re (glebius) END K 10 svn:author V 6 grehan K 8 svn:date V 27 2013-10-12T00:32:34.844553Z K 7 svn:log V 232 Fix a lock-order reversal in the net driver by dropping the lock and holding a reference prior to calling further into the hyperv stack. Added missing FreeBSD idents. Submitted by: Microsoft hyperv dev team Approved by: re@ (gjb) END K 10 svn:author V 6 grehan K 8 svn:date V 27 2013-10-12T00:42:41.864229Z K 7 svn:log V 213 MFC r256362 Fix a lock-order reversal in the net driver by dropping the lock and holding a reference prior to calling further into the hyperv stack. Added missing FreeBSD idents. Approved by: re@ (gjb) END K 10 svn:author V 3 gjb K 8 svn:date V 27 2013-10-12T04:35:38.647717Z K 7 svn:log V 163 MFC r256246: Remove hash generation from release.sh, as it is run as part of the 'install' target in the release/Makefile. Sponsored by: The FreeBSD Foundation END K 10 svn:author V 6 rpaulo K 8 svn:date V 27 2013-10-12T06:06:53.345690Z K 7 svn:log V 201 Remove most of the ATF tools and the _atf user. This is necessary because ATF is deprecated and it will be replaced by Kyua. Submitted by: jmmv@netbsd.org Reviewed by: Garrett Cooper Approved by: re END K 10 svn:author V 6 rpaulo K 8 svn:date V 27 2013-10-12T06:08:18.943333Z K 7 svn:log V 78 MFC 256365 Remove most of the ATF tools and the _atf user. Approved by: re END K 10 svn:author V 6 eadler K 8 svn:date V 27 2013-10-12T07:00:51.059821Z K 7 svn:log V 89 Fix the formatting for the danish keymap. Reported by: dteske Approved by: re (glebius) END K 10 svn:author V 6 eadler K 8 svn:date V 27 2013-10-12T07:39:24.211775Z K 7 svn:log V 68 MFC r256327: Fix NetBSD release number Approved by: re (glebius) END K 10 svn:author V 6 eadler K 8 svn:date V 27 2013-10-12T07:50:15.032231Z K 7 svn:log V 84 MFC r256367: Fix the formatting for the danish keymap. Approved by: re (glebius) END K 10 svn:author V 3 mav K 8 svn:date V 27 2013-10-12T09:56:09.967291Z K 7 svn:log V 269 - Take BIO lock in biodone() only when there is no completion callback set and so we should wake up thread waiting in biowait(). - Remove msleep() timeout from biowait(). It was added 11 years ago, when there was no locks used, and it should not be needed any more. END K 10 svn:author V 3 mav K 8 svn:date V 27 2013-10-12T10:26:40.415690Z K 7 svn:log V 133 Fix passing uninitialized bio_resid argument to g_trace(). Curious that I've found it during profiling by unexpected cache miss. :) END K 10 svn:author V 6 andrew K 8 svn:date V 27 2013-10-12T11:37:47.856686Z K 7 svn:log V 448 First cut at floating-point environment functions that work with both softfloat and vfp. This will be needed for places where people wish to use vfp in a softfloat world, or to help moving to the softfp ABI. With the softfp ABI the floating-point helpers may be written using the existing softfloat code. Even if they are built on vfp existing applications may be using the softfloat rounding values that will need to be translated to vfp values. END K 10 svn:author V 6 andrew K 8 svn:date V 27 2013-10-12T12:17:58.980190Z K 7 svn:log V 86 Export _libc_arm_fpu_present to allow libm to determine if the vfp is present or not. END K 10 svn:author V 7 dchagin K 8 svn:date V 27 2013-10-12T12:20:09.389032Z K 7 svn:log V 4 MFH END K 10 svn:author V 7 dchagin K 8 svn:date V 27 2013-10-12T12:23:06.044778Z K 7 svn:log V 136 Remove the deprecated VM_ALLOC_RETRY flag for the vm_page_grab(9). Replace kernel virtual address space allocation with vmem - r254025. END K 10 svn:author V 7 dchagin K 8 svn:date V 27 2013-10-12T12:34:19.512124Z K 7 svn:log V 70 According to r255219 change the cap_rights_t type in the fget() call. END K 10 svn:author V 5 markm K 8 svn:date V 27 2013-10-12T12:57:57.369147Z K 7 svn:log V 11172 Merge from project branch. Uninteresting commits are trimmed. Refactor of /dev/random device. Main points include: * Userland seeding is no longer used. This auto-seeds at boot time on PC/Desktop setups; this may need some tweeking and intelligence from those folks setting up embedded boxes, but the work is believed to be minimal. * An entropy cache is written to /entropy (even during installation) and the kernel uses this at next boot. * An entropy file written to /boot/entropy can be loaded by loader(8) * Hardware sources such as rdrand are fed into Yarrow, and are no longer available raw. ------------------------------------------------------------------------ r256240 | des | 2013-10-09 21:14:16 +0100 (Wed, 09 Oct 2013) | 4 lines Add a RANDOM_RWFILE option and hide the entropy cache code behind it. Rename YARROW_RNG and FORTUNA_RNG to RANDOM_YARROW and RANDOM_FORTUNA. Add the RANDOM_* options to LINT. ------------------------------------------------------------------------ r256239 | des | 2013-10-09 21:12:59 +0100 (Wed, 09 Oct 2013) | 2 lines Define RANDOM_PURE_RNDTEST for rndtest(4). ------------------------------------------------------------------------ r256204 | des | 2013-10-09 18:51:38 +0100 (Wed, 09 Oct 2013) | 2 lines staticize struct random_hardware_source ------------------------------------------------------------------------ r256203 | markm | 2013-10-09 18:50:36 +0100 (Wed, 09 Oct 2013) | 2 lines Wrap some policy-rich code in 'if NOTYET' until we can thresh out what it really needs to do. ------------------------------------------------------------------------ r256184 | des | 2013-10-09 10:13:12 +0100 (Wed, 09 Oct 2013) | 2 lines Re-add /dev/urandom for compatibility purposes. ------------------------------------------------------------------------ r256182 | des | 2013-10-09 10:11:14 +0100 (Wed, 09 Oct 2013) | 3 lines Add missing include guards and move the existing ones out of the implementation namespace. ------------------------------------------------------------------------ r256168 | markm | 2013-10-08 23:14:07 +0100 (Tue, 08 Oct 2013) | 10 lines Fix some just-noticed problems: o Allow this to work with "nodevice random" by fixing where the MALLOC pool is defined. o Fix the explicit reseed code. This was correct as submitted, but in the project branch doesn't need to set the "seeded" bit as this is done correctly in the "unblock" function. o Remove some debug ifdeffing. o Adjust comments. ------------------------------------------------------------------------ r256159 | markm | 2013-10-08 19:48:11 +0100 (Tue, 08 Oct 2013) | 6 lines Time to eat crow for me. I replaced the sx_* locks that Arthur used with regular mutexes; this turned out the be the wrong thing to do as the locks need to be sleepable. Revert this folly. # Submitted by: Arthur Mesh (In original diff) ------------------------------------------------------------------------ r256138 | des | 2013-10-08 12:05:26 +0100 (Tue, 08 Oct 2013) | 10 lines Add YARROW_RNG and FORTUNA_RNG to sys/conf/options. Add a SYSINIT that forces a reseed during proc0 setup, which happens fairly late in the boot process. Add a RANDOM_DEBUG option which enables some debugging printf()s. Add a new RANDOM_ATTACH entropy source which harvests entropy from the get_cyclecount() delta across each call to a device attach method. ------------------------------------------------------------------------ r256135 | markm | 2013-10-08 07:54:52 +0100 (Tue, 08 Oct 2013) | 8 lines Debugging. My attempt at EVENTHANDLER(multiuser) was a failure; use EVENTHANDLER(mountroot) instead. This means we can't count on /var being present, so something will need to be done about harvesting /var/db/entropy/... . Some policy now needs to be sorted out, and a pre-sync cache needs to be written, but apart from that we are now ready to go. Over to review. ------------------------------------------------------------------------ r256094 | markm | 2013-10-06 23:45:02 +0100 (Sun, 06 Oct 2013) | 8 lines Snapshot. Looking pretty good; this mostly works now. New code includes: * Read cached entropy at startup, both from files and from loader(8) preloaded entropy. Failures are soft, but announced. Untested. * Use EVENTHANDLER to do above just before we go multiuser. Untested. ------------------------------------------------------------------------ r256088 | markm | 2013-10-06 14:01:42 +0100 (Sun, 06 Oct 2013) | 2 lines Fix up the man page for random(4). This mainly removes no-longer-relevant details about HW RNGs, reseeding explicitly and user-supplied entropy. ------------------------------------------------------------------------ r256087 | markm | 2013-10-06 13:43:42 +0100 (Sun, 06 Oct 2013) | 6 lines As userland writing to /dev/random is no more, remove the "better than nothing" bootstrap mode. Add SWI harvesting to the mix. My box seeds Yarrow by itself in a few seconds! YMMV; more to follow. ------------------------------------------------------------------------ r256086 | markm | 2013-10-06 13:40:32 +0100 (Sun, 06 Oct 2013) | 11 lines Debug run. This now works, except that the "live" sources haven't been tested. With all sources turned on, this unlocks itself in a couple of seconds! That is no my box, and there is no guarantee that this will be the case everywhere. * Cut debug prints. * Use the same locks/mutexes all the way through. * Be a tad more conservative about entropy estimates. ------------------------------------------------------------------------ r256084 | markm | 2013-10-06 13:35:29 +0100 (Sun, 06 Oct 2013) | 5 lines Don't use the "real" assembler mnemonics; older compilers may not understand them (like when building CURRENT on 9.x). # Submitted by: Konstantin Belousov ------------------------------------------------------------------------ r256081 | markm | 2013-10-06 10:55:28 +0100 (Sun, 06 Oct 2013) | 12 lines SNAPSHOT. Simplify the malloc pools; We only need one for this device. Simplify the harvest queue. Marginally improve the entropy pool hashing, making it a bit faster in the process. Connect up the hardware "live" source harvesting. This is simplistic for now, and will need to be made rate-adaptive. All of the above passes a compile test but needs to be debugged. ------------------------------------------------------------------------ r256042 | markm | 2013-10-04 07:55:06 +0100 (Fri, 04 Oct 2013) | 25 lines Snapshot. This passes the build test, but has not yet been finished or debugged. Contains: * Refactor the hardware RNG CPU instruction sources to feed into the software mixer. This is unfinished. The actual harvesting needs to be sorted out. Modified by me (see below). * Remove 'frac' parameter from random_harvest(). This was never used and adds extra code for no good reason. * Remove device write entropy harvesting. This provided a weak attack vector, was not very good at bootstrapping the device. To follow will be a replacement explicit reseed knob. * Separate out all the RANDOM_PURE sources into separate harvest entities. This adds some secuity in the case where more than one is present. * Review all the code and fix anything obviously messy or inconsistent. Address som review concerns while I'm here, like rename the pseudo-rng to 'dummy'. # Submitted by: Arthur Mesh (the first item) ------------------------------------------------------------------------ r255319 | markm | 2013-09-06 18:51:52 +0100 (Fri, 06 Sep 2013) | 4 lines Yarrow wants entropy estimations to be conservative; the usual idea is that if you are certain you have N bits of entropy, you declare N/2. ------------------------------------------------------------------------ r255075 | markm | 2013-08-30 18:47:53 +0100 (Fri, 30 Aug 2013) | 4 lines Remove short-lived idea; thread to harvest (eg) RDRAND enropy into the usual harvest queues. It was a nifty idea, but too heavyweight. # Submitted by: Arthur Mesh ------------------------------------------------------------------------ r255071 | markm | 2013-08-30 12:42:57 +0100 (Fri, 30 Aug 2013) | 4 lines Separate out the Software RNG entropy harvesting queue and thread into its own files. # Submitted by: Arthur Mesh ------------------------------------------------------------------------ r254934 | markm | 2013-08-26 20:07:03 +0100 (Mon, 26 Aug 2013) | 2 lines Remove the short-lived namei experiment. ------------------------------------------------------------------------ r254928 | markm | 2013-08-26 19:35:21 +0100 (Mon, 26 Aug 2013) | 2 lines Snapshot; Do some running repairs on entropy harvesting. More needs to follow. ------------------------------------------------------------------------ r254927 | markm | 2013-08-26 19:29:51 +0100 (Mon, 26 Aug 2013) | 15 lines Snapshot of current work; 1) Clean up namespace; only use "Yarrow" where it is Yarrow-specific or close enough to the Yarrow algorithm. For the rest use a neutral name. 2) Tidy up headers; put private stuff in private places. More could be done here. 3) Streamline the hashing/encryption; no need for a 256-bit counter; 128 bits will last for long enough. There are bits of debug code lying around; these will be removed at a later stage. ------------------------------------------------------------------------ r254784 | markm | 2013-08-24 14:54:56 +0100 (Sat, 24 Aug 2013) | 39 lines 1) example (partially humorous random_adaptor, that I call "EXAMPLE") * It's not meant to be used in a real system, it's there to show how the basics of how to create interfaces for random_adaptors. Perhaps it should belong in a manual page 2) Move probe.c's functionality in to random_adaptors.c * rename random_ident_hardware() to random_adaptor_choose() 3) Introduce a new way to choose (or select) random_adaptors via tunable "rngs_want" It's a list of comma separated names of adaptors, ordered by preferences. I.e.: rngs_want="yarrow,rdrand" Such setting would cause yarrow to be preferred to rdrand. If neither of them are available (or registered), then system will default to something reasonable (currently yarrow). If yarrow is not present, then we fall back to the adaptor that's first on the list of registered adaptors. 4) Introduce a way where RNGs can play a role of entropy source. This is mostly useful for HW rngs. The way I envision this is that every HW RNG will use this functionality by default. Functionality to disable this is also present. I have an example of how to use this in random_adaptor_example.c (see modload event, and init function) 5) fix kern.random.adaptors from kern.random.adaptors: yarrowpanicblock to kern.random.adaptors: yarrow,panic,block 6) add kern.random.active_adaptor to indicate currently selected adaptor: root@freebsd04:~ # sysctl kern.random.active_adaptor kern.random.active_adaptor: yarrow # Submitted by: Arthur Mesh Submitted by: Dag-Erling Smørgrav , Arthur Mesh Reviewed by: des@FreeBSD.org Approved by: re (delphij) Approved by: secteam (des,delphij) END K 10 svn:author V 3 mav K 8 svn:date V 27 2013-10-12T14:21:04.193038Z K 7 svn:log V 489 Deprecate and remove old batch CCB completion mechanism xpt_batch_start() / xpt_batch_done() as not enough flexible and requiring extra locking. Instead declare new function xpt_done_direct() to allow SIM hint CAM that it holds no locks, reenterable, etc. and this request completion can be processed just now in place. The new KPI may be a bit more complicated for use by SIM then previous, but it is more effcient and allows SIM to have several completion threads (interrupt vectors). END K 10 svn:author V 6 cherry K 8 svn:date V 27 2013-10-12T14:23:33.927901Z K 7 svn:log V 86 Initialise percpu vcpu_info properly with the dpcpu api Approved by: gibbs(implicit) END K 10 svn:author V 3 des K 8 svn:date V 27 2013-10-12T14:54:25.286671Z K 7 svn:log V 147 MFH (206038,206040): add a -k option which is passed through to finger(1). Almost to the day three and a half years after the original MFC date... END K 10 svn:author V 5 markm K 8 svn:date V 27 2013-10-12T15:31:36.051857Z K 7 svn:log V 11181 Merge from project branch via main. Uninteresting commits are trimmed. Refactor of /dev/random device. Main points include: * Userland seeding is no longer used. This auto-seeds at boot time on PC/Desktop setups; this may need some tweeking and intelligence from those folks setting up embedded boxes, but the work is believed to be minimal. * An entropy cache is written to /entropy (even during installation) and the kernel uses this at next boot. * An entropy file written to /boot/entropy can be loaded by loader(8) * Hardware sources such as rdrand are fed into Yarrow, and are no longer available raw. ------------------------------------------------------------------------ r256240 | des | 2013-10-09 21:14:16 +0100 (Wed, 09 Oct 2013) | 4 lines Add a RANDOM_RWFILE option and hide the entropy cache code behind it. Rename YARROW_RNG and FORTUNA_RNG to RANDOM_YARROW and RANDOM_FORTUNA. Add the RANDOM_* options to LINT. ------------------------------------------------------------------------ r256239 | des | 2013-10-09 21:12:59 +0100 (Wed, 09 Oct 2013) | 2 lines Define RANDOM_PURE_RNDTEST for rndtest(4). ------------------------------------------------------------------------ r256204 | des | 2013-10-09 18:51:38 +0100 (Wed, 09 Oct 2013) | 2 lines staticize struct random_hardware_source ------------------------------------------------------------------------ r256203 | markm | 2013-10-09 18:50:36 +0100 (Wed, 09 Oct 2013) | 2 lines Wrap some policy-rich code in 'if NOTYET' until we can thresh out what it really needs to do. ------------------------------------------------------------------------ r256184 | des | 2013-10-09 10:13:12 +0100 (Wed, 09 Oct 2013) | 2 lines Re-add /dev/urandom for compatibility purposes. ------------------------------------------------------------------------ r256182 | des | 2013-10-09 10:11:14 +0100 (Wed, 09 Oct 2013) | 3 lines Add missing include guards and move the existing ones out of the implementation namespace. ------------------------------------------------------------------------ r256168 | markm | 2013-10-08 23:14:07 +0100 (Tue, 08 Oct 2013) | 10 lines Fix some just-noticed problems: o Allow this to work with "nodevice random" by fixing where the MALLOC pool is defined. o Fix the explicit reseed code. This was correct as submitted, but in the project branch doesn't need to set the "seeded" bit as this is done correctly in the "unblock" function. o Remove some debug ifdeffing. o Adjust comments. ------------------------------------------------------------------------ r256159 | markm | 2013-10-08 19:48:11 +0100 (Tue, 08 Oct 2013) | 6 lines Time to eat crow for me. I replaced the sx_* locks that Arthur used with regular mutexes; this turned out the be the wrong thing to do as the locks need to be sleepable. Revert this folly. # Submitted by: Arthur Mesh (In original diff) ------------------------------------------------------------------------ r256138 | des | 2013-10-08 12:05:26 +0100 (Tue, 08 Oct 2013) | 10 lines Add YARROW_RNG and FORTUNA_RNG to sys/conf/options. Add a SYSINIT that forces a reseed during proc0 setup, which happens fairly late in the boot process. Add a RANDOM_DEBUG option which enables some debugging printf()s. Add a new RANDOM_ATTACH entropy source which harvests entropy from the get_cyclecount() delta across each call to a device attach method. ------------------------------------------------------------------------ r256135 | markm | 2013-10-08 07:54:52 +0100 (Tue, 08 Oct 2013) | 8 lines Debugging. My attempt at EVENTHANDLER(multiuser) was a failure; use EVENTHANDLER(mountroot) instead. This means we can't count on /var being present, so something will need to be done about harvesting /var/db/entropy/... . Some policy now needs to be sorted out, and a pre-sync cache needs to be written, but apart from that we are now ready to go. Over to review. ------------------------------------------------------------------------ r256094 | markm | 2013-10-06 23:45:02 +0100 (Sun, 06 Oct 2013) | 8 lines Snapshot. Looking pretty good; this mostly works now. New code includes: * Read cached entropy at startup, both from files and from loader(8) preloaded entropy. Failures are soft, but announced. Untested. * Use EVENTHANDLER to do above just before we go multiuser. Untested. ------------------------------------------------------------------------ r256088 | markm | 2013-10-06 14:01:42 +0100 (Sun, 06 Oct 2013) | 2 lines Fix up the man page for random(4). This mainly removes no-longer-relevant details about HW RNGs, reseeding explicitly and user-supplied entropy. ------------------------------------------------------------------------ r256087 | markm | 2013-10-06 13:43:42 +0100 (Sun, 06 Oct 2013) | 6 lines As userland writing to /dev/random is no more, remove the "better than nothing" bootstrap mode. Add SWI harvesting to the mix. My box seeds Yarrow by itself in a few seconds! YMMV; more to follow. ------------------------------------------------------------------------ r256086 | markm | 2013-10-06 13:40:32 +0100 (Sun, 06 Oct 2013) | 11 lines Debug run. This now works, except that the "live" sources haven't been tested. With all sources turned on, this unlocks itself in a couple of seconds! That is no my box, and there is no guarantee that this will be the case everywhere. * Cut debug prints. * Use the same locks/mutexes all the way through. * Be a tad more conservative about entropy estimates. ------------------------------------------------------------------------ r256084 | markm | 2013-10-06 13:35:29 +0100 (Sun, 06 Oct 2013) | 5 lines Don't use the "real" assembler mnemonics; older compilers may not understand them (like when building CURRENT on 9.x). # Submitted by: Konstantin Belousov ------------------------------------------------------------------------ r256081 | markm | 2013-10-06 10:55:28 +0100 (Sun, 06 Oct 2013) | 12 lines SNAPSHOT. Simplify the malloc pools; We only need one for this device. Simplify the harvest queue. Marginally improve the entropy pool hashing, making it a bit faster in the process. Connect up the hardware "live" source harvesting. This is simplistic for now, and will need to be made rate-adaptive. All of the above passes a compile test but needs to be debugged. ------------------------------------------------------------------------ r256042 | markm | 2013-10-04 07:55:06 +0100 (Fri, 04 Oct 2013) | 25 lines Snapshot. This passes the build test, but has not yet been finished or debugged. Contains: * Refactor the hardware RNG CPU instruction sources to feed into the software mixer. This is unfinished. The actual harvesting needs to be sorted out. Modified by me (see below). * Remove 'frac' parameter from random_harvest(). This was never used and adds extra code for no good reason. * Remove device write entropy harvesting. This provided a weak attack vector, was not very good at bootstrapping the device. To follow will be a replacement explicit reseed knob. * Separate out all the RANDOM_PURE sources into separate harvest entities. This adds some secuity in the case where more than one is present. * Review all the code and fix anything obviously messy or inconsistent. Address som review concerns while I'm here, like rename the pseudo-rng to 'dummy'. # Submitted by: Arthur Mesh (the first item) ------------------------------------------------------------------------ r255319 | markm | 2013-09-06 18:51:52 +0100 (Fri, 06 Sep 2013) | 4 lines Yarrow wants entropy estimations to be conservative; the usual idea is that if you are certain you have N bits of entropy, you declare N/2. ------------------------------------------------------------------------ r255075 | markm | 2013-08-30 18:47:53 +0100 (Fri, 30 Aug 2013) | 4 lines Remove short-lived idea; thread to harvest (eg) RDRAND enropy into the usual harvest queues. It was a nifty idea, but too heavyweight. # Submitted by: Arthur Mesh ------------------------------------------------------------------------ r255071 | markm | 2013-08-30 12:42:57 +0100 (Fri, 30 Aug 2013) | 4 lines Separate out the Software RNG entropy harvesting queue and thread into its own files. # Submitted by: Arthur Mesh ------------------------------------------------------------------------ r254934 | markm | 2013-08-26 20:07:03 +0100 (Mon, 26 Aug 2013) | 2 lines Remove the short-lived namei experiment. ------------------------------------------------------------------------ r254928 | markm | 2013-08-26 19:35:21 +0100 (Mon, 26 Aug 2013) | 2 lines Snapshot; Do some running repairs on entropy harvesting. More needs to follow. ------------------------------------------------------------------------ r254927 | markm | 2013-08-26 19:29:51 +0100 (Mon, 26 Aug 2013) | 15 lines Snapshot of current work; 1) Clean up namespace; only use "Yarrow" where it is Yarrow-specific or close enough to the Yarrow algorithm. For the rest use a neutral name. 2) Tidy up headers; put private stuff in private places. More could be done here. 3) Streamline the hashing/encryption; no need for a 256-bit counter; 128 bits will last for long enough. There are bits of debug code lying around; these will be removed at a later stage. ------------------------------------------------------------------------ r254784 | markm | 2013-08-24 14:54:56 +0100 (Sat, 24 Aug 2013) | 39 lines 1) example (partially humorous random_adaptor, that I call "EXAMPLE") * It's not meant to be used in a real system, it's there to show how the basics of how to create interfaces for random_adaptors. Perhaps it should belong in a manual page 2) Move probe.c's functionality in to random_adaptors.c * rename random_ident_hardware() to random_adaptor_choose() 3) Introduce a new way to choose (or select) random_adaptors via tunable "rngs_want" It's a list of comma separated names of adaptors, ordered by preferences. I.e.: rngs_want="yarrow,rdrand" Such setting would cause yarrow to be preferred to rdrand. If neither of them are available (or registered), then system will default to something reasonable (currently yarrow). If yarrow is not present, then we fall back to the adaptor that's first on the list of registered adaptors. 4) Introduce a way where RNGs can play a role of entropy source. This is mostly useful for HW rngs. The way I envision this is that every HW RNG will use this functionality by default. Functionality to disable this is also present. I have an example of how to use this in random_adaptor_example.c (see modload event, and init function) 5) fix kern.random.adaptors from kern.random.adaptors: yarrowpanicblock to kern.random.adaptors: yarrow,panic,block 6) add kern.random.active_adaptor to indicate currently selected adaptor: root@freebsd04:~ # sysctl kern.random.active_adaptor kern.random.active_adaptor: yarrow # Submitted by: Arthur Mesh Submitted by: Dag-Erling Smørgrav , Arthur Mesh Reviewed by: des@FreeBSD.org Approved by: re (delphij) Approved by: secteam (des,delphij) END K 10 svn:author V 3 dim K 8 svn:date V 27 2013-10-12T15:56:13.106676Z K 7 svn:log V 198 MFC r256030: Pull in r189644 from upstream llvm trunk: Add ms_abi and sysv_abi attribute handling. Based on a patch by Benno Rice! This will help to develop EFI support. Verified by: benno END K 10 svn:author V 5 markm K 8 svn:date V 27 2013-10-12T16:03:31.598545Z K 7 svn:log V 22 MFC - tracking commit END K 10 svn:author V 3 dim K 8 svn:date V 27 2013-10-12T16:11:57.857903Z K 7 svn:log V 248 MFC r255931: Fix a bug in ld, where indirect symbols are not handled properly during linking of a shared library, leading to corrupt indexes in the dynamic symbol table. This should fix the multimedia/ffmpegthumbnailer port. Reported by: swills END K 10 svn:author V 3 hrs K 8 svn:date V 27 2013-10-12T17:27:59.502904Z K 7 svn:log V 252 - Add mount.fdescfs parameter to jail(8). This is similar to mount.devfs but mounts fdescfs. The mount happens just after mount.devfs. - rc.d/jail now displays whole error message from jail(8) when a jail fails to start. Approved by: re (gjb) END K 10 svn:author V 3 ian K 8 svn:date V 27 2013-10-12T17:31:21.207883Z K 7 svn:log V 425 MFC r255775 r255796 r255807 r255930 r255929 r255957: Create a separate script to generate osreldate.h rather than sourcing newvers.sh into a temporary subshell with inline make rules. Fixes PR 160646. Allow the path to the system source directory to be passed in to newvers.sh. Pass it in from include/Makefile. If it isn't passed in, fall back to the old logic of using dirname $0. Fixes PR 174422. PR: 160646 174422 END K 10 svn:author V 3 hrs K 8 svn:date V 27 2013-10-12T17:46:13.431398Z K 7 svn:log V 265 MFC 256385: - Add mount.fdescfs parameter to jail(8). This is similar to mount.devfs but mounts fdescfs. The mount happens just after mount.devfs. - rc.d/jail now displays whole error message from jail(8) when a jail fails to start. Approved by: re (gjb) END K 10 svn:author V 3 mav K 8 svn:date V 27 2013-10-12T18:24:52.619868Z K 7 svn:log V 669 Set of optimizations for ahci(4), respecting CAM improvements: - Add tunable hint.ahci.X.direct to control when to use direct request completion and when prefer to use CAM threads. Set default based on number of supported MSI vectors and implemented ports. - Move heavy AHCI_P_IS read out of the lock to reduce its scope. This reduces lock congestion spinning under high IOPS from 10% to almost zero. - Create several optimized interrupt handlers for different configurations to avoid unneeded branching there at run time. At this point I can totally max out 6 SSDs on ICH10 AHCI doing 640K IOPS, while having only 30% of CPU load on 2x6x2 CPU Xeon E5645 system. END K 10 svn:author V 6 grehan K 8 svn:date V 27 2013-10-12T19:31:19.752166Z K 7 svn:log V 346 Implement the virtio block 'get-ident' operation. This eliminates the annoying verbose boot error of the form g_handleattr: vtbd0 bio_length 24 len 28 -> EFAULT The ident returned by bhyve is a text string 'BHYVE-XXXX-XXXX', where the X's are the first bytes of the md5 hash of the backing filename. Reviewed by: neel Approved by: re (gjb) END K 10 svn:author V 6 grehan K 8 svn:date V 27 2013-10-12T19:41:35.893219Z K 7 svn:log V 351 MFC r256389 Implement the virtio block 'get-ident' operation. This eliminates the annoying verbose boot error of the form g_handleattr: vtbd0 bio_length 24 len 28 -> EFAULT The ident returned by bhyve is a text string 'BHYVE-XXXX-XXXX', where the X's are the first bytes of the md5 hash of the backing filename. Approved by: re (gjb) END K 10 svn:author V 6 dteske K 8 svn:date V 27 2013-10-12T19:52:27.047258Z K 7 svn:log V 103 Fix signed integer overflow detection in f_expand_number() of strings.subr. Approved by: re (glebius) END K 10 svn:author V 6 dteske K 8 svn:date V 27 2013-10-12T19:54:12.135428Z K 7 svn:log V 116 MFC r256391: Fix signed integer overflow detection in f_expand_number() of strings.subr. Approved by: re (glebius) END K 10 svn:author V 3 gjb K 8 svn:date V 27 2013-10-12T20:01:36.119601Z K 7 svn:log V 127 Update stable/10 to -BETA1 as part of the 10.0-RELEASE cycle. Approved by: re (implicit) Sponsored by: The FreeBSD Foundation END K 10 svn:author V 6 bryanv K 8 svn:date V 27 2013-10-12T22:36:01.973307Z K 7 svn:log V 14 IFC @ r256393 END K 10 svn:author V 6 bryanv K 8 svn:date V 27 2013-10-12T22:39:34.520644Z K 7 svn:log V 55 Add sglist_append_bio(9) to append a struct bio's data END K 10 svn:author V 6 bryanv K 8 svn:date V 27 2013-10-12T22:40:26.632028Z K 7 svn:log V 46 Remove an unnecessary variable initialization END K 10 svn:author V 6 bryanv K 8 svn:date V 27 2013-10-12T22:41:28.441759Z K 7 svn:log V 41 Add unmapped IO support to virtio_blk(4) END K 10 svn:author V 6 bryanv K 8 svn:date V 27 2013-10-12T22:42:18.281715Z K 7 svn:log V 42 Add unmapped IO support to virtio_scsi(4) END K 10 svn:author V 5 markm K 8 svn:date V 27 2013-10-12T23:15:06.644122Z K 7 svn:log V 254 Fix a problem where the priority order of yarrow,dummy can get reversed to dummy,yarrow and break the usability of /dev/random. Fix the name of the tunable to something logical that 'sysctl kern.random' emits. Submitted by: des@ (the idea, code by me) END K 10 svn:author V 5 markm K 8 svn:date V 27 2013-10-12T23:19:01.719347Z K 7 svn:log V 43 Make sure a vaiable is always initialised. END K 10 svn:author V 3 sjg K 8 svn:date V 27 2013-10-12T23:31:56.752814Z K 7 svn:log V 55 Report the number of dirdeps so we can track progress. END K 10 svn:author V 3 sjg K 8 svn:date V 27 2013-10-12T23:32:48.544803Z K 7 svn:log V 43 Make sure we trigger generation of headers END K 10 svn:author V 3 sjg K 8 svn:date V 27 2013-10-12T23:33:36.477241Z K 7 svn:log V 39 Tell cpp to only look where we told it END K 10 svn:author V 3 sjg K 8 svn:date V 27 2013-10-12T23:37:47.233687Z K 7 svn:log V 75 In meta mode touch targets like copies so we don't needlessly repeat them. END K 10 svn:author V 3 sjg K 8 svn:date V 27 2013-10-12T23:40:17.625145Z K 7 svn:log V 122 When TARGET_SPEC_VARS is non-trivial, we need to apply the same filtering when setting _machines as we do to _build_dirs. END K 10 svn:author V 3 sjg K 8 svn:date V 27 2013-10-12T23:42:55.054510Z K 7 svn:log V 201 Some re-org and cleanup. Make it easier to subst some dirs in dirdeps with variables. Tweak M_dep_qual_fixes esp. for pseudo machines like "host" so that it can DTRT against _machines (in dirdeps.mk). END K 10 svn:author V 3 sjg K 8 svn:date V 27 2013-10-12T23:44:50.786583Z K 7 svn:log V 72 Sync-up with what's being use in Juniper for building ATF in meta mode. END K 10 svn:author V 3 sjg K 8 svn:date V 27 2013-10-12T23:46:41.042418Z K 7 svn:log V 156 Some cleanup and re-org. Also update CFLAGS_LAST.clang to match new compiler version. Add BOOT_MACHINE_DIR (so we can stick to unqualified Makefile.depend) END K 10 svn:author V 3 sjg K 8 svn:date V 27 2013-10-12T23:48:21.679841Z K 7 svn:log V 102 Add more vars we subst into DIRDEPS eg. BOOT_MACHINE_DIR and KERNEL_NAME. Make it easier to add more. END K 10 svn:author V 3 sjg K 8 svn:date V 27 2013-10-12T23:49:26.766385Z K 7 svn:log V 61 Avoid errors when MACHINE is a pseudo machine like "common". END K 10 svn:author V 3 sjg K 8 svn:date V 27 2013-10-12T23:51:00.101407Z K 7 svn:log V 107 Ensure that $PROG isn't make .PHONY Also add some additional control over staging (for use by bsd.test.mk) END K 10 svn:author V 5 markm K 8 svn:date V 27 2013-10-13T00:10:48.079411Z K 7 svn:log V 415 There is an issue (not seen in our testing) where "yarrow" and "dummy" switch priorities, and the users are left with no usable /dev/random. The fix assigns priories to these and gives the users what they want. The override tuneable has a stupid name (blame me!) and this fixes it to be something that 'sysctl kern.random' emits and is the right thing to set. Approved by: re (gjb) Approved by: secteam (cperciva) END K 10 svn:author V 5 benno K 8 svn:date V 27 2013-10-13T00:13:29.008714Z K 7 svn:log V 14 MFH @ r256411 END K 10 svn:author V 5 markm K 8 svn:date V 27 2013-10-13T00:13:57.011248Z K 7 svn:log V 421 MFC: There is an issue (not seen in our testing) where "yarrow" and "dummy" switch priorities, and the users are left with no usable /dev/random. The fix assigns priories to these and gives the users what they want. The override tuneable has a stupid name (blame me!) and this fixes it to be something that 'sysctl kern.random' emits and is the right thing to set. Approved by: re (gjb) Approved by: secteam (cperciva) END K 10 svn:author V 3 sjg K 8 svn:date V 27 2013-10-13T00:17:24.973227Z K 7 svn:log V 39 Ensure _objroot is correctly formatted END K 10 svn:author V 3 sjg K 8 svn:date V 27 2013-10-13T00:19:31.619942Z K 7 svn:log V 44 Latest version. Report better parse errors. END K 10 svn:author V 3 sjg K 8 svn:date V 27 2013-10-13T00:20:12.791044Z K 7 svn:log V 18 We want an objdir END K 10 svn:author V 3 sjg K 8 svn:date V 27 2013-10-13T00:22:44.447384Z K 7 svn:log V 17 New dependencies END K 10 svn:author V 3 sjg K 8 svn:date V 27 2013-10-13T00:24:00.463205Z K 7 svn:log V 21 Updated dependencies END K 10 svn:author V 3 gjb K 8 svn:date V 27 2013-10-13T00:24:44.849889Z K 7 svn:log V 73 Forced commit to mark the real -BETA1 point. Approved by: re (implicit) END K 10 svn:author V 3 sjg K 8 svn:date V 27 2013-10-13T00:27:34.046568Z K 7 svn:log V 18 We do want objdir END K 10 svn:author V 3 sjg K 8 svn:date V 27 2013-10-13T00:29:14.365068Z K 7 svn:log V 84 We need an extra -I from lib/msun and we need to supress dependency on it - cyclic. END K 10 svn:author V 5 gibbs K 8 svn:date V 27 2013-10-13T02:34:20.390297Z K 7 svn:log V 532 Allow FreeBSD to be booted from CDROM media on XenServer 6.2 and prior releases. Submitted by: Roger Pau Monné Sponsored by: Citrix Systems R&D Reviewed by: gibbs Approved by: re (gjb) sys/dev/xen/blkfront/blkfront.c: On XenServer versions up to an including 6.2, paravirtualized CDROM support is broken. When running in an HVM domain, ignore paravirtualized instances of CDROM media, and instead rely on native drivers attaching to emulated hardware. This functions correctly on all currently known Xen based platforms. END K 10 svn:author V 3 sjg K 8 svn:date V 27 2013-10-13T02:35:19.678446Z K 7 svn:log V 18 Merge head@256284 END K 10 svn:author V 5 gibbs K 8 svn:date V 27 2013-10-13T02:41:30.199784Z K 7 svn:log V 542 Centralize the detection logic for the Hyper-V hypervisor. Submitted by: Roger Pau Monné Sponsored by: Citrix Systems R&D Reviewed by: gibbs, grehan Approved by: re (gjb) sys/sys/systm.h: * Add a new VM_GUEST type, VM_GUEST_HV (HyperV guest). sys/dev/hyperv/vmbus/hv_vmbus_drv_freebsd.c: sys/dev/hyperv/vmbus/hv_hv.c: sys/dev/hyperv/stordisengage/hv_ata_pci_disengage.c: * Set vm_guest to VM_GUEST_HV and use that on other HyperV related devices instead of cloning the cpuid hypervisor check. * Cleanup the vmbus_identify function. END K 10 svn:author V 5 markm K 8 svn:date V 27 2013-10-13T09:27:49.507339Z K 7 svn:log V 68 Complete the module; some files were missing. This now is loadable. END K 10 svn:author V 5 markm K 8 svn:date V 27 2013-10-13T09:33:48.345140Z K 7 svn:log V 22 MFC - tracking commit END K 10 svn:author V 3 mav K 8 svn:date V 27 2013-10-13T10:22:33.968725Z K 7 svn:log V 440 Fix several real and hypothetical cases around device hot-plug: - Do not drop potentially last periph reference from the adastart(). That caused use-after-free condition in scheduling code. Add KASSERT() into camperiphfree() to simplify debugging if the issue return some day. - Rework daclose() and adaclose() to properly cleanup even if the periph was invalidated. - Add return status checks for number of cam_periph_acquire() calls. END K 10 svn:author V 3 mav K 8 svn:date V 27 2013-10-13T13:47:49.225531Z K 7 svn:log V 41 Add unmapped I/O support to GEOM STRIPE. END K 10 svn:author V 3 gjb K 8 svn:date V 27 2013-10-13T15:49:50.009807Z K 7 svn:log V 206 Reduce disc1.iso image size by installing the userland with the WITHOUT_PROFILE=1 option set, trimming 56MB from the image. Approved by: re (glebius) MFC after: 1 week Sponsored by: The FreeBSD Foundation END K 10 svn:author V 3 mav K 8 svn:date V 27 2013-10-13T19:02:16.828694Z K 7 svn:log V 61 Add unmapped I/O and direct dispatch support to GEOM CONCAT. END K 10 svn:author V 5 andre K 8 svn:date V 27 2013-10-13T19:25:23.435636Z K 7 svn:log V 381 Remove unused zone arguments from m_init(). Merge _m_align(), _mh_align(), and _mext_align into m_align() which already handles all these cases. Optimize m_prepend() by testing for sufficient leading space instead of always allocating a new mbuf merge _m_prepend() into it. Move mbuf allocation function prototypes together. Constify a some mbuf functions. [Suggested by: bde] END K 10 svn:author V 7 glebius K 8 svn:date V 27 2013-10-13T21:46:08.690820Z K 7 svn:log V 72 Not yet cooked up slides on threads & processes and on synchronisation. END K 10 svn:author V 8 jhibbits K 8 svn:date V 27 2013-10-14T00:56:38.488204Z K 7 svn:log V 99 PCPU fputhread and vecthread get reset to NULL when save_fpu()/save_vec() is called. Cache these. END K 10 svn:author V 3 kib K 8 svn:date V 27 2013-10-14T05:44:16.043501Z K 7 svn:log V 56 MFC r256100: Add the definition of DF_1_INTERPOSE flag. END K 10 svn:author V 3 kib K 8 svn:date V 27 2013-10-14T05:49:20.952916Z K 7 svn:log V 59 MFC r256101: Implement support for the interpose dso flag. END K 10 svn:author V 3 kib K 8 svn:date V 27 2013-10-14T05:56:15.851158Z K 7 svn:log V 36 MFC r256125: Make isci(4) loadable. END K 10 svn:author V 3 mav K 8 svn:date V 27 2013-10-14T07:36:17.452803Z K 7 svn:log V 152 Add direct dispatch support to GEOM GATE. To allow direct send on provider I had to move several auxillary g_io_deliver() calls out of the queue lock. END K 10 svn:author V 3 mav K 8 svn:date V 27 2013-10-14T09:28:46.430187Z K 7 svn:log V 67 Add partial (receive only) direct dispatch support to GEOM MIRROR. END K 10 svn:author V 3 hrs K 8 svn:date V 27 2013-10-14T11:05:13.468435Z K 7 svn:log V 317 - Normalize jailname. "example.com" is converted to "example_com". - Fix a bug that some $jail_{jname}_foo variables did not work. - Fix a bug which prevented $jail_devfs_ruleset from working[1]. - Move $jail_parameters to the last of the configuraiton lines[1]. Reported by: Jase Thew[1] Approved by: re (glebius) END K 10 svn:author V 2 ae K 8 svn:date V 27 2013-10-14T12:09:06.138912Z K 7 svn:log V 9 Cleanup. END K 10 svn:author V 2 ae K 8 svn:date V 27 2013-10-14T12:11:19.555527Z K 7 svn:log V 37 Copy fresh head/ to my inet6 branch. END K 10 svn:author V 3 dim K 8 svn:date V 27 2013-10-14T15:06:47.742483Z K 7 svn:log V 882 MFC r247012 (by jmg): add support for AES and PCLMULQDQ instructions to binutils... Thanks to Mike Belopuhov for the pointer to the OpenBSD patch, though OpenBSD's gcc is very different that it only helped w/ where to modify, not how... Thanks to jhb for some early reviews... Reviewed by: imp, kib MFC r247117 (by jmg): reorder so all the flags are together and make the PCLMUL flag unique.. This fixes the problem on amd64 miscompiling mpboot.s causing boot issues... We are still using gas for a few files in the kernel... Submitted by: kib MFC r255192 (by jhb): Add support for the 'invpcid' instruction to binutils and DDB's disassembler on amd64. MFC r256112: Add support for assembling and disassembling Intel Random Number Generator extensions (e.g. the 'rdrand' mnemonic) to our copy of binutils. Obtained from: OpenBSD, via pfg END K 10 svn:author V 3 sjg K 8 svn:date V 27 2013-10-14T15:52:45.916126Z K 7 svn:log V 18 Merge head@256308 END K 10 svn:author V 3 mav K 8 svn:date V 27 2013-10-14T16:19:52.910079Z K 7 svn:log V 39 Add unmapped I/O support to GEOM RAID. END K 10 svn:author V 5 markm K 8 svn:date V 27 2013-10-14T17:43:22.541338Z K 7 svn:log V 62 Add needed files to the KLD random.ko. Approved by: re (kib) END K 10 svn:author V 3 gjb K 8 svn:date V 27 2013-10-14T17:58:49.253337Z K 7 svn:log V 121 head/ no longer requires re@ approval, now that stable/10 is branched and 10.0-BETA1 is out. Approved by: re (implicit) END K 10 svn:author V 3 pfg K 8 svn:date V 27 2013-10-14T18:17:09.987523Z K 7 svn:log V 299 Make di_blocks unsigned in UFS1 as is the case already for UFS2. Most of the code between UFS1 and UFS2 is shared so this change is pretty safe. Not only this makes UFS1 and 2 consistent but it also matches what NetBSD and MacOS X have for some years now. Reviewed by: mckusick MFC after: 1 month END K 10 svn:author V 5 markm K 8 svn:date V 27 2013-10-14T18:24:30.878341Z K 7 svn:log V 93 MFC: Add extra files to the KLD random.ko module to allow it to load. Approved by: re (kib) END K 10 svn:author V 8 bdrewery K 8 svn:date V 27 2013-10-14T18:31:15.862910Z K 7 svn:log V 126 Rename libbsdyml to libyaml, make private, and bump SHLIB_MAJOR to 1.0 Suggested by: des Approved by: bapt MFC after: 1 week END