ås213978 22 270 294 353 226 177 252 2236 774 405 362 173 130 156 144 198 153 5204 156 284 281 119 595 K 10 svn:author V 2 jh K 8 svn:date V 27 2010-10-17T14:48:53.056752Z K 7 svn:log V 178 MFC r213298: Fix printing of the "rw" mount option in fstab(5) format (-p option). fstab(5) format requires that one of "rw", "rq" or "ro" is always specified. PR: bin/123021 END K 10 svn:author V 10 nwhitehorn K 8 svn:date V 27 2010-10-17T15:22:59.856332Z K 7 svn:log V 193 MFC r213307,213335: Add support for memory attributes (pmap_mapdev_attr() and friends) on PowerPC/AIM. This is currently stubbed out on Book-E, since I have no idea how to implement it there. END K 10 svn:author V 7 glebius K 8 svn:date V 27 2010-10-17T15:25:33.509892Z K 7 svn:log V 256 Merge 213831: Enable the shared memory reference clock driver. The GPS devices are getting more and more popular, as source of precise time, and the gpsd daemon from ports is using the shared memory to synchronize with ntpd. Reviewed by: roberto END K 10 svn:author V 3 pjd K 8 svn:date V 27 2010-10-17T15:47:27.484842Z K 7 svn:log V 133 Log correct connection when canceling half-open connection. Submitted by: Mikolaj Golub MFC after: 3 days END K 10 svn:author V 10 nwhitehorn K 8 svn:date V 27 2010-10-17T15:55:46.071635Z K 7 svn:log V 77 MFC r213360: Missed some changes in the last commit required to build LINT. END K 10 svn:author V 3 kib K 8 svn:date V 27 2010-10-17T16:30:33.187535Z K 7 svn:log V 159 Document vunref(9), add some important notes for vrele(9) and vput(9). Merge all three manpages to one, removing separate file for vput(9). MFC after: 1 week END K 10 svn:author V 3 pjd K 8 svn:date V 27 2010-10-17T16:43:20.489168Z K 7 svn:log V 2142 MFC r213183,r213428,r213429,r213430,r213529,r213530,r213531,r213533,r213579, r213580,r213938,r213939,r213981: r213183: Plug memory leak on fork(2) failure. Submitted by: Mikolaj Golub r213428: We can't mask ignored signal, so install dummy signal hander for SIGCHLD before masking it. This fixes bogus reports about hooks running for too long and other problems related to garbage-collecting child processes. Reported by: Mikolaj Golub r213429: hook_check() is now only used to report about long-running hooks, so the argument is redundant, remove it. r213430: Decrease report interval to 5 seconds, as this also means we will check for signals every 5 seconds and not every 10 seconds as before. r213529: Don't close local component on exit as we can hang waiting on g_waitidle. I'm unable to reproduce the race described in comment anymore and also the comment is incorrect - localfd represents local component from configuration file, eg. /dev/da0 and not HAST provider. Reported by: Mikolaj Golub r213530: Start the guard thread first, so we can handle signals from the very begining. Reported by: Mikolaj Golub r213531: Log error message when we fail to destroy ggate provider. r213533: Clear ggate structures before using them. We don't initialize all the field and there can be some garbage from the stack. r213579: We close the event socketpair early in the mainloop to prevent spaming with error messages, so when we clean up after child process, we have to check if the event socketpair is still there. Submitted by: Mikolaj Golub r213580: We can't zero out ggio request, as we have some fields in there we initialize once during start-up. Reported by: Mikolaj Golub r213938: Clear signal mask before executing a hook. Submitted by: Mikolaj Golub r213939: Use one fprintf() instead of two. r213981: Log correct connection when canceling half-open connection. Submitted by: Mikolaj Golub END K 10 svn:author V 6 marius K 8 svn:date V 27 2010-10-17T16:46:54.020961Z K 7 svn:log V 678 - In oneshot-mode it doesn't make sense to try to compensate the clock drift in order to achieve a more stable clock as the tick intervals may vary in the first place. In fact I haven't seen this code kick in when in oneshot-mode so just skip it in that case. - There's no need to explicitly stop the (S)TICK counter in oneshot-mode with every tick as it just won't trigger again with the (S)TICK compare register set to a value in the past (with a wrap-around once every ~195 years of uptime at 1.5 GHz this isn't something we have to worry about in practice). - Given that we'll disable interrupts completely anyway there's no need to enter critical sections. END K 10 svn:author V 10 nwhitehorn K 8 svn:date V 27 2010-10-17T17:31:49.351593Z K 7 svn:log V 304 Fix an XXX comment by answering 'no'. OS X does not set the day-of-week counter on SMU-based systems, which causes FreeBSD to reject the RTC time when used in a dual-boot environment. Since we don't use the day-of-week counter anyway, solve this by just not checking that it matches. MFC after: 3 weeks END K 10 svn:author V 7 glebius K 8 svn:date V 27 2010-10-17T17:39:54.483730Z K 7 svn:log V 265 Merge from head 213480,213481,213717: Add support to Alcatel/TCTMobile X080S USB 3G modem. The device needs special eject command to reappear as modem. It also requires DIR_IN flag in the command message, so we supply some dummy data along with the command. END K 10 svn:author V 5 culot K 8 svn:date V 27 2010-10-17T18:48:51.289927Z K 7 svn:log V 79 Add an entry for myself to committers-ports.dot. Approved by: sahil@ (mentor) END K 10 svn:author V 3 dim K 8 svn:date V 27 2010-10-17T18:49:45.784336Z K 7 svn:log V 38 Bootstrap merge history for binutils. END K 10 svn:author V 5 culot K 8 svn:date V 27 2010-10-17T19:02:42.193428Z K 7 svn:log V 62 Add myself to calendar.freebsd. Approved by: sahil@ (mentor) END K 10 svn:author V 3 dim K 8 svn:date V 27 2010-10-17T19:03:23.912836Z K 7 svn:log V 52 Tag vendor/binutils/dist, as it existed at r191844. END K 10 svn:author V 3 dim K 8 svn:date V 27 2010-10-17T19:22:19.400937Z K 7 svn:log V 105 Create projects/binutils-2.17, aimed at importing the last GPLv2 version of binutils into the main tree. END K 10 svn:author V 6 scottl K 8 svn:date V 27 2010-10-17T20:01:56.310220Z K 7 svn:log V 58 Re-add opt_mps.h and opt_cam.h, lost in the previous rev. END K 10 svn:author V 3 pjd K 8 svn:date V 27 2010-10-17T20:10:00.136453Z K 7 svn:log V 5110 MFC r213133,r213135,r213136,r213137,r213245: r213133: Add three GPT attributes: GPT_ENT_ATTR_BOOTME - this is bootable partition GPT_ENT_ATTR_BOOTONCE - try to boot only once from this partition GPT_ENT_ATTR_BOOTFAILED - set this flag if we cannot boot from partition containing GPT_ENT_ATTR_BOOTONCE flag; note that if we cannot boot from partition that contains only GPT_ENT_ATTR_BOOTME flag, the GPT_ENT_ATTR_BOOTFAILED flag won't be set According to wikipedia Microsoft TechNet says that attributes are divided into two halves: the lower 4 bytes representing partition independent attributes, and the upper 4 bytes are partition type dependent. Microsoft is already using bits 60 (read-only), 62 (hidden) and 63 (do not automount) and I'd like to not collide with those, so we are using bit 59 (bootme), 58 (bootonce) and 57 (bootfailed). Reviewed by: arch (Message-ID: <20100917234542.GE1902@garage.freebsd.pl>) r213135: Allow to configure GPT attributes. It shouldn't be allowed to set bootfailed attribute (it should be allowed only to unset it), but for test purposes it might be useful, so the current code allows it. Reviewed by: arch@ (Message-ID: <20100917234542.GE1902@garage.freebsd.pl>) r213136: - Split code shared by almost any boot loader into separate files and clean up most layering violations: sys/boot/i386/common/rbx.h: RBX_* defines OPT_SET() OPT_CHECK() sys/boot/common/util.[ch]: memcpy() memset() memcmp() bcpy() bzero() bcmp() strcmp() strncmp() [new] strcpy() strcat() strchr() strlen() printf() sys/boot/i386/common/cons.[ch]: ioctrl putc() xputc() putchar() getc() xgetc() keyhit() [now takes number of seconds as an argument] getstr() sys/boot/i386/common/drv.[ch]: struct dsk drvread() drvwrite() [new] drvsize() [new] sys/boot/common/crc32.[ch] [new] sys/boot/common/gpt.[ch] [new] - Teach gptboot and gptzfsboot about new files. I haven't touched the rest, but there is still a lot of code duplication to be removed. - Implement full GPT support. Currently we just read primary header and partition table and don't care about checksums, etc. After this change we verify checksums of primary header and primary partition table and if there is a problem we fall back to backup header and backup partition table. - Clean up most messages to use prefix of boot program, so in case of an error we know where the error comes from, eg.: gptboot: unable to read primary GPT header - If we can't boot, print boot prompt only once and not every five seconds. - Honour newly added GPT attributes: bootme - this is bootable partition bootonce - try to boot from this partition only once bootfailed - we failed to boot from this partition - Change boot order of gptboot to the following: 1. Try to boot from all the partitions that have both 'bootme' and 'bootonce' attributes one by one. 2. Try to boot from all the partitions that have only 'bootme' attribute one by one. 3. If there are no partitions with 'bootme' attribute, boot from the first UFS partition. - The 'bootonce' functionality is implemented in the following way: 1. Walk through all the partitions and when 'bootonce' attribute is found without 'bootme' attribute, remove 'bootonce' attribute and set 'bootfailed' attribute. 'bootonce' attribute alone means that we tried to boot from this partition, but boot failed after leaving gptboot and machine was restarted. 2. Find partition with both 'bootme' and 'bootonce' attributes. 3. Remove 'bootme' attribute. 4. Try to execute /boot/loader or /boot/kernel/kernel from that partition. If succeeded we stop here. 5. If execution failed, remove 'bootonce' and set 'bootfailed'. 6. Go to 2. If whole boot succeeded there is new /etc/rc.d/gptboot script coming that will log all partitions that we failed to boot from (the ones with 'bootfailed' attribute) and will remove this attribute. It will also find partition with 'bootonce' attribute - this is the partition we booted from successfully. The script will log success and remove the attribute. All the GPT updates we do here goes to both primary and backup GPT if they are valid. We don't touch headers or partition tables when checksum doesn't match. Reviewed by: arch (Message-ID: <20100917234542.GE1902@garage.freebsd.pl>) Obtained from: Wheel Systems Sp. z o.o. http://www.wheelsystems.com r213137: Add gptboot script that is responsible for: - looking for partition with 'bootonce' attribute alone (without 'bootme' attribute), removing it and logging that we successfully booted from this partition. - looking for partitions with 'bootfailed' attribute, removing it and logging that we failed to boot from this partition. Reviewed by: arch (Message-ID: <20100917234542.GE1902@garage.freebsd.pl>) Obtained from: Wheel Systems Sp. z o.o. http://www.wheelsystems.com r213245: Document recently added GPT attributes (bootme, bootonce, bootfailed) and list other schemes attributes. Reviewed by: simon, rpaulo END K 10 svn:author V 3 dim K 8 svn:date V 27 2010-10-17T21:44:27.241943Z K 7 svn:log V 64 Temporarily raise my limit, so I can import binutils snapshots. END K 10 svn:author V 3 dim K 8 svn:date V 27 2010-10-17T21:56:26.368756Z K 7 svn:log V 191 Import the binutils-2_15-branch from the sourceware CVS repository, exactly as it was on Sun, 23 May 2004 04:40:32 +0000. Corresponds to git commit 242eda977694c559d7d21626702034c13d745597. END K 10 svn:author V 3 dim K 8 svn:date V 27 2010-10-17T22:03:05.677487Z K 7 svn:log V 188 Tag the binutils-2_15-branch from the sourceware CVS repository, exactly as it was on Sun, 23 May 2004 04:40:32 +0000. Corresponds to git commit 242eda977694c559d7d21626702034c13d745597. END K 10 svn:author V 3 dim K 8 svn:date V 27 2010-10-17T22:10:33.819756Z K 7 svn:log V 27 Back down to normal limit. END K 10 svn:author V 4 jeff K 8 svn:date V 27 2010-10-17T22:59:18.522601Z K 7 svn:log V 501 - bmake the builds for ibcm and rdmacm. - Do some minor porting required for ENODATA. - Add an infiniband/types.h and infiniband/byteorder.h to be used in place of linux/types.h and linux/byteorder.h for userland code. Anyone porting rdma/verbs apps over from linux will have to adjust to these header locations unless we want to add a /usr/include/linux and /usr/include/asm for compatibility. Note this is all ABI compatible. Sponsored by: Isilon Systems, iX Systems, and Panasas. END