[owc] Weekly src changes ending 2007-05-06
OWC
auto at squish.net
Mon May 7 07:00:01 BST 2007
OpenBSD src changes summary for 2007-04-29 to 2007-05-06 inclusive
==================================================================
bin/df distrib/notes
distrib/sets etc/Makefile
etc/services include/dlfcn.h
lib/libc lib/libkvm
lib/libpthread libexec/ld.so
regress/sbin sbin/dumpfs
sbin/fsck_ffs sbin/isakmpd
sbin/mount_vnd sbin/newfs
sbin/restore sbin/tunefs
share/man share/mk
sys/arch/alpha/alpha sys/arch/alpha/conf
sys/arch/alpha/include sys/arch/alpha/pci
sys/arch/amd64/amd64 sys/arch/amd64/conf
sys/arch/amd64/include sys/arch/amd64/isa
sys/arch/armish/armish sys/arch/aviion/aviion
sys/arch/cats/cats sys/arch/hp300/conf
sys/arch/hp300/dev sys/arch/hp300/hp300
sys/arch/hp300/include sys/arch/hppa/conf
sys/arch/hppa/hppa sys/arch/hppa/include
sys/arch/hppa/stand/libkern sys/arch/hppa64/conf
sys/arch/hppa64/hppa64 sys/arch/hppa64/stand/libkern
sys/arch/i386/conf sys/arch/i386/i386
sys/arch/i386/include sys/arch/landisk/include
sys/arch/landisk/landisk sys/arch/luna88k/luna88k
sys/arch/m68k/include sys/arch/mac68k/include
sys/arch/mac68k/mac68k sys/arch/macppc/conf
sys/arch/macppc/macppc sys/arch/mips64/include
sys/arch/mips64/mips64 sys/arch/mvme68k/include
sys/arch/mvme68k/mvme68k sys/arch/mvme88k/mvme88k
sys/arch/mvmeppc/mvmeppc sys/arch/powerpc/include
sys/arch/powerpc/powerpc sys/arch/sgi/conf
sys/arch/sgi/include sys/arch/sgi/localbus
sys/arch/sgi/sgi sys/arch/sh/conf
sys/arch/sh/include sys/arch/sh/sh
sys/arch/solbourne/include sys/arch/solbourne/solbourne
sys/arch/sparc/conf sys/arch/sparc/include
sys/arch/sparc/sparc sys/arch/sparc64/conf
sys/arch/sparc64/dev sys/arch/sparc64/include
sys/arch/sparc64/sparc64 sys/arch/sparc64/stand/ofwboot
sys/arch/vax/conf sys/arch/vax/include
sys/arch/vax/vax sys/arch/zaurus/conf
sys/arch/zaurus/zaurus sys/conf
sys/dev sys/dev/acpi
sys/dev/cardbus sys/dev/ic
sys/dev/isa sys/dev/ofw
sys/dev/pci sys/dev/usb
sys/kern sys/lib/libkern
sys/lib/libsa sys/net
sys/netinet sys/netinet6
sys/scsi sys/sys
sys/ufs/ffs usr.bin/calendar
usr.bin/cap_mkdb usr.bin/cdio
usr.bin/col usr.bin/column
usr.bin/cvs usr.bin/encrypt
usr.bin/jot usr.bin/m4
usr.bin/sendbug usr.sbin/bgpd
usr.sbin/hostapd usr.sbin/hoststated
usr.sbin/kgmon usr.sbin/lpr
usr.sbin/ntpd usr.sbin/ospfd
usr.sbin/pkg_add usr.sbin/ripd
usr.sbin/syslogd usr.sbin/tcpdump
== bin =============================================================== 01/12 ==
http://www.openbsd.org/cgi-bin/cvsweb/src/bin
df
~ ffs_df.c
> ffs2 support for reading df data directly from device; ok millert@ pedro@
> (otto@)
== distrib =========================================================== 02/12 ==
http://www.openbsd.org/cgi-bin/cvsweb/src/distrib
notes
~ m4.common
> stop shipping CKSUM files; people can use the MD5 files
> (this decreases build time a bit too)
> ok todd (and i assume legacy-architecture-miod would not object either)
> (deraadt@)
sets
~ lists/base/mi
> sync (deraadt@)
~ lists/base/md.sgi ~ lists/base/md.sparc64
~ lists/comp/md.sgi ~ lists/comp/md.sparc64
> sync (deraadt@)
~ lists/base/md.hppa ~ lists/comp/md.hppa
> sync (deraadt@)
~ lists/base/md.sparc ~ lists/comp/md.sparc
> sync (deraadt@)
~ lists/base/md.sgi ~ lists/comp/md.sgi
> sync (deraadt@)
~ lists/base/md.vax ~ lists/comp/md.vax
> sync (deraadt@)
~ lists/comp/mi
> sync (deraadt@)
~ lists/comp/mi
> sync (deraadt@)
~ lists/base/md.alpha ~ lists/comp/md.alpha
> sync (deraadt@)
== etc =============================================================== 03/12 ==
http://www.openbsd.org/cgi-bin/cvsweb/src/etc
Makefile
~ Makefile
> stop shipping CKSUM files; people can use the MD5 files
> (this decreases build time a bit too)
> ok todd (and i assume legacy-architecture-miod would not object either)
> (deraadt@)
~ Makefile
> incompletely killed the cksum bits (deraadt@)
services
~ services
> order by port number.
> okay xsa, sobrado, jdixon (steven@)
== include =========================================================== 04/12 ==
http://www.openbsd.org/cgi-bin/cvsweb/src/include
dlfcn.h
~ dlfcn.h
> Provide hook so that rthreads can provide a spinlock to protect from races
> in lazy binding. ok art@, kurt@ (drahn@)
== lib =============================================================== 05/12 ==
http://www.openbsd.org/cgi-bin/cvsweb/src/lib
libc
~ crypt/arc4random.3 ~ sys/getpid.2
> Document the lack of error return value in arc4random.
> Sync the documentation in getpid with arc4random's format. (pyr@)
~ crypt/arc4random.3
> macros at start of line require a `.'; (jmc@)
libkvm
~ kvm_mips64.c
> Enable support for > 512MB of physical memory on mips64 systems, by using
> XKPHYS instead of KSEG[01] for direct mappings.
> Then, detect memory above 256MB on O2 by poking at the CRIME registers
> (ARCbios will not report memory above 256MB, which is mapped above 1GB
> physical, to the system), and add it to the UVM managed memory.
> Tested on r5k, rm5200 and r10k with and without more than 256MB, matching
> hinv reports in all cases. CRIME memory decoding based on a diff from
> kettenis@ in december 2005. (miod@)
libpthread
~ uthread/pthread_private.h
> file descriptors are ints. make branch an int too for better structure
> allignment. okay marc@ (kurt@)
~ uthread/uthread_connect.c ~ uthread/uthread_gc.c
~ uthread/uthread_info_openbsd.c ~ uthread/uthread_mutex.c
~ uthread/uthread_recvfrom.c ~ uthread/uthread_recvmsg.c
~ uthread/uthread_sendmsg.c ~ uthread/uthread_sendto.c
> lint warning corrections:
> - use the correct types
> - mark _thread_gc() w/ARGSUSED
> - fix a 'a cast does not yield an lvalue'
> okay marc@ (kurt@)
== libexec =========================================================== 06/12 ==
http://www.openbsd.org/cgi-bin/cvsweb/src/libexec
ld.so
~ dlfcn.c ~ resolve.h
~ alpha/rtld_machine.c ~ amd64/rtld_machine.c
~ arm/rtld_machine.c ~ hppa/rtld_machine.c
~ i386/rtld_machine.c ~ powerpc/rtld_machine.c
~ sh/rtld_machine.c ~ sparc/rtld_machine.c
~ sparc64/rtld_machine.c
> Provide hook so that rthreads can provide a spinlock to protect from races
> in lazy binding. ok art@, kurt@ (drahn@)
== regress =========================================================== 07/12 ==
http://www.openbsd.org/cgi-bin/cvsweb/src/regress
sbin
~ pfctl/Makefile
> now that optimization is on by default, fix the regress tests by
> disabling optimization for the non-optimized tests, ok henning@ (david@)
== sbin ============================================================== 08/12 ==
http://www.openbsd.org/cgi-bin/cvsweb/src/sbin
dumpfs
~ dumpfs.8 ~ dumpfs.c
> Add support for ffs2 and a new flag, -m, which will output a
> newfs command that can be used to make a filesystem with the
> same settings. OK otto@ (millert@)
fsck_ffs
~ pass5.c
> Do not rely on fs_cpg; this is especially important for ffs2 which
> does not use fs_cpg at all. From FreeBSD. OK otto@ (millert@)
isakmpd
~ nat_traversal.c
> Kill a log message which looks like an error message but is actually
> both meaningless and harmless. ("nat_t_check_vendor_payload: bad size")
> ok todd (cloder@)
mount_vnd
~ mount_vnd
> clarify error message; ok grunk@ (david@)
newfs
~ mkfs.c
> Update CGSIZE macro so that it is no longer based on fs_cpg.
> This was part of the ffs2 changes but was not committed earlier in
> order to make the userland and kernel changes independent.
> NOTE: the change to newfs require an updated fs.h; building an
> updated newfs with the old fs.h may result in a broken filesystem.
> OK otto@ (millert@)
restore
~ restore.8
> for the restore -r example:
> - use /dev/sd rather than /dev/rp, since rp no longer exists
> - use rst0 instead of rst8, since rst8 does not exist (by default)
> from Matthias Scheler
> ok otto (jmc@)
tunefs
~ Makefile ~ tunefs.8
~ tunefs.c
> FFS2 savvy tunefs from NetBSD. Some cleanup will be done after this.
> ok millert@ and jmc@ for the man page. (otto@)
~ tunefs.8
> better wording and cleanup from jmc@ (otto@)
~ tunefs.c
> remove #ifdef TUNEFS_SOFTDEP code, requested by millert@ (otto@)
~ tunefs.c
> use strtonum(3) and usage nit; ok millert@ (otto@)
~ tunefs.c
> convert to standard usage(); ok millert otto (jmc@)
== share ============================================================= 09/12 ==
http://www.openbsd.org/cgi-bin/cvsweb/src/share
man
~ man4/pci.4 ~ man4/viapm.4
> Match on VT8237A/VT8251/CX700 like the equivalent Linux driver does.
> ok kettenis@ (jsg@)
~ man4/iic.4
> Sync the viapm .Nd here as well.
> Pointed out by jmc@ (jsg@)
~ man4/piixpm.4
> Match on ATI IXP/SB600 as well.
> Seen in a dmesg from alemao <skanabiz at gmail.com>
> ok grange@ (jsg@)
~ man4/options.4
> document "option FFS2"; ok pedro (jmc@)
~ man8/rc.conf.8
> routed -> routed_flags; from Jeremy C. Reed/Will Maier (jmc@)
~ man9/panic.9
> tweak some grammar
> input from jmc (jcs@)
~ man4/umsm.4
> Support ONDA Communication H600.
> Tested by Massimo Lusetti <massimo at cedoc.mo.it> (jsg@)
~ man4/acx.4
> Add monitor mode. Add fast channel switching. Do some simplifications
> while there.
> Comments, tested, and OK claudio@ (mglocker@)
~ man4/umsm.4
> sort the hardware list; (jmc@)
~ man9/Makefile ~ man9/kern.9
> locc dies; spotted by miod (deraadt@)
~ man9/Makefile ~ man9/disk.9
> disk_resetstat and disk_find are gone. (art@)
~ man9/Makefile ~ man9/vnsubr.9
> No more vn_access. (art@)
~ man4/iha.4
> add HISTORY
> ok jmc@ krw@ (jasper@)
mk
~ bsd.obj.mk
> warn if base obj directory does not exist.
> okay deraadt@ (espie@)
== sys =============================================================== 10/12 ==
http://www.openbsd.org/cgi-bin/cvsweb/src/sys
arch/alpha/alpha
~ clock.c
> Fix dmesg nit. (miod@)
~ autoconf.c
> support "exit" as a RB_ASKNAME choice; discussed with miod (deraadt@)
~ autoconf.c
> setroot() was a ugly mix of MI and MD code, with different bugs on
> different
> machines. Instead -- build one solid clean MI version, and thenchange all
> the architectures to use it. ok various people, tested on almost all
> cases.
> (it is a 10094 line diff..) (deraadt@)
~ autoconf.c
> make findblkmajor() and findblkname() MI; ok miod (deraadt@)
~ pmap.c
> Faster pmap_extract() code for pmap_kernel, from NetBSD. (miod@)
~ interrupt.c
> Directly map IPL_xxx in terms of ALPHA_PSL_IPL_xxx values, and implement
> splassert. ok art@ martin@ (miod@)
+ mutex.c
> simple single-processor only mutex implementation
> ok miod@ (martin@)
arch/alpha/conf
~ files.alpha
> simple single-processor only mutex implementation
> ok miod@ (martin@)
arch/alpha/include
~ intr.h
> Directly map IPL_xxx in terms of ALPHA_PSL_IPL_xxx values, and implement
> splassert. ok art@ martin@ (miod@)
~ _types.h + mutex.h
> simple single-processor only mutex implementation
> ok miod@ (martin@)
~ cpu.h
> garbage collect release_fpu() and synchronize_fpstate() (martin@)
arch/alpha/pci
~ pci_550.c ~ pci_6600.c
~ pci_eb164.c ~ pci_up1000.c
> supply the real devicename to sio_intr_establish() instead a generic
> platform interrupt string when establishing pciide interrupts (martin@)
arch/amd64/amd64
~ autoconf.c
> similar exit support for -a, to what i386 does (deraadt@)
~ i8259.c
> Remove MCA ghosts, no changes in .o files.
> Free commit ticket from miod at . (grange@)
~ autoconf.c
> setroot() was a ugly mix of MI and MD code, with different bugs on
> different
> machines. Instead -- build one solid clean MI version, and thenchange all
> the architectures to use it. ok various people, tested on almost all
> cases.
> (it is a 10094 line diff..) (deraadt@)
~ autoconf.c
> make findblkmajor() and findblkname() MI; ok miod (deraadt@)
~ identcpu.c ~ ipifuncs.c
~ mainbus.c ~ powernow-k8.c
+ mp_setperf.c
> Add the mp setperf mechanism to AMD64, like its i386 counterpart it allows
> all cpus in a system supporting frequency and voltage scaling to be scaled
> by the same amount corresponding to the user (or apmd on their behalf)
> performance level.
> This diff also teaches amd64 about acpi_hasprocfvs (ACPI has processor
> frequency and voltage scaling).
> It also moves initilization of the underlying setperf mechanism such
> as powernow to mainbus from the cpu indentification and initilization
> code inspired by similar changes dim@ made to i386 durring h2k6. This
> is necessary to implement the AMD recommended method for retreiving
> p_state data from the ACPI _PSS object (a diff comming soon). It will
> also simplify the potential addition of enhanced speedstep as found
> on newer intel processors with EMT64 capable of running OpenBSD/amd64.
> MP setperf functionality verifed by myself and Johan M:son Lindman <tybolt
> AT solace DOT miun DOT se> on opteron 265 and 270 systems respectively.
> General testing done by many others thanks!
> ok tedu, dim (gwk@)
arch/amd64/conf
~ files.amd64
> Add the mp setperf mechanism to AMD64, like its i386 counterpart it allows
> all cpus in a system supporting frequency and voltage scaling to be scaled
> by the same amount corresponding to the user (or apmd on their behalf)
> performance level.
> This diff also teaches amd64 about acpi_hasprocfvs (ACPI has processor
> frequency and voltage scaling).
> It also moves initilization of the underlying setperf mechanism such
> as powernow to mainbus from the cpu indentification and initilization
> code inspired by similar changes dim@ made to i386 durring h2k6. This
> is necessary to implement the AMD recommended method for retreiving
> p_state data from the ACPI _PSS object (a diff comming soon). It will
> also simplify the potential addition of enhanced speedstep as found
> on newer intel processors with EMT64 capable of running OpenBSD/amd64.
> MP setperf functionality verifed by myself and Johan M:son Lindman <tybolt
> AT solace DOT miun DOT se> on opteron 265 and 270 systems respectively.
> General testing done by many others thanks!
> ok tedu, dim (gwk@)
arch/amd64/include
~ cpu.h ~ intr.h
~ intrdefs.h
> Add the mp setperf mechanism to AMD64, like its i386 counterpart it allows
> all cpus in a system supporting frequency and voltage scaling to be scaled
> by the same amount corresponding to the user (or apmd on their behalf)
> performance level.
> This diff also teaches amd64 about acpi_hasprocfvs (ACPI has processor
> frequency and voltage scaling).
> It also moves initilization of the underlying setperf mechanism such
> as powernow to mainbus from the cpu indentification and initilization
> code inspired by similar changes dim@ made to i386 durring h2k6. This
> is necessary to implement the AMD recommended method for retreiving
> p_state data from the ACPI _PSS object (a diff comming soon). It will
> also simplify the potential addition of enhanced speedstep as found
> on newer intel processors with EMT64 capable of running OpenBSD/amd64.
> MP setperf functionality verifed by myself and Johan M:son Lindman <tybolt
> AT solace DOT miun DOT se> on opteron 265 and 270 systems respectively.
> General testing done by many others thanks!
> ok tedu, dim (gwk@)
arch/amd64/isa
~ clock.c
> Remove MCA ghosts, no changes in .o files.
> Free commit ticket from miod at . (grange@)
arch/armish/armish
~ autoconf.c
> setroot() was a ugly mix of MI and MD code, with different bugs on
> different
> machines. Instead -- build one solid clean MI version, and thenchange all
> the architectures to use it. ok various people, tested on almost all
> cases.
> (it is a 10094 line diff..) (deraadt@)
~ autoconf.c
> make findblkmajor() and findblkname() MI; ok miod (deraadt@)
arch/aviion/aviion
~ autoconf.c
> setroot() was a ugly mix of MI and MD code, with different bugs on
> different
> machines. Instead -- build one solid clean MI version, and thenchange all
> the architectures to use it. ok various people, tested on almost all
> cases.
> (it is a 10094 line diff..) (deraadt@)
~ autoconf.c
> make findblkmajor() and findblkname() MI; ok miod (deraadt@)
arch/cats/cats
~ autoconf.c
> setroot() was a ugly mix of MI and MD code, with different bugs on
> different
> machines. Instead -- build one solid clean MI version, and thenchange all
> the architectures to use it. ok various people, tested on almost all
> cases.
> (it is a 10094 line diff..) (deraadt@)
~ autoconf.c
> make findblkmajor() and findblkname() MI; ok miod (deraadt@)
arch/hp300/conf
~ RAMDISK
> RAMDISK kernels do not need DIAGNOSTIC (deraadt@)
arch/hp300/dev
~ hd.c
> HDUNIT/etc -> DISKUNIT/etc. No functional change.
> "Looks right" millert@ "toss 'em in" deraadt@ (krw@)
arch/hp300/hp300
~ autoconf.c
> setroot() was a ugly mix of MI and MD code, with different bugs on
> different
> machines. Instead -- build one solid clean MI version, and thenchange all
> the architectures to use it. ok various people, tested on almost all
> cases.
> (it is a 10094 line diff..) (deraadt@)
~ autoconf.c
> make findblkmajor() and findblkname() MI; ok miod (deraadt@)
arch/hp300/include
+ lock.h
> Provide <machine/lock.h> on all platforms, so that MI code may #include it
> unconditionnaly. (miod@)
arch/hppa/conf
~ RAMDISK
> RAMDISK kernels do not need DIAGNOSTIC (deraadt@)
~ files.hppa
> Simple single-processor only mutex implementation. (miod@)
arch/hppa/hppa
~ autoconf.c
> setroot() was a ugly mix of MI and MD code, with different bugs on
> different
> machines. Instead -- build one solid clean MI version, and thenchange all
> the architectures to use it. ok various people, tested on almost all
> cases.
> (it is a 10094 line diff..) (deraadt@)
~ autoconf.c
> make findblkmajor() and findblkname() MI; ok miod (deraadt@)
+ mutex.c
> Simple single-processor only mutex implementation. (miod@)
arch/hppa/include
+ lock.h
> Provide <machine/lock.h> on all platforms, so that MI code may #include it
> unconditionnaly. (miod@)
~ _types.h + mutex.h
> Simple single-processor only mutex implementation. (miod@)
~ mutex.h
> Define MUTEX_OLDIPL where they were missing, will be used (reasonably)
> shortly. (miod@)
arch/hppa/stand/libkern
~ Makefile
> bcd.c died (deraadt@)
arch/hppa64/conf
~ RAMDISK
> RAMDISK kernels do not need DIAGNOSTIC (deraadt@)
arch/hppa64/hppa64
~ autoconf.c
> setroot() was a ugly mix of MI and MD code, with different bugs on
> different
> machines. Instead -- build one solid clean MI version, and thenchange all
> the architectures to use it. ok various people, tested on almost all
> cases.
> (it is a 10094 line diff..) (deraadt@)
~ autoconf.c
> make findblkmajor() and findblkname() MI; ok miod (deraadt@)
arch/hppa64/stand/libkern
~ Makefile
> bcd.c died (deraadt@)
arch/i386/conf
~ files.i386
> Oops. Forgot to commit this part.
> We need to include lock_machdep even on non-MP kernels now for
> rw_cas. (art@)
arch/i386/i386
~ mp_setperf.c
> Missing RCS tag. (gwk@)
~ autoconf.c
> support exit at boot -a time (deraadt@)
~ mtrr.c
> Support for mtrr on AMD opteron CPUs. Patch by Mickey and bluhm@, tweaks
> by dim@, ok deraadt@ and myself. (miod@ also found it sane). (matthieu@)
~ pmap.c
> Remove the pv stealing code. Other than being dangerous, it's also
> slightly incorrect and didn't actually do much until a week ago
> or so when I fixed it when doing VM_PAGE_MD.
> deraadt@, miod@ ok (art@)
~ autoconf.c
> setroot() was a ugly mix of MI and MD code, with different bugs on
> different
> machines. Instead -- build one solid clean MI version, and thenchange all
> the architectures to use it. ok various people, tested on almost all
> cases.
> (it is a 10094 line diff..) (deraadt@)
~ pmap.c
> Skip the kernel pmap when accounting for executability range changes.
> This could lead to some heavy problems if called from kernel threads
> (which is the only way to get past the next test with the kernel
> pmap).
> From mickey. art@ toby@ ok. (art@)
~ lock_machdep.c
> Implement rw_cas for i386.
> It uses a function pointer to choose between the 386 and 486 versions.
> The 386 version is not MP safe, but we're not expecting MP support
> for 386 cpus.
> miod@ ok (and prodding) (art@)
- microtime.s ~ machdep.c
> Remove dead code. (art@)
~ autoconf.c
> make findblkmajor() and findblkname() MI; ok miod (deraadt@)
arch/i386/include
~ lock.h
> Implement rw_cas for i386.
> It uses a function pointer to choose between the 386 and 486 versions.
> The 386 version is not MP safe, but we're not expecting MP support
> for 386 cpus.
> miod@ ok (and prodding) (art@)
arch/landisk/include
+ mutex.h
> Simple monoprocessor mutex implementation, faster than the MI code, four
> left
> to go. (miod@)
arch/landisk/landisk
~ autoconf.c
> setroot() was a ugly mix of MI and MD code, with different bugs on
> different
> machines. Instead -- build one solid clean MI version, and thenchange all
> the architectures to use it. ok various people, tested on almost all
> cases.
> (it is a 10094 line diff..) (deraadt@)
~ autoconf.c
> make findblkmajor() and findblkname() MI; ok miod (deraadt@)
arch/luna88k/luna88k
~ autoconf.c
> setroot() was a ugly mix of MI and MD code, with different bugs on
> different
> machines. Instead -- build one solid clean MI version, and thenchange all
> the architectures to use it. ok various people, tested on almost all
> cases.
> (it is a 10094 line diff..) (deraadt@)
~ autoconf.c
> make findblkmajor() and findblkname() MI; ok miod (deraadt@)
arch/m68k/include
+ lock.h
> Provide <machine/lock.h> on all platforms, so that MI code may #include it
> unconditionnaly. (miod@)
arch/mac68k/include
+ lock.h
> Provide <machine/lock.h> on all platforms, so that MI code may #include it
> unconditionnaly. (miod@)
arch/mac68k/mac68k
~ autoconf.c
> setroot() was a ugly mix of MI and MD code, with different bugs on
> different
> machines. Instead -- build one solid clean MI version, and thenchange all
> the architectures to use it. ok various people, tested on almost all
> cases.
> (it is a 10094 line diff..) (deraadt@)
~ autoconf.c
> make findblkmajor() and findblkname() MI; ok miod (deraadt@)
arch/macppc/conf
+ GENERIC.MP
> Config file for MULTIPROCESSOR kernel. (kettenis@)
arch/macppc/macppc
~ cpu.c
> Add dummy functions to make MULTIPROCESSOR kernels compile. (kettenis@)
~ autoconf.c
> setroot() was a ugly mix of MI and MD code, with different bugs on
> different
> machines. Instead -- build one solid clean MI version, and thenchange all
> the architectures to use it. ok various people, tested on almost all
> cases.
> (it is a 10094 line diff..) (deraadt@)
~ autoconf.c
> make findblkmajor() and findblkname() MI; ok miod (deraadt@)
arch/mips64/include
+ lock.h
> Provide <machine/lock.h> on all platforms, so that MI code may #include it
> unconditionnaly. (miod@)
~ cpu.h ~ vmparam.h
> Enable support for > 512MB of physical memory on mips64 systems, by using
> XKPHYS instead of KSEG[01] for direct mappings.
> Then, detect memory above 256MB on O2 by poking at the CRIME registers
> (ARCbios will not report memory above 256MB, which is mapped above 1GB
> physical, to the system), and add it to the UVM managed memory.
> Tested on r5k, rm5200 and r10k with and without more than 256MB, matching
> hinv reports in all cases. CRIME memory decoding based on a diff from
> kettenis@ in december 2005. (miod@)
arch/mips64/mips64
~ tlbhandler.S
> ELF symbol type fixes, no code change (miod@)
~ db_machdep.c ~ mem.c
~ pmap.c ~ trap.c
> Enable support for > 512MB of physical memory on mips64 systems, by using
> XKPHYS instead of KSEG[01] for direct mappings.
> Then, detect memory above 256MB on O2 by poking at the CRIME registers
> (ARCbios will not report memory above 256MB, which is mapped above 1GB
> physical, to the system), and add it to the UVM managed memory.
> Tested on r5k, rm5200 and r10k with and without more than 256MB, matching
> hinv reports in all cases. CRIME memory decoding based on a diff from
> kettenis@ in december 2005. (miod@)
arch/mvme68k/include
+ lock.h
> Provide <machine/lock.h> on all platforms, so that MI code may #include it
> unconditionnaly. (miod@)
arch/mvme68k/mvme68k
~ autoconf.c
> setroot() was a ugly mix of MI and MD code, with different bugs on
> different
> machines. Instead -- build one solid clean MI version, and thenchange all
> the architectures to use it. ok various people, tested on almost all
> cases.
> (it is a 10094 line diff..) (deraadt@)
~ autoconf.c
> make findblkmajor() and findblkname() MI; ok miod (deraadt@)
arch/mvme88k/mvme88k
~ autoconf.c
> setroot() was a ugly mix of MI and MD code, with different bugs on
> different
> machines. Instead -- build one solid clean MI version, and thenchange all
> the architectures to use it. ok various people, tested on almost all
> cases.
> (it is a 10094 line diff..) (deraadt@)
~ autoconf.c
> make findblkmajor() and findblkname() MI; ok miod (deraadt@)
arch/mvmeppc/mvmeppc
~ autoconf.c
> setroot() was a ugly mix of MI and MD code, with different bugs on
> different
> machines. Instead -- build one solid clean MI version, and thenchange all
> the architectures to use it. ok various people, tested on almost all
> cases.
> (it is a 10094 line diff..) (deraadt@)
~ autoconf.c
> make findblkmajor() and findblkname() MI; ok miod (deraadt@)
arch/powerpc/include
~ pmap.h
> Implement pmap_steal_memory() on powerpc. With some help from art at . (miod@)
~ mutex.h
> Define MUTEX_OLDIPL where they were missing, will be used (reasonably)
> shortly. (miod@)
arch/powerpc/powerpc
~ pmap.c
> Implement pmap_steal_memory() on powerpc. With some help from art at . (miod@)
arch/sgi/conf
~ files.sgi
> Simple monoprocessor mutex implementation, faster than the MI code, four
> left
> to go. (miod@)
arch/sgi/include
+ lock.h
> Provide <machine/lock.h> on all platforms, so that MI code may #include it
> unconditionnaly. (miod@)
~ _types.h + mutex.h
> Simple monoprocessor mutex implementation, faster than the MI code, four
> left
> to go. (miod@)
~ mutex.h
> Define MUTEX_OLDIPL where they were missing, will be used (reasonably)
> shortly. (miod@)
arch/sgi/localbus
~ crimebus.h ~ macebus.c
> Enable support for > 512MB of physical memory on mips64 systems, by using
> XKPHYS instead of KSEG[01] for direct mappings.
> Then, detect memory above 256MB on O2 by poking at the CRIME registers
> (ARCbios will not report memory above 256MB, which is mapped above 1GB
> physical, to the system), and add it to the UVM managed memory.
> Tested on r5k, rm5200 and r10k with and without more than 256MB, matching
> hinv reports in all cases. CRIME memory decoding based on a diff from
> kettenis@ in december 2005. (miod@)
arch/sgi/sgi
+ mutex.c
> Simple monoprocessor mutex implementation, faster than the MI code, four
> left
> to go. (miod@)
~ machdep.c
> Enable support for > 512MB of physical memory on mips64 systems, by using
> XKPHYS instead of KSEG[01] for direct mappings.
> Then, detect memory above 256MB on O2 by poking at the CRIME registers
> (ARCbios will not report memory above 256MB, which is mapped above 1GB
> physical, to the system), and add it to the UVM managed memory.
> Tested on r5k, rm5200 and r10k with and without more than 256MB, matching
> hinv reports in all cases. CRIME memory decoding based on a diff from
> kettenis@ in december 2005. (miod@)
~ autoconf.c
> setroot() was a ugly mix of MI and MD code, with different bugs on
> different
> machines. Instead -- build one solid clean MI version, and thenchange all
> the architectures to use it. ok various people, tested on almost all
> cases.
> (it is a 10094 line diff..) (deraadt@)
~ autoconf.c
> make findblkmajor() and findblkname() MI; ok miod (deraadt@)
arch/sh/conf
~ files.sh
> Simple monoprocessor mutex implementation, faster than the MI code, four
> left
> to go. (miod@)
arch/sh/include
~ _types.h + mutex.h
> Simple monoprocessor mutex implementation, faster than the MI code, four
> left
> to go. (miod@)
~ mutex.h
> Define MUTEX_OLDIPL where they were missing, will be used (reasonably)
> shortly. (miod@)
arch/sh/sh
+ mutex.c
> Simple monoprocessor mutex implementation, faster than the MI code, four
> left
> to go. (miod@)
arch/solbourne/include
+ lock.h
> Provide <machine/lock.h> on all platforms, so that MI code may #include it
> unconditionnaly. (miod@)
arch/solbourne/solbourne
~ autoconf.c
> setroot() was a ugly mix of MI and MD code, with different bugs on
> different
> machines. Instead -- build one solid clean MI version, and thenchange all
> the architectures to use it. ok various people, tested on almost all
> cases.
> (it is a 10094 line diff..) (deraadt@)
~ autoconf.c
> make findblkmajor() and findblkname() MI; ok miod (deraadt@)
arch/sparc/conf
~ RAMDISK
> RAMDISK kernels do not need DIAGNOSTIC (deraadt@)
arch/sparc/include
+ lock.h
> Provide <machine/lock.h> on all platforms, so that MI code may #include it
> unconditionnaly. (miod@)
~ autoconf.h
> setroot() was a ugly mix of MI and MD code, with different bugs on
> different
> machines. Instead -- build one solid clean MI version, and thenchange all
> the architectures to use it. ok various people, tested on almost all
> cases.
> (it is a 10094 line diff..) (deraadt@)
arch/sparc/sparc
~ autoconf.c
> support "exit" like sparc64 does; ok miod (deraadt@)
~ autoconf.c
> check for exit string earlier (deraadt@)
~ intr.c
> expose two things needed for non-DIAGNOSTIC kernels (deraadt@)
~ autoconf.c
> setroot() was a ugly mix of MI and MD code, with different bugs on
> different
> machines. Instead -- build one solid clean MI version, and thenchange all
> the architectures to use it. ok various people, tested on almost all
> cases.
> (it is a 10094 line diff..) (deraadt@)
~ autoconf.c
> make findblkmajor() and findblkname() MI; ok miod (deraadt@)
arch/sparc64/conf
~ RAMDISK ~ RAMDISKU1
~ RAMDISKU5
> RAMDISK kernels do not need DIAGNOSTIC (deraadt@)
arch/sparc64/dev
~ fhc.c ~ fhcreg.h
> Don't rely on the PROM to have configured the interrupts. Make Simics boot
> a but further and doesn't hurt a real E4500.
> tested by miod@ (kettenis@)
arch/sparc64/include
+ lock.h
> Provide <machine/lock.h> on all platforms, so that MI code may #include it
> unconditionnaly. (miod@)
~ param.h
> Fix typo. ok miod at . (tom@)
~ _types.h ~ cpu.h
~ pcb.h
> Move sparc64 to __HAVE_CPUINFO.
> ok miod@, deraadt@ (kettenis@)
~ autoconf.h
> setroot() was a ugly mix of MI and MD code, with different bugs on
> different
> machines. Instead -- build one solid clean MI version, and thenchange all
> the architectures to use it. ok various people, tested on almost all
> cases.
> (it is a 10094 line diff..) (deraadt@)
arch/sparc64/sparc64
~ autoconf.c
> use boot(RB_USERREQ | RB_HALT) to get back to the prom instead of
> special openfirmware calls; discussed with miod (deraadt@)
~ autoconf.c
> check for exit string earlier (deraadt@)
~ cpu.c ~ db_interface.c
~ locore.s ~ pmap.c
~ trap.c
> Move sparc64 to __HAVE_CPUINFO.
> ok miod@, deraadt@ (kettenis@)
~ autoconf.c
> setroot() was a ugly mix of MI and MD code, with different bugs on
> different
> machines. Instead -- build one solid clean MI version, and thenchange all
> the architectures to use it. ok various people, tested on almost all
> cases.
> (it is a 10094 line diff..) (deraadt@)
~ autoconf.c
> make findblkmajor() and findblkname() MI; ok miod (deraadt@)
~ clock.c
> Whack "No counter-timer" message. These days, most UltraSPARC cpu's don't
> have one.
> ok deraadt@ (kettenis@)
arch/sparc64/stand/ofwboot
~ Makefile ~ boot.c
+ vers.c
> sensible version strings; ok miod (deraadt@)
arch/vax/conf
~ files.vax
> setroot() was a ugly mix of MI and MD code, with different bugs on
> different
> machines. Instead -- build one solid clean MI version, and thenchange all
> the architectures to use it. ok various people, tested on almost all
> cases.
> (it is a 10094 line diff..) (deraadt@)
arch/vax/include
+ lock.h
> Provide <machine/lock.h> on all platforms, so that MI code may #include it
> unconditionnaly. (miod@)
arch/vax/vax
- rootfil.c ~ autoconf.c
> setroot() was a ugly mix of MI and MD code, with different bugs on
> different
> machines. Instead -- build one solid clean MI version, and thenchange all
> the architectures to use it. ok various people, tested on almost all
> cases.
> (it is a 10094 line diff..) (deraadt@)
~ autoconf.c
> make findblkmajor() and findblkname() MI; ok miod (deraadt@)
arch/zaurus/conf
~ GENERIC
> setroot() was a ugly mix of MI and MD code, with different bugs on
> different
> machines. Instead -- build one solid clean MI version, and thenchange all
> the architectures to use it. ok various people, tested on almost all
> cases.
> (it is a 10094 line diff..) (deraadt@)
arch/zaurus/zaurus
~ autoconf.c
> setroot() was a ugly mix of MI and MD code, with different bugs on
> different
> machines. Instead -- build one solid clean MI version, and thenchange all
> the architectures to use it. ok various people, tested on almost all
> cases.
> (it is a 10094 line diff..) (deraadt@)
~ autoconf.c
> make findblkmajor() and findblkname() MI; ok miod (deraadt@)
conf
~ GENERIC
> Enable FFS2, okay deraadt@ (pedro@)
~ newvers.sh
TAGGED OPENBSD_4_1
> enter -stable (henning@)
dev
~ softraid.c
> ';;' doesnt work on older gcc..
> i.e. my sparc and vax and m68k couldn't build this
> problem found by me, fix by pedro
> ok marco@ (todd@)
~ softraid.c ~ softraidvar.h
> Refactor metadata code; this is the first step to be able to bringup
> devices at boot time.
> Reset the metadata versions to 1 until this solidifies we wont change
> these. (marco@)
~ softraid.c
> Add a function to free all discipline members and the discipline itself.
> Move allocation of "in memory copy" of metadata into the new function.
> (marco@)
~ softraid.c
> Make meta_read use the metadata memory that is provided in the discipline.
> (marco@)
dev/acpi
~ acpicpu.c
> at least always print a new line, even if NOPSS (tedu@)
dev/cardbus
~ if_xl_cardbus.c
> move xl_detach() -- which is only used by cardbus -- to the cardbus code.
> ok jsg (deraadt@)
dev/ic
~ aic7xxx.c ~ aic7xxx_openbsd.c
~ aic7xxx_openbsd.h
> Eliminate unused inline functions and replace ahc_lock() which
> resolves to s = splbio() and ahc_unlock() which resolves to splx(s)
> with splbio/splx calls.
> ok marco@ dlg@ (krw@)
~ malo.c
> Enable fast channel switching in monitor mode, which makes apps like
> kismet happy. Previously system got very slow because at every channel
> switch an ENETRESET was issued.
> Reported and diff by Steffen Schuetz <st.sch at gmx.net>. Closes PR 5452.
> OK claudio@ (mglocker@)
~ acx.c
> Add monitor mode. Add fast channel switching. Do some simplifications
> while there.
> Comments, tested, and OK claudio@ (mglocker@)
~ re.c
> Properly ifdef debug bits to save a bit of space.
> ok reyk@ (jsg@)
~ xl.c
> move xl_detach() -- which is only used by cardbus -- to the cardbus code.
> ok jsg (deraadt@)
~ malo.c
> malo_hexdump() is only used by code under MALO_DEBUG, so ifdef it
> ok mglocker@ claudio@ (jsg@)
dev/isa
~ mcd.c
> move bcd tables to the only place that uses them (the unused mcd driver);
> ok miod (deraadt@)
dev/ofw
~ ofdisk.c
> Replace another expansion of DISKLABELDEV with the define itself. (krw@)
dev/pci
~ viapm.c
> Match on VT8237A/VT8251/CX700 like the equivalent Linux driver does.
> ok kettenis@ (jsg@)
~ piixpm.c
> Match on ATI IXP/SB600 as well.
> Seen in a dmesg from alemao <skanabiz at gmail.com>
> ok grange@ (jsg@)
~ if_tht.c
> when completing a tx pkt, put it back on the tx free list, not the rx one.
> found by Nadav Shemer at Tehuti Networks. (dlg@)
~ if_tht.c
> when we post a fifo we're giving the dma mem back to the hardware, so we
> need a presync, not a postsync.
> another good find by Nadav Shemer at Tehuti Networks (dlg@)
~ if_tht.c
> we dont want to completely fill fifos, so leave a gap when we calculate
> how much of the fifo we want to write firmware to.
> from Nadav Shemer at Tehuti Networks (dlg@)
~ if_tht.c
> clocks and pll register bits (dlg@)
~ if_tht.c
> Nadav Shemer of Tehuti Networks is magical.
> not leaving the gap in the txt fifo when uploading the firmware was the
> cause of my fifo write bug in tht_start. because i was filling the whole
> fifo, i was writing the wptr back to its original position. because of
> this i dont think the firmware thought i had written anything. only the
> last short chunk would have been noticed, which strikes me as possibly
> confusing to the chip.
> this diff removes the delay at the top of tht_fifo_post. one less XXX :)
> (dlg@)
~ if_tht.c
> fix dmesg; ok dlg (deraadt@)
~ if_nx.c ~ if_nxreg.h
> move the firmware validation to a mountroot hook to allow loading of
> an alternative firmware image from disk (not yet implemented). this
> also minimizes the additional delay to wait for the firmware to become
> ready because the firmware bootstrap is triggered in the attach
> function and the state is polled later in the mountroot hook. (reyk@)
~ if_nx.c
> decrease the delay in the register wait loop again and add a debug
> message to print the number of loops. (reyk@)
~ if_nx.c
> add missing newline in printf (reyk@)
~ if_nx.c ~ if_nxreg.h
> initial code for firmware loading and initialization. it is used by
> the reset function and will be used later to load an
> alternative/updated firmware image and bootloader from disk if the
> images from the flash are not supported by the driver. (reyk@)
~ if_nx.c
> read the per-port link state (reyk@)
~ if_nx.c
> run the nx_tick function every second to check the link state, even if
> the interface is down. (reyk@)
~ if_nx.c
> fix shift by port (reyk@)
~ if_nx.c ~ if_nxreg.h
> better handling of the firmware state madness (reyk@)
~ if_nx.c ~ if_nxreg.h
> implement the soft reset of the hardware according to section 3.5.6 of
> the doc). (reyk@)
~ if_nxreg.h
> fix some register offsets (reyk@)
~ pcidevs
> VIA P4M890 ids from Graeme Lee <graeme at omni.net.au> (jsg@)
~ pcidevs.h ~ pcidevs_data.h
> regen (jsg@)
~ if_vge.c
> Missing braces in vge_tick(). Fixes link state announcements.
> ok reyk@ (canacar@)
~ if_nx.c
> do not write every byte of the firmware to the same address, increment
> the register offset as well... (reyk@)
~ if_nx.c ~ if_nxreg.h
> shuffle some code and add additional states in the reset path. use a
> scheduled timeout to check for the boot process to finish in the reset
> code instead of waiting for a loooong delay (still use the long delay
> in the initial boot on attach because i cannot defer the
> initialization there). (reyk@)
~ if_nx.c
> fix the nx CRBINIT (initial register values from flash) and disable
> the firmware load for now. the doc says something like 'just copy data
> from flash to the same address in memory' but it is not that easy
> because there are even more configurable windows for the pci memory
> space. (reyk@)
~ if_nx.c ~ if_nxreg.h
> export the temperature sensor found on the nx(4) NICs. it reports degC
> and the states UNSPEC, OK, WARN, and CRIT. the driver should use this
> later to shutdown the NIC if the state becomes CRITical.
> hw.sensors.nxb0.temp0=37.00 degC, OK (reyk@)
~ if_nx.c ~ if_nxreg.h
> some fixes
> - fix the reset path and remove the '#if 0'. firmware loading makes me cry
> - update the SW (CRB) register offsets to match the upcoming 3.4.31
> firmware
> - the link state and ifmedia should work now with a register and code fix
> - ... (reyk@)
~ pciide.c
> Another VIA VT8237A SATA.
> Tested by Graeme Lee <graeme at omni.net.au> (jsg@)
~ if_bge.c
> do { } while (0) for the debug macros (dlg@)
~ if_bge.c
> the 5754 and 5787 share the same ASIC ID, make the crazy strings list both
> so its obvious to people working on the code (dlg@)
~ azalia.c ~ azalia.h
~ azalia_codec.c
> - Add support for handling unsolicited events (based on NetBSD).
> - The STAC9200 codec was mistakenly referred to as STAC9220. Change
> this to STAC9200 and add a link to the datasheet.
> - Add a new target, MI_TARGET_PINCTRL, to azalia_generic_mixer_set()
> that allows us to turn pins on and off.
> - Add an unsolicited event handler for STAC9200 that will toggle the
> headphone and speaker pins. This means the speaker will now mute and
> unmute based on headphone presence.
> - Spelling: PRESENSE -> PRESENCE
> Tested by ajacoutot@, tedu@ and krw@, ok krw at . (deanna@)
~ if_nx.c ~ if_nxreg.h
> carefully set the correct memory windows (crb/pci) and add a dummy
> read after changing the windows to make sure that the value has been
> set. also change the code to automatically set the correct window
> which is less error-prone than the manual approach. these changes
> finally fix the problems with reset and firmware loading.
> this commit also includes some unrelated changes like register
> updates, port-specific register mapping, rx/tx pause status etc. (reyk@)
~ nviic.c
> convert lockmgr to rwlocks (dlg@)
~ alipm.c ~ amdiic.c
~ amdpm.c ~ ichiic.c
~ nviic.c ~ piixpm.c
~ viapm.c
> convert lockmgr style locks to rwlocks.
> input from art@ (dlg@)
~ if_bge.c
> The ring replenish threshold change needed to work around a hardware
> problem also appears to be required on the BCM5754/5787 in the Dell
> PowerEdge SC440 and OptiPlex GX745. dlg identified the problem and
> came up with the fix.
> Tested by dlg@, ckuethe@, reyk@; thanks.
> ok dlg@ beck@ reyk@ (tom@)
~ pcidevs
> Philips/NXP ISP156x USB controllers as found in ONDA Communication H600.
> (jsg@)
~ pcidevs.h ~ pcidevs_data.h
> regen (jsg@)
~ alipm.c
> missed an struct lock to struct rwlock in the softc.
> found by and ok claudio@ (dlg@)
~ azalia.c
> Fix a typo that was preventing the full device name from being printed.
> ok deraadt@ (deanna@)
~ if_nx.c ~ if_nxreg.h
> a nxb NIC can have up to 4 nx ports and the latest firmware uses some
> port-specific registers, for the NIU (phy) and the CRB (~mac). fine.
> but i have to use an ugly mapping table for the port-specific crb
> registers because their offsets are not consistent and do not allow to
> use a subregion per port. ugh. (reyk@)
~ if_nx.c ~ if_nxreg.h
> allocate DMA memory for the per-port Rx, Tx (command), and Status ring
> context. (reyk@)
~ if_vic.c
> do not call vic_init() on ENETRESET in the ioctl handler, use
> vic_iff() instead. vic_init() calls vic_init_data() which sets up the
> rings and allocates the dma maps. it could happen that vic_init() was
> called for multiple times without releasing them first by calling
> vic_uninit_data(). ouch! this may have caused some problems related to
> dmamap corruption but we'll do further investigation.
> ok dlg@ (reyk@)
~ if_nx.c ~ if_nxreg.h
> swap the port register table arrays to make it better readble and fix some
> register typos... on init, wait for the receive engine to be ready before
> setting up the descriptor rings. (reyk@)
~ if_vic.c
> when it does not compile we KNOW it was not tested. come on (deraadt@)
~ if_sis.c
> Initialize the sis_timeout early in attach instead of sis_init.
> Sometimes we can can call timeout_del on it before we call sis_init.
> From mickey. art@ ok. (art@)
~ files.pci
> bnx requires firmload (jsg@)
~ files.pci
> firmload for nx as well (jsg@)
~ if_tht.c
> wrap the wptr round when we hit the end of the fifo. (dlg@)
~ if_tht.c
> put more rx descriptors back on the chip straight after we've taken some
> off. (dlg@)
~ if_tht.c
> disable debugging output (dlg@)
~ if_tht.c
> call the right function to fill the rxf fifo after rxd (dlg@)
~ if_tht.c
> increase the number of tx and rx descriptors from 64 to 128 each (dlg@)
~ if_tht.c
> advertise tx checksumming to the network stack, and tell the hardware to
> do it. (dlg@)
~ if_tht.c
> the hardware does checksumming on rx as well. mark the mbufs with what the
> hw says. (dlg@)
~ if_nx.c ~ if_nxreg.h
> allocate dma memory, setup rx/tx/status rings, initialize the ring
> context, and enable interrupts. it is not yet ready - i still need to
> implement the rx/tx handlers, handle the producer/consumer ids, and
> make it work. (reyk@)
~ if_nx.c ~ if_nxreg.h
> disable the interrupts on interface shutdown (reyk@)
~ if_bce.c
> Properly ifdef debug bits to save a bit of space.
> ok reyk@ (jsg@)
~ if_tht.c
> typo (dlg@)
~ if_tht.c
> point the macros for the interrupt coalescing registers at the right
> location. they moved from what the doco says to somewhere else.
> pointed out by Nadav Shemer (thanks) (dlg@)
dev/usb
~ usbdevs
> ONDA Communication H600 (jsg@)
~ usbdevs.h ~ usbdevs_data.h
> regen (jsg@)
~ umsm.c
> Support ONDA Communication H600.
> Tested by Massimo Lusetti <massimo at cedoc.mo.it> (jsg@)
~ if_axe.c
> Remove axe_rxstart() which is an uneeded leftover from the FreeBSD version.
> (jsg@)
~ umidi.c ~ umidi_quirks.c
> #include <sys/lock.h> not needed. i.e. these compile fine without it.
> (krw@)
~ if_aue.c ~ if_auereg.h
~ if_udav.c ~ if_udavreg.h
~ if_url.c ~ if_urlreg.h
> More lockmgr -> rwlock low hanging fruit.
> ok dlg@ (krw@)
kern
~ subr_disk.c
> setroot() was a ugly mix of MI and MD code, with different bugs on
> different
> machines. Instead -- build one solid clean MI version, and thenchange all
> the architectures to use it. ok various people, tested on almost all
> cases.
> (it is a 10094 line diff..) (deraadt@)
~ kern_rwlock.c
> - Rename rw_test_and_set to rw_cas, since most litterature uses the
> test_and_set name for some other operation, while cas is generally
> used for compare and set (cmpxchg in intel land, cas in sparc land).
> - Make rw locks properly MP safe (provided that rw_cas is implemented
> in MD code). Most operations were MP safe except the sleep where we
> could have set the "I'm sleeping" flag before actually going to sleep
> so that the wakeup could miss us. Now, using the split tsleep,
> we first setup the sleep (put us on the sleep queues), then set
> the flag aborting the sleep if the lock has changed and then finally
> go to sleep.
> miod@ ok (and he's been prodding me for days to get this in) (art@)
~ kern_rwlock.c
> Kill a dead variable.
> Pointed out by thib@ (art@)
~ subr_disk.c
> make findblkmajor() and findblkname() MI; ok miod (deraadt@)
~ subr_disk.c
> when we are in ramdisk mode, we must also disable any previous mountroot
> setting that pre-setroot() code did (for instance a network boot)
> found by phessler, tested by reyk (deraadt@)
~ vfs_vnops.c
> vn_access hasn't been used for ages and it's just a wrapper with
> locking around VOP_ACCESS. It can go. (art@)
~ subr_disk.c
> Kill disk_find and disk_resetstat that noone uses. If you ever need
> them, they are still in cvs. (art@)
lib/libkern
~ getsn.c
> some shorter code is better code (deraadt@)
- arch/amd64/strcat.S - arch/amd64/strcpy.S
- arch/i386/strcat.S - arch/i386/strcpy.S
- arch/m68k/strcat.S - arch/m68k/strcpy.S
- strcat.c - strcpy.c
~ arch/amd64/Makefile.inc
> remove strcpy and strcat from the kernel; they are dead and unused code.
> (OpenBSD does not use strcat/strcpy in the kernel, if people do it in
> external modules they should update their code)
> ok deraadt@ (reyk@)
- bcd.c ~ Makefile
~ libkern.h
> move bcd tables to the only place that uses them (the unused mcd driver);
> ok miod (deraadt@)
- locc.c ~ libkern.h
> locc() is dead, spotted by miod (deraadt@)
- arch/i386/locc.S - arch/m68k/locc.S
~ arch/i386/Makefile.inc ~ arch/m68k/Makefile.inc
~ arch/powerpc/Makefile.inc
> more locc() dies (deraadt@)
lib/libsa
~ stand.h
> remove strcpy and strcat from the kernel; they are dead and unused code.
> (OpenBSD does not use strcat/strcpy in the kernel, if people do it in
> external modules they should update their code)
> ok deraadt@ (reyk@)
net
~ if_tun.c
> Use if_flags instead of ifr_flags.
> It shouldn't make a difference, but some
> ioctl-callers don't initialize the ifreq properly.
> Fixes a panic w/ tun(4) on trunk(4).
> OK reyk@, claudio@ (mpf@)
netinet
~ ip_carp.c
TAGGED OPENBSD_4_1
> From mpf@
> > Don't pick up IPv6 link local IPs on address deletions.
> > This unbreaks carp reconfiguration.
> > OK henning@, mcbride@ (ckuethe@)
~ ip_carp.c
TAGGED OPENBSD_4_0
> From mpf@
> > Don't pick up IPv6 link local IPs on address deletions.
> > This unbreaks carp reconfiguration.
> > OK henning@, mcbride@ (ckuethe@)
~ ip_carp.c
TAGGED OPENBSD_4_0
> make carp's routing table modification attempts (imho broken by design)
> at least exhibit routing messages so it does not confuse the userland
> routing daemons by routing table changes not reflected by messages on the
> routing socket. effect would be bgpd using wrong nexthops for example, in
> the worst case (that i actually ran into) blackholing traffic.
> ok reyk claudio "looks correct" miod (henning@)
~ ip_carp.c
TAGGED OPENBSD_4_0
> do not fill RTAX_GATEWAY for RTM_DELETE, ok claudio (henning@)
netinet6
~ frag6.c
> framgent -> fragment (ray@)
~ in6_proto.c
> Reduce ip6_hdrnestlimit from 50 to 10. Normal IPv6 packets should not have
> more then 10 headers nested.
> OK deraadt@ henning@ mcbride@ (claudio@)
scsi
~ ses.c
> lockmgr -> rwlock.
> "reads good" art@ ok marco@ (krw@)
sys
~ queue.h
> Enable QUEUE_MACRO_DEBUG on DIAGNOSTIC kernels.
> Input and okays from krw@, millert@, otto@, deraadt@, miod at . (pedro@)
~ device.h
> setroot() was a ugly mix of MI and MD code, with different bugs on
> different
> machines. Instead -- build one solid clean MI version, and thenchange all
> the architectures to use it. ok various people, tested on almost all
> cases.
> (it is a 10094 line diff..) (deraadt@)
~ rwlock.h
> - Rename rw_test_and_set to rw_cas, since most litterature uses the
> test_and_set name for some other operation, while cas is generally
> used for compare and set (cmpxchg in intel land, cas in sparc land).
> - Make rw locks properly MP safe (provided that rw_cas is implemented
> in MD code). Most operations were MP safe except the sleep where we
> could have set the "I'm sleeping" flag before actually going to sleep
> so that the wakeup could miss us. Now, using the split tsleep,
> we first setup the sleep (put us on the sleep queues), then set
> the flag aborting the sleep if the lock has changed and then finally
> go to sleep.
> miod@ ok (and he's been prodding me for days to get this in) (art@)
~ device.h
> make findblkmajor() and findblkname() MI; ok miod (deraadt@)
~ vnode.h
> vn_access hasn't been used for ages and it's just a wrapper with
> locking around VOP_ACCESS. It can go. (art@)
~ disk.h
> Kill disk_find and disk_resetstat that noone uses. If you ever need
> them, they are still in cvs. (art@)
ufs/ffs
~ fs.h
> Update CGSIZE macro so that it is no longer based on fs_cpg.
> This was part of the ffs2 changes but was not committed earlier in
> order to make the userland and kernel changes independent.
> NOTE: the change to newfs require an updated fs.h; building an
> updated newfs with the old fs.h may result in a broken filesystem.
> OK otto@ (millert@)
== usr.bin =========================================================== 11/12 ==
http://www.openbsd.org/cgi-bin/cvsweb/src/usr.bin
calendar
~ calendars/calendar.music
> warren zevon's death
> from Matthew Clarke <clamat at telus.net> (jasper@)
cap_mkdb
~ getinfo.c
> Grammar. (ray@)
cdio
~ cddb.c
> use strtonum; ok millert@ (jdixon@)
col
~ col.c
> use strtonum; ok millert@ (jdixon@)
column
~ column.c
> use strtonum; ok millert@ (jdixon@)
cvs
~ cvs.c
> missing header; from Tobias Stoeckmann. (xsa@)
~ cvs.c
> make usage() __dead; from Tobias Stoeckmann. (xsa@)
~ cvs.1
> - checkout from a read-only repository implies -l.
> - -V and -Q are mutually exclusive, -Q takes precedence if both are
> specified though.
> initial diff from Tobias Stoeckmann, tweaks by jmc at . (xsa@)
~ root.c
> strtol() -> strtonum(); from Tobias Stoeckmann.
> OK ray@ otto at . (xsa@)
~ version.c
> like the init command, version does not take any extra args.
> from Tobias Stoeckmann. (xsa@)
encrypt
~ encrypt.c
> use strtonum; ok millert@ (jdixon@)
jot
~ jot.c
> use strtonum; ok millert@ (jdixon@)
m4
~ misc.c
> Localize variables and don't do anything after exit().
> OK espie@, moritz@, and jaredy at . (ray@)
sendbug
~ sendbug.c
> Save and restore signals once instead of each time fork fails with
> EAGAIN. (ray@)
~ sendbug.c
> Restore signals before returning. (ray@)
== usr.sbin ========================================================== 12/12 ==
http://www.openbsd.org/cgi-bin/cvsweb/src/usr.sbin
bgpd
~ rde_attr.c
> Fix a bad check in aspath_inflate() -- compare with the correct loop value.
> (claudio@)
~ rde_attr.c
> Better error messages. (claudio@)
~ rde.c
TAGGED OPENBSD_4_1
> From claudio@
> > When running show commands that are restarted make sure that we either
> > have pending imsgs to send or that we reduce the poll timout to 0. This
> > fixes hanging and extrem slow performing bgpctl show rib commands.
> > Found by Jon Morby additional testing by Stuart Henderson. OK henning@
> (ckuethe@)
hostapd
~ hostapd.c ~ privsep.c
> Use event(3) provided signal functions -- this decouples the event
> handling and so the signal handlers are safe to call whatever they want.
> This solves PR5463. OK reyk@ (claudio@)
hoststated
~ relay.c
> It is no longer needed to pass a cleared timeval to event_loopexit() NULL
> does the job just fine. OK reyk@ (claudio@)
kgmon
~ kgmon.c
> From dhill@ last year:
> - rename system to sys to stop shadowing the system() call.
> - remove variable names in function declarations
> - remove extern optarg and optind since it's defined in unistd.h
> - use %zu instead of %d to print size_t's
> OK jaredy@ (ray@)
lpr
~ common_source/startdaemon.c
> use warn() vs. perror() for consistency; ok millert@ (stevesk@)
~ common_source/startdaemon.c ~ lpd/lpd.c
> remove #ifndef SUN_LEN; ok millert@ (stevesk@)
~ lpd/lpd.8
> Deprecate the -W flag; it has been the default for years now.
> Joint effort with stevesk@ and jmc@ (millert@)
~ lpd/lpd.c
> remove code for -W, argument now a no-op; ok millert@ (stevesk@)
ntpd
~ client.c ~ ntpd.h
> aggressive spelling fix, spotted by jbg (deraadt@)
~ client.c
> if resolving a name fails, be more aggressive retrying, but with care:
> do not have more than one dns request outstanding per peer. resolves
> slow recovery when resolving fails initially, without clogging the
> pipe with lots of dns requests; tested by Jason George; ok deraadt@ (otto@)
ospfd
~ kroute.c
TAGGED OPENBSD_4_1
> From claudio@
> > ospfd and ripd a re busted in 4.1 because the are unable to track
> > linkstates. This was fixed in 1.43 of ospfd/kroute.c and 1.6 of
> > ripd/kroute.c.
> >
> > revision 1.43
> > date: 2007/03/13 16:48:03; author: claudio; state: Exp; lines: +4 -4
> > rtm_tableid is only valid for RTM_ADD, RTM_CHANGE and RTM_DELETE but not
> > for stuff like RTM_IFINFO or RTM_IFANNOUNCE. So move check to a save
> > location.
> > Always check rtm_type before accessing some random value inside the route
> > message. (ckuethe@)
pkg_add
~ OpenBSD/PackingList.pm ~ pod/OpenBSD::PackingList.pod
> use an AUTOLOAD to auto-create PackingList visitors when needed.
> Document visitors, at least partially. (espie@)
~ pkg_create ~ pkg_info
~ pkg_merge ~ pkg_mklocatedb
~ OpenBSD/Add.pm ~ OpenBSD/Delete.pm
~ OpenBSD/PackageLocator.pm ~ OpenBSD/Replace.pm
~ OpenBSD/SharedItems.pm ~ OpenBSD/SharedLibs.pm
> replace $p->visit('method') calls with $p->method
> now that it works. (espie@)
~ pkg_create
> rename archive into create_package, split its function into
> archive (when the arc is defined) and comment_create_package (if verbose).
> (espie@)
~ pkg_create
> now we always call create_package with a valid archive. (espie@)
~ OpenBSD/PackingList.pm ~ OpenBSD/PackingElement.pm
> make packing-lists more regular by including the CONTENTS. Avoid
> `recursion' by not writing it out. also remove PackingList::write,
> since it's a simple visitor. (espie@)
~ pkg_create
> explain how to archive special files, and turn
> create_package/comment_create_package into actual visitors for more
> regularity (espie@)
~ pkg_create
> turn avert_duplicates into a full visitor (espie@)
~ pkg_create
> rename compute_checksum to create_checksum (espie@)
~ pkg_create
> all of them.... (espie@)
~ pkg_create
> unify some other consistency checks (espie@)
~ pkg_create ~ pkg_create.1
~ OpenBSD/PackingElement.pm
> add most things concerning @ignore, since we now have ways nicer to do
> things.
> We still recognize @ignore in packing-lists for now, but we don't handle
> it. Not that register-plist has smart enough comparison functions that
> it doesn't care about @ignore at all... (espie@)
~ pkg_create
> stop looking at plist's internals during makesum, simply copy the objects
> over to the new plist using add_object for all objects. (espie@)
~ pkg_create
> tweak args to compute_checksum slightly, pass it the explicit file name
> we want to check. (espie@)
~ pkg_create
> move checksumming capabilities into base class (espie@)
~ pkg_create
> use more descriptive name (dir -> infodir) and pass it along to
> checksumming
> capabilities (to be able to fold special files case in later) (espie@)
~ pkg_create
> slight code reorg, no changes. (espie@)
~ pkg_create
> fold checksumming code for special files. As a bonus, we now check md5
> on package regeneration (espie@)
~ pkg_create
> add items based on options, not on file existence. (espie@)
~ pkg_create
> reorg main code to separate regeneration case better. (espie@)
~ pkg_create
> allow pkg_create to regen on a dirname, supply +CONTENTS automatically
> (espie@)
~ pkg_create
> unsimplify checksum creation, fix @link markers.
> found out by bernd@ (espie@)
~ pkg_create
> split preparation and check into prepare_item. (espie@)
~ pkg_create
> archive special files exactly like we archive normal files. This provides
> for more checks in very fishy cases (like if we end up with /var/db
> belonging
> to the wrong person). (espie@)
~ pkg_create
> special mode `pretend_to_archive' for -n, which does most things except
> writing the package itself (includes mode verifications). (espie@)
~ pkg_create
> Fix prepare_for_archival(). (bernd@)
~ pkg_create
> All options that add special files follow the same pattern, so reuse the
> same code. (espie@)
~ pkg_create
> make creation of special files more obvious. (espie@)
~ pkg_create
> simplify regen mode logic: if we don't add anything to the packing-list,
> we never have to check we added nothing.
> so, process -P/-W in two steps: stash we've seen them first, and add them
> later. As a benefit, sort/unify them once, so that we can stash them
> correctly directly. (espie@)
~ pkg_create
> don't bother trying to substitute if there's no $ in the string.
> According to perl's profiler, this actually accounts for *most* of the
> user time of pkg_create... (espie@)
~ OpenBSD/PackingElement.pm ~ OpenBSD/PackingOld.pm
> rename setKeyword to register_with_factory (espie@)
~ OpenBSD/PackingElement.pm ~ OpenBSD/PackingOld.pm
> define keyword() first, and allow register_with_factory() to reuse it
> by default. (espie@)
~ OpenBSD/PackingElement.pm
> allows us to register anything, and not just a class, with the factory.
> (espie@)
~ OpenBSD/PackingOld.pm
> use new functionality of register_with_factory: create objects for old
> packing elements. (espie@)
~ pkg_add ~ pkg_delete
~ pkg_info ~ OpenBSD/PackingElement.pm
~ OpenBSD/PackingOld.pm
> move the old elements into PackingElements, since the code is now
> much shorter. (espie@)
- OpenBSD/PackingOld.pm ~ Makefile
> remove PackingOld entirely (espie@)
~ pkg_create ~ OpenBSD/PackingElement.pm
> kill old constructs that have been deprecated since 2004. (espie@)
~ OpenBSD/Dependencies.pm
> kill code for handling old style dependencies. (espie@)
~ OpenBSD/PackingElement.pm
> unique objects probably use their class name as category. (espie@)
~ OpenBSD/PackingList.pm
> remove more traces of old dependencies (espie@)
~ OpenBSD/PackingElement.pm
> simplify signature computation slightly (espie@)
~ OpenBSD/PackingList.pm
> repair -L option, should work much better if we copy @localbase over...
> (espie@)
~ OpenBSD/PackingElement.pm
> add code to keep obsolete constructs around. This allows pkg_info to
> print them sensibly. (espie@)
~ OpenBSD/Dependencies.pm
> refactor: remove temp @avail, move it to an external code, slightly more
> explicit code. (espie@)
~ OpenBSD/Dependencies.pm
> move common code into a find_candidate function. (espie@)
~ pkg_add ~ pkg_create
~ pkg_info ~ pkg_merge
> remove extraneous () in method call: $o->method() becomes $o->method
> (espie@)
~ OpenBSD/Add.pm ~ OpenBSD/ArcCheck.pm
~ OpenBSD/CollisionReport.pm ~ OpenBSD/Delete.pm
~ OpenBSD/Dependencies.pm ~ OpenBSD/PackageLocation.pm
~ OpenBSD/PackageLocator.pm ~ OpenBSD/PackageRepository.pm
~ OpenBSD/PackageRepositoryList.pm ~ OpenBSD/PackingElement.pm
~ OpenBSD/PackingList.pm ~ OpenBSD/PkgCfl.pm
~ OpenBSD/Replace.pm ~ OpenBSD/RequiredBy.pm
~ OpenBSD/SharedItems.pm ~ OpenBSD/SharedLibs.pm
~ OpenBSD/Update.pm ~ OpenBSD/Ustar.pm
~ OpenBSD/md5.pm
> $o->method() becomes $o->method (espie@)
~ OpenBSD/Replace.pm
> remove extra "" that don't make sense. (espie@)
~ OpenBSD/PackingElement.pm ~ OpenBSD/PackingList.pm
> replace abstract Factory name with a more sensible create name.
> Call it OO, so that we can specialize it if we ever need it.
> Be more explicit about parameters. (espie@)
~ pkg_add ~ OpenBSD/Delete.pm
~ OpenBSD/Dependencies.pm ~ OpenBSD/PackingList.pm
~ pod/OpenBSD::PackingList.pod
> replace pkgbase with less confusing name localbase (espie@)
~ OpenBSD/PackingElement.pm
> replace general @args -> $args unless strictly needed.
> remove ($) prototypes which are more confusing than anything else. (espie@)
~ pkg_create
> move the fragments reading code to its own routine. (espie@)
~ pkg_create
> fix creation of packing-list for package regeneration (espie@)
~ pkg_add ~ OpenBSD/PackingList.pm
> remove future code to handle modules, that is unused and possibly badly
> designed as well. (espie@)
~ pkg_create
> Simplify code to handle fragments by using real objects. (espie@)
~ pkg_create
> move some checks after -q/-Q so that plists can still be printed.
> problem noticed by Bernd. (espie@)
~ pkg_create
> split copy_subst to allow for existing filehandle. (espie@)
~ pkg_create
> reorg tests to simplify logic (espie@)
~ pkg_create
> use copy_subst_fh (espie@)
~ pkg_create
> ditch extra param to copy_subst, now that it's constant. (espie@)
~ pkg_create
> set up new way to define COMMENTS, to be able to remove some stuff from
> the ports' infrastructure. (espie@)
~ pkg_create
> let pkg_create generate the correct description if the HOMEPAGE is empty.
> (espie@)
ripd
~ kroute.c
TAGGED OPENBSD_4_1
> From claudio@
> > ospfd and ripd a re busted in 4.1 because the are unable to track
> > linkstates. This was fixed in 1.43 of ospfd/kroute.c and 1.6 of
> > ripd/kroute.c.
> >
> > revision 1.43
> > date: 2007/03/13 16:48:03; author: claudio; state: Exp; lines: +4 -4
> > rtm_tableid is only valid for RTM_ADD, RTM_CHANGE and RTM_DELETE but not
> > for stuff like RTM_IFINFO or RTM_IFANNOUNCE. So move check to a save
> > location.
> > Always check rtm_type before accessing some random value inside the route
> > message. (ckuethe@)
syslogd
~ syslogd.c ~ syslogd.h
> - use getaddrinfo() instead of gethostbyname/getservbyname
> - reserve a poll descriptor entry for INET6 (not used yet)
> ok henning (jason@)
tcpdump
~ print-ip6.c
> Fix the out of bounds check when parsing IPv6 headers. Fixes a SIGSEGV
> when parsing IPv6 headers with unknown or corrupted header options.
> OK henning@ mcbride@ (claudio@)
~ print-rt6.c
> Don't fail hard on non RH0 routing headers. The calculation of the length
> of RH headers is always the same. Now tcpdump just prints the type, length
> and segleft headers for unknown headers.
> OK henning@ mcbride@ (claudio@)
===============================================================================
More information about the owc
mailing list