[owc] Weekly src changes ending 2007-04-22
OWC
auto at squish.net
Mon Apr 23 08:04:01 BST 2007
OpenBSD src changes summary for 2007-04-15 to 2007-04-22 inclusive
==================================================================
distrib/alpha distrib/i386
distrib/sets lib/libcurses
lib/libm regress/sbin
sbin/ccdconfig sbin/dumpfs
sbin/fsck_ffs sbin/isakmpd
sbin/newfs sbin/nmeaattach
sbin/pfctl share/man
sys/arch/alpha/alpha sys/arch/alpha/conf
sys/arch/alpha/include sys/arch/alpha/pci
sys/arch/amd64/amd64 sys/arch/arm/arm
sys/arch/arm/include sys/arch/hppa/hppa
sys/arch/i386/conf sys/arch/i386/i386
sys/arch/i386/include sys/arch/m88k/include
sys/arch/m88k/m88k sys/arch/macppc/conf
sys/arch/macppc/dev sys/arch/macppc/macppc
sys/arch/mips64/include sys/arch/mips64/mips64
sys/arch/sgi/conf sys/arch/sparc64/conf
sys/arch/sparc64/include sys/arch/sparc64/sparc64
sys/arch/vax/include sys/arch/vax/vax
sys/conf sys/dev
sys/dev/acpi sys/dev/ata
sys/dev/ic sys/dev/microcode
sys/dev/pci sys/dev/usb
sys/kern sys/net
sys/netinet6 sys/nfs
sys/ufs/ffs sys/uvm
usr.bin/calendar usr.bin/cvs
usr.bin/ftp usr.bin/less
usr.bin/nm usr.bin/patch
usr.bin/rcs usr.bin/spell
usr.bin/ssh usr.bin/systat
usr.bin/top usr.sbin/bgpd
usr.sbin/openssl usr.sbin/ospfd
usr.sbin/pkg_add usr.sbin/ripd
usr.sbin/watchdogd
== distrib =========================================================== 01/08 ==
http://www.openbsd.org/cgi-bin/cvsweb/src/distrib
alpha
~ common/Makefile.inc
> Without the -c 80, further adjustment is needed to build ramdisks, ok
> deraadt (drahn@)
i386
~ common/Makefile.inc
> Restore inode parameter for floppy fs to the previous value (524288)
> which appears to work around a bug in newfs's summary information
> generation when used in conjunction with the other fs parameters.
> (millert@)
sets
~ lists/man/mi
> sync (pvalchev@)
~ lists/base/md.alpha ~ lists/base/md.amd64
~ lists/base/md.armish ~ lists/base/md.aviion
~ lists/base/md.cats ~ lists/base/md.hp300
~ lists/base/md.hppa ~ lists/base/md.hppa64
~ lists/base/md.i386 ~ lists/base/md.landisk
~ lists/base/md.luna88k ~ lists/base/md.mac68k
~ lists/base/md.macppc ~ lists/base/md.mvme68k
~ lists/base/md.mvme88k ~ lists/base/md.mvmeppc
~ lists/base/md.sgi ~ lists/base/md.sparc
~ lists/base/md.sparc64 ~ lists/base/md.vax
~ lists/base/md.zaurus ~ lists/comp/mi
~ lists/man/mi
> sync (deraadt@)
~ lists/base/md.alpha ~ lists/comp/md.alpha
> sync (deraadt@)
~ lists/base/md.alpha ~ lists/base/md.amd64
~ lists/base/md.hppa ~ lists/base/md.hppa64
~ lists/base/md.landisk ~ lists/base/md.macppc
~ lists/base/md.mvmeppc ~ lists/base/md.sgi
~ lists/base/md.sparc64 ~ lists/comp/md.landisk
> sync (deraadt@)
~ lists/base/md.i386
> sync (deraadt@)
~ lists/man/mi
> sync (deraadt@)
~ lists/man/mi
> sync (deraadt@)
== lib =============================================================== 02/08 ==
http://www.openbsd.org/cgi-bin/cvsweb/src/lib
libcurses
~ tinfo/free_ttype.c
> ptr->term_names can point into ptr->str_table, so don;t free that one.
> fixes PR #5447. Fix verifed to be equal to the ifndef NO_LEAK part of
> current ncurses. (otto@)
libm
~ arch/amd64/s_floorf.S
> netbsd: stack sanity, leave the return PC alone
> ok kettenis@ (martynas@)
== regress =========================================================== 03/08 ==
http://www.openbsd.org/cgi-bin/cvsweb/src/regress
sbin
+ newfs/Makefile + newfs/checknewfs
> some newfs checks, not hooked in, because it needs certain disktab
> entries which are not available on all platforms (otto@)
== sbin ============================================================== 04/08 ==
http://www.openbsd.org/cgi-bin/cvsweb/src/sbin
ccdconfig
~ ccdconfig.8 ~ ccdconfig.c
> remove mention of -g and assocatiated options that aren't working now
> reminded by jmc (tedu@)
~ ccdconfig.8
> Remove the ``new i/o'' code. It has never worked well, noone has stepped up
> to fix it, and it goes in the way of good changes pedro is brewing.
> No functional change, tested todd@ millert@ (miod@)
dumpfs
~ dumpfs.c
> teach dumpfs about the 'updated' flag; ok pedro@ (otto@)
fsck_ffs
~ setup.c
> When trying to read the primary superblock, do not accidentially read
> a ffs1 alternate sb at the primary ffs2 sb location. Use the same test
> as the kernel does. ok millert@ pedro@ (otto@)
~ pass5.c
> use the correct size arg to memcmp when checking fs_cstotal.
> now jmc does not use 8TB in /tmp anymore. ok pedro@ (otto@)
isakmpd
~ message.c ~ message.h
~ udp_encap.c ~ virtual.c
> Fix interop-issue with vpn peers that start reyking on port 4500 when
> NAT-T is used. Solves problems with cisco and openswan.
> Tested by todd@ (cisco interop), ok ho@
> Original fix with Stefan Roth (stefan dot roth at siemens dot com),
> thanks! (hshoexer@)
~ conf.c ~ connection.c
~ exchange.c ~ ike_auth.c
~ ike_phase_1.c ~ ike_quick_mode.c
~ ipsec.c ~ isakmp_cfg.c
~ math_2n.c ~ message.c
~ nat_traversal.c ~ pf_key_v2.c
~ policy.c ~ sa.c
~ udp.c ~ udp_encap.c
~ ui.c ~ vendor.c
~ virtual.c ~ x509.c
> There's no point in checking ptr for NULL before doing free(ptr)
> since free(NULL) is just fine.
> ok hshoexer@ (moritz@)
~ ike_phase_1.c
> Use conf_free_list() after calling conf_get_list().
> Otherwise we leak memory.
> ok ho@ (moritz@)
~ conf.c
> Free allocated node in conf_set_now() before failing,
> so we do not leak memory.
> ok hshoexer@ (moritz@)
newfs
~ mkfs.c
> Fix merge error; fs_inodefmt was not being set for the ffs2 case (millert@)
~ mkfs.c
> don't let fpg and spc get out of sync. solves a few cases where newfs
> produces a bad cg when -c is used. ok pedro@ millert@ (otto@)
nmeaattach
~ nmeaattach.c
> Do not exit when the TIOCSDTR ioctl() fails, but output a warning.
> This makes claudio's ublox aek-4t happy. (mbalmer@)
pfctl
~ pfctl.8 ~ pfctl.c
> no whitespace allowed between -o and its argument, so update doc/usage()
> to reflect this;
> whilst there i had to wrap -t in Xo/Xc to stop line split,
> and i zapped some extra whitespace in usage();
> fixes user/5441 from sthen (jmc@)
~ pfctl.8 ~ pfctl.c
> fix -o handling. syntax is now -o none|basic|profile. -o without argument
> is invalid now, it doesn't serve any purpose any more anyway since that is
> the default. ok mcbride (henning@)
~ pfctl.c
> "o" in optiopt_list is superfluous now too (henning@)
== share ============================================================= 05/08 ==
http://www.openbsd.org/cgi-bin/cvsweb/src/share
man
~ man4/Makefile + man4/tht.4
> manpage for the tehuti network cards. (dlg@)
~ man4/Makefile + man4/nx.4
> Add a manpage for the upcoming nx(4) driver and the nxb(4) boards. (reyk@)
~ man4/tht.4
> link http://www.tehutinetworks.net (reyk@)
~ man4/nx.4
> correct an invalid .Dd; (jmc@)
~ man7/hier.7
> some updates to reflect xenocara;
> help/ok todd matthieu (jmc@)
~ man4/hifn.4
> - do not talk about cards no longer being made in the past tense
> - remove URLs, half of which were dead anyway
> - add powercrypt 5x
> fixes documentation/5451, from Tobias Stoeckmann
> help/ok naddy (jmc@)
~ man4/carp.4
> some markup from Dmitri Alenitchev, tweaked by myself; (jmc@)
~ man4/pppoe.4
> Add support for setting the address of the ppp peer.
> Use the proper in_ifscrub() / in_ifinit() calls for
> address changes to generate routing messages.
> The correct way to set the default route now
> needs the -ifp option, e.g.
> route add default -ifp pppoe0 0.0.0.1
> Since the route is set right after bringing
> the interface up, it still works w/out -ifp though.
> Changes mostly from NetBSD.
> Tested by Matthias Bauer and bluhm@
> OK canacar@ (mpf@)
~ man4/softraid.4
> Add much more language and provide a real life example on how to use this.
> (marco@)
~ man4/softraid.4
> 2 typos (marco@)
~ man4/softraid.4
> various tweaks; (jmc@)
~ man4/softraid.4
> make .Sh TERMINOLOGY part of the main text body; ok marco (jmc@)
~ man4/tht.4
> document that tht likes firmware. (dlg@)
~ man4/pci.4
> list tht and nx as wired nics. (dlg@)
~ man5/bsd.port.mk.5
> add sha256 in a few places, and update distinfo description a bit.
> reminded by Stuart Henderson
> ok jasper@ (steven@)
~ man5/bsd.port.mk.5
> kill trailing whitespace; (jmc@)
~ man4/man4.macppc/Makefile ~ man4/man4.macppc/macobio.4
+ man4/man4.macppc/blinkenlights.4
> As promised a manpage for blinkenlights.
> ok jmc (gwk@)
~ man4/man4.macppc/blinkenlights.4
> correct Xr (deraadt@)
~ man5/printcap.5
> repair a sentence that didn't make sense; ok jmc@ (stevesk@)
- man4/man4.macppc/blinkenlights.4 ~ man4/man4.macppc/Makefile
~ man4/man4.macppc/macobio.4 + man4/man4.macppc/xlights.4
> rename a very long driver name to something shorter, and more clear
> and while there, fix the interrupt name for vmstat -iz; ok gwk (deraadt@)
== sys =============================================================== 06/08 ==
http://www.openbsd.org/cgi-bin/cvsweb/src/sys
arch/alpha/alpha
~ machdep.c
> if possible, fill in hw.serialno;
> tsunami chipset alphas set this, maybe older ones as well (martin@)
~ interrupt.c
> fix generic soft interrupts; improve establishing and disestablishing of
> soft interrupts
> from NetBSD, 'reads good art@', also tested by robert@ (martin@)
arch/alpha/conf
~ GENERIC
> sili(4) works fine here. (dlg@)
arch/alpha/include
~ _types.h ~ intr.h
> fix generic soft interrupts; improve establishing and disestablishing of
> soft interrupts
> from NetBSD, 'reads good art@', also tested by robert@ (martin@)
arch/alpha/pci
~ cia_dma.c
> Contrary to the comment in cia_dma_get_tag(), there are machines with cia
> that have over 1.0G. Allow direct dma requests to fall back to SGMAPs.
> From NetBSD via brad; discussed with Miod, tested by myself (martin@)
arch/amd64/amd64
~ trap.c
> Remove leftover trapwrite() prototype from... 80386 support. (miod@)
arch/arm/arm
~ pmap.c
> No more vtophys() on arm. (miod@)
arch/arm/include
~ pmap.h
> No more vtophys() on arm. (miod@)
arch/hppa/hppa
~ conf.c
> tidy - number unused cdev_/bdev_ slots
> ok miod@ kettenis@ (todd@)
arch/i386/conf
~ RAMDISK
> developers keep killing ramdisk drivers (deraadt@)
~ files.i386
> Introduce a smp aware hw.setperf mechanism, it will scale all CPUs or
> cores by the same amount, i.e. if you do hw.setperf=50 both cores will
> be scaled to the opearting state corresponing to 50%. Tested by many with
> est (mainly on core2duo machines like X60 thinkpads). Only enable est
> during GENERIC.MP build no one tested powernow.
> ok art@ (gwk@)
~ RAMDISK
> oops (deraadt@)
arch/i386/i386
~ pmapae.c
> Do the late freeing of ptps in pae pmap as well.
> From mickey. (art@)
~ pmap.c
> When doing pmap_collect, skip wired mappings when removing.
> From NetBSD, miod@ ok (art@)
~ mainbus.c ~ machdep.c
~ ipifuncs.c + mp_setperf.c
> Introduce a smp aware hw.setperf mechanism, it will scale all CPUs or
> cores by the same amount, i.e. if you do hw.setperf=50 both cores will
> be scaled to the opearting state corresponing to 50%. Tested by many with
> est (mainly on core2duo machines like X60 thinkpads). Only enable est
> during GENERIC.MP build no one tested powernow.
> ok art@ (gwk@)
arch/i386/include
~ cpu.h ~ intr.h
~ intrdefs.h
> Introduce a smp aware hw.setperf mechanism, it will scale all CPUs or
> cores by the same amount, i.e. if you do hw.setperf=50 both cores will
> be scaled to the opearting state corresponing to 50%. Tested by many with
> est (mainly on core2duo machines like X60 thinkpads). Only enable est
> during GENERIC.MP build no one tested powernow.
> ok art@ (gwk@)
arch/m88k/include
~ cpu.h
> Use atomic operations to change the pending software interrupt mask.
> (miod@)
arch/m88k/m88k
~ m88k_machdep.c
> Use atomic operations to change the pending software interrupt mask.
> (miod@)
arch/macppc/conf
~ files.macppc ~ GENERIC
> Add blinkenlights(4) a driver to control the 16 leds found on the front
> panel of the Xserve G4 and G5. The leds will provide an indication of the
> system load slowing as the load climbs, and system health e.g. no
> lights means its dead or in DDB.
> Split some of the shared registers and clock divisors from i2s into
> i2sreg.h while there nuke some evil C++ style comments.
> Man page to follow shortly.
> ok deraadt (gwk@)
~ GENERIC ~ files.macppc
> rename a very long driver name to something shorter, and more clear
> and while there, fix the interrupt name for vmstat -iz; ok gwk (deraadt@)
~ files.macppc ~ GENERIC
> Add sysbutton a driver for the 'System identifier' button found on the
> fornt panel of the xserve (the button with the triangle on it). This driver
> will dump you into ddb at the press of a button if the ddb.console sysctl
> is set. The bug still has one unresolved issue if ddb.console is not set
> and you press and hold the button you will cause a interrupt storm that
> will
> slow the system down. So if you keep your xserve near a toddler or you
> yourself are a toddler you might want to consider disabling this device
> remember buttons arn't toys.
> ok deraadt. (gwk@)
arch/macppc/dev
~ i2s.c + blinkenlights.c
+ i2sreg.h
> Add blinkenlights(4) a driver to control the 16 leds found on the front
> panel of the Xserve G4 and G5. The leds will provide an indication of the
> system load slowing as the load climbs, and system health e.g. no
> lights means its dead or in DDB.
> Split some of the shared registers and clock divisors from i2s into
> i2sreg.h while there nuke some evil C++ style comments.
> Man page to follow shortly.
> ok deraadt (gwk@)
~ blinkenlights.c ~ i2sreg.h
> Fix the rcs tags. (gwk@)
- blinkenlights.c + xlights.c
> rename a very long driver name to something shorter, and more clear
> and while there, fix the interrupt name for vmstat -iz; ok gwk (deraadt@)
+ sysbutton.c
> Add sysbutton a driver for the 'System identifier' button found on the
> fornt panel of the xserve (the button with the triangle on it). This driver
> will dump you into ddb at the press of a button if the ddb.console sysctl
> is set. The bug still has one unresolved issue if ddb.console is not set
> and you press and hold the button you will cause a interrupt storm that
> will
> slow the system down. So if you keep your xserve near a toddler or you
> yourself are a toddler you might want to consider disabling this device
> remember buttons arn't toys.
> ok deraadt. (gwk@)
~ adb.c ~ awacs.c
~ esp.c ~ i2s.c
~ if_bm.c ~ if_mc.c
~ macgpio.c ~ mesh.c
~ openpic.c ~ smu.c
> better interrupt names for vmstat -iz; ok miod gwk (deraadt@)
arch/macppc/macppc
~ autoconf.c
> macppcs can boot off usb disks, so treat "/usb" controllers in the ofw tree
> as storage controllers.
> this lets ottos macppc root off the usb disk he booted off. (dlg@)
arch/mips64/include
~ param.h
> Crank MAXPHYS to the regular 64KB. (miod@)
arch/mips64/mips64
~ pmap.c
> Segment tables are integral multiples of the page size in LP64 mode, so
> do not manage a freelist ourselves, but release them in pmap_destroy().
> (miod@)
arch/sgi/conf
~ Makefile.sgi
> do not ignore linker failures; ok miod (deraadt@)
arch/sparc64/conf
~ GENERIC
> ahci works on sparc64. wish the teeny teeny tiny jmicron sample i have
> had a bracket though, because it almost falls out of the pci slot...
> (deraadt@)
arch/sparc64/include
~ vmparam.h
> Do a simple switch to VM_PAGE_MD. Just the path of least resistance for
> now,
> more work coming soon.
> kettenis@ ok (art@)
arch/sparc64/sparc64
~ pmap.c
> Do a simple switch to VM_PAGE_MD. Just the path of least resistance for
> now,
> more work coming soon.
> kettenis@ ok (art@)
~ pmap.c
> - Use pmap_get_page and pmap_free_page to manage memory allocations
> for sparc64 pmap. They take care of all the magic of checking for
> initialized pages, zeroing them, etc.
> - merge pmap_create and pmap_pinit.
> - don't do the page allocation dance in pmap_kenter, we have growkernel.
> - Clean up if I was close to something dirty.
> kettenis@ ok (art@)
arch/vax/include
~ pmap.h ~ vmparam.h
> Switch the vax pmap to __HAVE_VM_PAGE_MD.
> pv_entry head of lists are no longer preallocated at boot, and will only be
> allocated for managed pages (instead of all physical memory pages,
> including
> those containing the kernel).
> pmap and pv_entry will now be allocated from a pool, instead of malloc for
> the
> former and a homegrown allocator which never relinquishes unused elements
> to
> the VM system for the latter.
> The net result is a slight decrease in memory usage, and better behaviour
> in
> low-memory conditions. (miod@)
arch/vax/vax
~ pmap.c
> Switch the vax pmap to __HAVE_VM_PAGE_MD.
> pv_entry head of lists are no longer preallocated at boot, and will only be
> allocated for managed pages (instead of all physical memory pages,
> including
> those containing the kernel).
> pmap and pv_entry will now be allocated from a pool, instead of malloc for
> the
> former and a homegrown allocator which never relinquishes unused elements
> to
> the VM system for the latter.
> The net result is a slight decrease in memory usage, and better behaviour
> in
> low-memory conditions. (miod@)
conf
~ GENERIC
> Add commented out entry for FFS2 (millert@)
dev
~ softraid.c
> Shuffle ccb contents and clean up a loop (marco@)
~ softraid.c
> Whenever there are mutliple outstanding IOs a chunk can transtion multiple
> times to the same state. Ignore that.
> Tested by thib@ (marco@)
~ ccd.c ~ ccdvar.h
> Remove the ``new i/o'' code. It has never worked well, noone has stepped up
> to fix it, and it goes in the way of good changes pedro is brewing.
> No functional change, tested todd@ millert@ (miod@)
~ softraid.c
> Silly tedu, partitions are measured in blocks not in bytes. (marco@)
~ softraid.c ~ softraidvar.h
> Add initial metadata write function and hook it up. (marco@)
~ softraid.c
> Save volume and chunk metadata as well. (marco@)
~ softraid.c ~ softraidvar.h
> Add volumes to sensors. (marco@)
~ softraid.c
> Account for mbr and partition table when writing meta data.
> Error report by Johan Mson Lindman <tybollt at solace.miun.semarco@)
~ softraid.c ~ softraidvar.h
> Remove big endian in metadata; prompted by deraadt.
> Align metadata to 64 bit; from deraadt. (marco@)
~ softraid.c
> Make sure we don't write too much metadata. (marco@)
~ softraid.c ~ softraidvar.h
> Skip past SBLOCK_UFS1 to make sure that metadata does not destroy anything
> filesystem related.
> pointed out by deraadt (marco@)
~ softraid.c ~ softraidvar.h
> Don't use SBLOCK_UFS1. Don't call it SKIP either.
> Pompted by deraadt (marco@)
~ softraid.c ~ softraidvar.h
> Add more debug output for metadata.
> Spacing as well. (marco@)
~ softraid.c
> Calculate metadata checksums.
> Add chunks to debug prints. (marco@)
dev/acpi
~ acpidock.c
> Fix debug info when docking/undocking so it tells users what they need
> to know:
> acpidock0: undock: status undocked
> acpidock0: dock: status docked
> This gets rid of all the garbage output that I used long ago. (mk@)
~ acpidock.c
> Fix a really emberrassing bug: Do not unconditionally call _DCK with a
> parameter of 1 (dock).
> This was causing acpidock to attempt to dock even if the machine was not
> in its dock which was causing hangs on pre-60 series ThinkPads. It was
> also causing my X60 to not see NOTIFY 0 (dock) messages which would
> initiate the docking sequence.
> Diff from Matthew R. Dempsky.
> Tested on X60 by me, on T42/43 by brad, ckuethe, reyk, Johan M:son, and
> on T21 by reyk. I think someone also tested on X40/41 but I don't
> remember who. Thanks a lot. (mk@)
~ acpi.c
> Now that acpidock no longer hangs machines during boot (at least
> according to the reports I've been getting) it should be safe to enable
> it again, so remove the #if 0 stuff around it.
> ok marco (mk@)
~ acpidock.c ~ acpidev.h
> Add a TAILQ, aml_nodelist, of devices depending on the dock device to
> struct acpidock_softc and stuff devices into it during attach.
> This list is not yet used, but I have code ready to handle the ACPI side
> of this. However, it still doesn't handle that there may in fact be
> multiple dock devices in a machine (e.g. on pre-60 series ThinkPads), but
> I need to figure out how to do so properly first. In the mean time I want
> this in the tree so I don't lose the code. (mk@)
~ acpidock.c
> Remove unnecessary local variable in acpidock_status() and kill an XXX
> by using STA_PRESENT instead of home-brewed value. (mk@)
~ acpidev.h
> Whitespace cleanup. (mk@)
dev/ata
~ atascsi.c
> when an ata command returns an error, dont fill dmesg with messages about
> it. returning an error to the scsi midlayer is all we need to do, which in
> turn will do the right thing. (dlg@)
dev/ic
~ wdc.c
> During the drives detection only check the status register to be not
> 0xff, this will allow to detect some certain microdrives plugged
> into soekris.
> Patch from Jochen <jochen at penguin-breeder.orgia PR 5340. (grange@)
~ malo.c
> The debug printf in malo_newstate() is too verbose so require debug level 2
> to print it. (claudio@)
~ lm78.c
> make it compile again if LMDEBUG is defined;
> ok kettenis@ (robert@)
~ gem.c ~ gemvar.h
> Cleanup phy selection code, simplifying the code considerably. Attach only
> one phy on Sun ERI; gets rid of the duplicate phy on the blade1k.
> tested by many, ok drahn@ (kettenis@)
~ malo.c
> Increase the delay while uploading a firmware buffer in
> malo_load_firmware().
> We're doing DMA transfers without interrupts or some other indication and
> 100 microseconds is not enough on my X40 and so the firmware gets
> corrupted.
> Increasing it to 500 microseconds this should give us enough safety margin.
> OK mglocker@ (claudio@)
~ sili.c
> disable debug output here too. it's working fine (even on strange archs)
> (dlg@)
dev/microcode
+ tht/microcode.h
> tehuti are allowing us to distribute their firmware under a 4 clause bsd
> license. thanks to Alexander Indenbaum and Nick Bhavsar at Tehuti for
> sorting this out. (dlg@)
~ tht/microcode.h + tht/Makefile
+ tht/build.c + tht/tht-license
> add bits to turn microcode.h into an actual blob. needs endian fixes yet.
> (dlg@)
~ tht/build.c
> the tht firmware isnt technically a firmware, its a series of commands
> interleaved with data, which is copied directly into the task fifo of a
> tht controller. the commands and data are all 32bit words, and they all
> have to be little endian. this byteswaps the host ordered values in
> microcode.h into little endian values for the controller to eat.
> you can now build the firmware correctly on big endian archs. (dlg@)
~ tht/microcode.h
> format and knf the array so it looks more like c and less like a csv.
> (dlg@)
~ Makefile
> descend into tht (dlg@)
~ tht/Makefile
> correct list of architectures (deraadt@)
~ bnx/Makefile
> correct list of architectures
> ok deraadt@ (reyk@)
dev/pci
~ if_casreg.h
> Add defines for Rx page size register. (kettenis@)
~ if_casvar.h ~ if_cas.c
> Give this code a chance to work on platforms where the page size isn't 8k.
> (kettenis@)
~ if_cas.c
> Make code that fetches the MAC address from PCI ROM actually work.
> (kettenis@)
~ pcidevs.h ~ pcidevs_data.h
> regen (dlg@)
~ pcidevs
> add the tehuti vendor id, and all the product ids i can find (dlg@)
~ files.pci + if_tht.c
> this is a start at a driver for the tehuti networks 10Gb ethernet cards.
> dual port cards appear as only one pci device, so we attach the controller
> to pci (thtc at pci) and each port as a separate device (tht at thtc).
> this only attaches thtc so far. (dlg@)
~ if_tht.c
> map the host registers and establish the interrupt (dlg@)
~ if_tht.c
> Add a note that work on this driver is possible because Tehuti
> Networks donated us hardware and provided documentation. Thanks!
> "go for it" dlg@ (reyk@)
~ if_tht.c
> start at defining the regs. this is the 10g stuff. (dlg@)
~ if_tht.c
> different chips have a different number of ports, so map pci ids to the
> number of ports. (dlg@)
~ if_tht.c
> add the glue to attach tht at thtc (dlg@)
~ pcidevs
> Add NetXEN 10Gb Ethernet device IDs (some names are missing, but I
> found the IDs in their linux reference driver). (reyk@)
~ pcidevs.h ~ pcidevs_data.h
> sync (reyk@)
~ pcidevs
> adjust product names (reyk@)
~ pcidevs.h ~ pcidevs_data.h
> sync (reyk@)
~ if_tht.c
> move the tht autoconf glue before the thtc autoconf glue (dlg@)
~ if_tht.c
> move handling interrupts from thtc into separate handlers for each port.
> this means that the pci interrupt handling code iterates over our ports,
> not our driver, and counts the work they do separately. (dlg@)
~ if_tht.c
> create a register window for each port. (dlg@)
~ if_tht.c
> sigh, move tht autoconf stuff after thtc autoconf stuff. it will work
> better this way (dlg@)
~ if_tht.c
> add a point from tht_softc back to thtc_softc so we can use thtc's bus
> space bits. (dlg@)
~ if_tht.c
> add wrappers around bus space ops for each port (dlg@)
~ if_tht.c
> read the mac address off the port. i hope its the right way round.
> sleep time for me (dlg@)
~ files.pci + if_nx.c
+ if_nxreg.h
> Start a driver for the NetXen Inc. multi port 10Gb and Gigabit
> Ethernet devices. The driver attaches as nxb at pci for the
> controller/board and nx at nxb for each port. (reyk@)
~ if_nx.c
> move the nxb_tick function to a per-port nx_tick function (reyk@)
~ if_nx.c
> establish the interrupt per port and not per board (inspired by the
> tht driver) (reyk@)
~ if_nx.c
> not yet (reyk@)
~ if_nx.c
> move nxb_map_pci code into nxb_attach (reyk@)
~ if_tht.c
> do some byteswapping to make the mac address look more believable. i dont
> know if this will work on big endian machines but its should be trivial
> to fix. (dlg@)
~ if_tht.c
> initial bits for the network interface glue. (dlg@)
~ if_vic.c
> point ifreq in the ioctl path at something, so we can void dereferencing
> random memory. (dlg@)
~ if_tht.c
> add some ifmedia goop.
> it looks like the firmware used to have an interface for figuring out what
> the device was plugged into, and what it had negotiated, but the newer fw
> just has a bit saying "link up" or "link down".
> so all we will use the ifmedia stuff for is to show if the link is up or
> down. (dlg@)
~ if_vic.c
> a break in the default case, while unnecessary, is still nice. (dlg@)
~ if_tht.c
> start defining the hardware structures (dlg@)
~ if_tht.c
> lots of registers (dlg@)
~ if_tht.c
> define the bits in the RX_FLT register (dlg@)
~ if_tht.c
> tiny register additions (dlg@)
~ if_tht.c
> code to busy wait on registers and bits in bus_space (dlg@)
~ if_tht.c
> implement the software reset of a port as per the specification (dlg@)
~ if_tht.c
> reset the port before establishing the interrupt handler during attach
> (dlg@)
~ if_tht.c
> callers of sw_reset will print an error message if anythign goes wrong, so
> sw_reset itself doesnt have to (dlg@)
~ if_tht.c
> add a wrapper around single segment dmaable memory allocations. this has
> now been copied from ami into mpi, arc, vic, ahci, sili, and mfi. ive
> probably forgotten some others too. (dlg@)
~ if_tht.c
> move the tht attach args up a bit, for greater feng shui (dlg@)
~ if_tht.c
> start implementing support for the fifos on these chips.
> there are four types of fifos: a tx task fifo (packets get sent via this),
> a tx free fifo (for us to know when packets have been sent), a rx
> descriptor fifo (to give empty packets for the nic to fill), and an rx free
> fifo (when packets are recieved).
> each port can have four sets of these fifos, so you can effectively have
> completely independant io paths. however, due to the nature of our kernel
> there is no advantage in implementing the use of more than one set of
> these.
> so this diff creates wrappers around fifos, the allocation of the dma
> regions for them, and a description of which registers are used to manage
> them. (dlg@)
~ if_cas.c
> Pass arguments to DPRINTF in the right order. (kettenis@)
~ if_tht.c
> this is two (and a half) changes, but im too lazy to split them up.
> the first is the addition of handlers for the fifos. you can now check if
> there the fifo is ready to be used, pre sync it for use, do many
> incremental updates to it, then post sync it to tell the hardware that
> you've done something. the ready, pre, and post funcs are done for both
> the reader and writer fifos, but only updates to the writer fifos is
> implemented so far.
> the second change is the firmware loading. i needed the above changes to do
> this, and i needed firmware loading to test them, so this change gets both.
> so we have a mountroot hook (that was the half change) that allocates the
> tx task fifo, reads the firmware from disk, and then pushes the firmware
> onto the fifo. once that is done it spins till the firmware is ready, then
> cleans up everything it allocated for loading the firmware.
> this diff wont time out if anything goes wrong during fw_load. if anyone
> wants to look at a nice way of doing it, please do. (dlg@)
~ if_gem_pci.c
> Cleanup phy selection code, simplifying the code considerably. Attach only
> one phy on Sun ERI; gets rid of the duplicate phy on the blade1k.
> tested by many, ok drahn@ (kettenis@)
~ if_tht.c
> bits in the link status register (dlg@)
~ if_tht.c
> implement checking of the link status according to the firmware, and teach
> ifmedia about it.
> im not sure what the point of the ifmedia goo is if the only link type we
> support is "autoselect". using it to show the link state seems to be
> easier than implementing that ioctl ourselves. (dlg@)
~ if_tht.c
> we'd like to show if the nic has link regardless of whether the interface
> is up or not. (dlg@)
~ files.pci
> tht uses ifmedia and firmload (dlg@)
~ if_tht.c
> add fifo descriptors for the rxf and rxd fifos. (dlg@)
~ if_tht.c
> implement reads from a fifo. (dlg@)
~ if_tht.c
> this implements up and down routines for the interface. currently when
> brought up they allocate all four fifos and set the interface flags. when
> theyre brought down they clear the flags, wait for the tx fifos to drain,
> and then free all the fifos.
> interrupts are not yet dealt with. (dlg@)
~ if_tht.c
> add a lock around ioctl handling to prevent the posssibility that someone
> will try to bring the interface up in the middle of it being brought down.
> im sleeping in tht_down while waiting for the tx fifos to drain, so its
> possible something else can enter the ioctl handler while that's happening.
> (dlg@)
~ if_tht.c
> rename tht_rxf to tht_rx_free. tweak comments describing the hw structures
> a bit so theyre less offensive to my eyes. massage tht_rx_free a bit.
> (dlg@)
~ if_tht.c
> represent the uid field in all the descriptors as a u_int64_t instead of
> two u_int32_ts (dlg@)
~ if_tht.c
> create struct tht_pkt to keep track of mbufs that are on the hardware and
> their dmamaps. so far it looks like the same thing can be used to look
> after both the transmitted and recved packets.
> this also adds code to allocate a list of them and set up their dmamaps,
> some free list handling, and code to free them when you dont want them
> anymore. (dlg@)
~ if_tht.c
> quick macro to figure out how many 64bit words a buffer will use. (dlg@)
~ if_tht.c
> allocate a small list of tx and rx descriptors on interface up and down.
> (dlg@)
~ if_tht.c
> simplify some maths in fw_load a bit (dlg@)
~ if_vic.c
> when allocating a new mbuf for rx, do a dmamap_sync before handing it to
> the hardware. oops. (dlg@)
~ if_tht.c
> add tht_rx. this function will try to fill as much of the rx free fifo as
> possible. it loops till it runs out of tht_pkts to use on the rx descriptor
> free list, until it runs out of space in the fifo, or until it cant
> allocate or map any more mbufs.
> tht has a weird requirement that the first physical buffer in an sg list is
> at least 128 bytes long. i have code that tries to guarantee that, but id
> like someone else to look at it and tell me if its necessary or dumb.
> (dlg@)
~ if_tht.c
> rename tht_rx to tht_rxf_fill to avoid confusion.
> keep a list of used pkts in tht_pkt_list as well as free ones. add
> tht_pkt_used which can be used to see if a tht_pkt_list is in use by
> returning the head of the used list inside itself.
> (ab)use this to drain the rx free fifo when the interface is brought down.
> tht_rxf_drain pulls used pkts off, unmaps their mbufs, frees them, and then
> returns the pkt to the free list. the whole tht_pkt_list can then be freed
> safely. (dlg@)
~ if_tht.c
> tht wants at least 128 bytes in the first physical segment of an rx buffer
> for some reason, so i had some code in there that tried to guarantee that.
> however, newly allocated mbufs and clusters are physically contiguous and
> bigger than 128 bytes. therefore we dont need to do that check.
> while here check if there is enough space in the fifo before trying to
> fill any of it. this means we can skip dma syncs if we're not going to end
> up writing anything in the fifo. (dlg@)
~ if_tht.c
> fill the rx free fifo on interface up, and drain it on interface down.
> (dlg@)
~ if_vic.c
> backout: compile before you commit, please (deraadt@)
~ ahci.c
> disable ahci debug output. ahci is working on the majority of chipsets,
> and its not helping us on those that arent. (dlg@)
~ ahci.c
> prettier debug, if it is ever re-enabled, ok dlg (deraadt@)
~ if_tht.c
> macros for accessing bits of the rx descriptors (dlg@)
~ if_tht.c
> i seem to be having lots of trouble with writing bus_dmamap_sync calls
> properly these days.
> when draining the rxf fifo we want to POSTREAD the mbuf, not PREREAD it.
> (dlg@)
~ if_tht.c
> start implementing processing of the rx descriptor fifo. this is the one
> that returns rx buffers to us that we previously posted in the rx free.
> theoretically we should now be receiving packets.
> practically, im still waiting on a cable so i can plug this card into
> something and test it, and then that's going to be difficult cos i only
> have two tht cards to test it. i need tx and rx working before i can test
> if tx and rx work. fun fun fun.
> this code doesnt process rx data change descriptors yet. (dlg@)
~ if_tht.c
> hookup bpf. this pushes packets along bpf on the rx side. i need to write
> tx now. (dlg@)
~ ahci.c
> unload the dmamap of the ccb used in ncq error handling once we've finished
> with it. prevents free panics on sparc64.
> found by deraadt on a v215. (dlg@)
~ ahci.c
> mark the ccb used for error handling as complete when it completes. this
> prevents dmesg spam when we return this ccb to the free list. (dlg@)
~ if_tht.c
> only printf if the firmware load failed. (dlg@)
~ if_tht.c
> this is the start of the transmit path. this takes packets off the
> interface send queue and puts them on the hardwares tx task fifo. the tx
> completion path hasnt been written yet.
> the mbuf dmamap loading has been stolen from vic.
> there's obviously a lot of code that is shared between the rxf fifo loading
> and the txt fifo loading. i also have to think about how to better
> calculate and keep track of space in the fifos.
> this is getting harder and harder. it sucks writing tons of code without
> being able to verify that it works. i might take a break for a bit. (dlg@)
~ if_casreg.h
> Correct offsets for Tx completion regs. (kettenis@)
~ if_tht.c
> process the tx free queue. this indicates when transmitted packets have
> been completed. it's the simplest fifo of the lot, im sorry i didnt start
> with it.
> this is the last of the fifos we have to deal with. now we need an
> interrupt handler, but i wont be doing that till i get my cable. (dlg@)
~ if_vic.c
> this is my previous commit again, but this time it was tested.
> dma sync the rx mbuf before we push it to the hardware.
> technically this isnt necessary cos bus_dmamap_sync is a nop on i386 and
> amd64. but i like to be correct, and someone might read this as an example
> of how to write a driver. (dlg@)
dev/usb
~ usbdevs
> Another unbranded udav(4) device.
> From laurent FANIS <laurent.fanis at gmail.comjsg@)
~ usbdevs.h ~ usbdevs_data.h
> regen (jsg@)
~ if_udav.c
> Another unbranded udav(4) device.
> From laurent FANIS <laurent.fanis at gmail.comjsg@)
~ usbdevs.h ~ usbdevs_data.h
> regen (claudio@)
~ usbdevs
> Add Tenda TWL541U and XBOX 360 wireless adapter ids. (claudio@)
~ udcf.c
> Remove unused header files. (mbalmer@)
~ udcf.c
> Back out last. the world is not i386. (art@)
kern
~ kern_clock.c
> Don't bother performing ITIMER accounting on P_SYSTEM processes (i.e.
> kthreads).
> ok art@ kettenis@ (miod@)
~ kern_sysctl.c
> When vslocking memory for the sysctl make sure that we aren't trying
> to wire more memory than we are allowed to.
> miod@ ok (art@)
~ vfs_cache.c
> After we bumped the maximal number of vnodes by quite a bit we became
> painfully aware of what the comment:
> "This makes the algorithm O(n^2), but do you think I care?"
> actually means. I started to care.
> Fix up the cache_purgevfs algorithm to not be O(n^2) since it's not
> preemptible anyway and while I'm here, make this code actually return
> the cache entries to the pool instead of hogging them and implement a
> marginally faster free list. This way we return memory to the system
> when some parameters change.
> miod@ ok (art@)
~ vfs_cache.c
> Fix freeing of namecache entries in cache_purgevfs(), okay miod@ art@
> (pedro@)
net
~ if_sppp.h ~ if_spppsubr.c
> Add support for setting the address of the ppp peer.
> Use the proper in_ifscrub() / in_ifinit() calls for
> address changes to generate routing messages.
> The correct way to set the default route now
> needs the -ifp option, e.g.
> route add default -ifp pppoe0 0.0.0.1
> Since the route is set right after bringing
> the interface up, it still works w/out -ifp though.
> Changes mostly from NetBSD.
> Tested by Matthias Bauer and bluhm@
> OK canacar@ (mpf@)
~ if_gif.c
> Break out of the mtag check loop when a hit was found else we end up in a
> double free. Found and tested by Stefan Schmieta. OK markus@ mbalmer@
> (claudio@)
~ if_spppsubr.c
> Typo in comment. From Brad. (mpf@)
~ if_gif.c
> Cleanup spaces. (claudio@)
netinet6
~ route6.c
> did you know that IPv6 packets are actually carried by turtles?
> because turtles are slow but reliable and trustworthy, packets stays
> on the net for a long period of time. bigger turtles can stay much longer.
> that is the hidden secret reason for the name of KAME project (i'm lying).
> j> some IETFers need to be sent to bondage/SM club and spanked/whipped
> j> by thousands of dominas and then chopped into million peaces by samurai
> j> swords.
> t> maybe that is what they actually want, and that is why they
> t> fucked RFC1883 and put rosemary's baby into RFC2460.
> j> I am king of IETF now, and tomorrow i may become beggar on the IETF
> venue
> j> hotel corridor.
> http://www.secdev.org/conf/IPv6_RH_security-csw07.pdf
> ok by myself, deraadt@, <samurais at kame.net> (itojun@)
~ route6.c
TAGGED OPENBSD_4_0
> IPv6 routing headers are a type of 'super source routing', and pose a
> significant and serious risk to hosts and the internet. That this
> host-controlled routing even came into existance once again shows how
> broken the IETF process is. Disable this source routing, with
> prejudice.
> (a fix for 3.9-stable and an errata will follow soon) (mbalmer@)
nfs
~ nfs_kq.c ~ nfs_subs.c
~ nfs_var.h
> Replace the nfskevq_lock lockmgr lock with rwlock.
> Replace nfs_kqinit() wich just calls lockinit with
> RWLOCK_INITALIZER. Assorted cleanup.
> ok tedu@
> "reads good" art@ (thib@)
ufs/ffs
~ ffs_softdep.c
> Save block pointers contents before releasing interrupts so that panic
> messages are consistent, from mickey@, okay pedro@ (pedro@)
~ fs.h
> Do not use time_t for on-disk data structures, use int32_t instead
> since time_t will have to be crank to 64 bits at some point in the
> future. OK pedro@ (millert@)
uvm
~ uvm_km.c
> One more voff_t in the right place.
> miod@ ok (art@)
~ uvm_fault.c
> minor indentation. (art@)
~ uvm_km.c
> Clean up prototypes, change vm_map_t to struct vm_map *.
> miod@ ok (art@)
~ uvm_km.c
> Use the right types for calculating the object offset.
> miod@ ok (art@)
~ uvm_page.h
> Reserve a few pg_flags for pmaps that might want to use them.
> i386 will use them soon and miod wants to work on other pmaps in
> parallell.
> miod@ ok (art@)
~ uvm_stat.c
> Also show fpu context switches in show uvmexp in ddb.
> From mickey. art@ ok (art@)
== usr.bin =========================================================== 07/08 ==
http://www.openbsd.org/cgi-bin/cvsweb/src/usr.bin
calendar
~ calendars/calendar.birthday
> Add Leonhard Euler. (mpf@)
~ calendars/calendar.history
> +04/22 Portuguese navigator Pedro Alvares Cabral becomes the first
> + European to sight Brazil, 1500 (pedro@)
cvs
~ Makefile
> adjust Makefile for my man changes;
> fixes user/5449
> thanks Owain Ainsworth for pointing out my stupid mistake (jmc@)
~ cvsintro.7
> cvsrc(5) is no more, so point to cvs(5) instead; (jmc@)
~ logmsg.c ~ util.c
~ util.h
> - correct signal handling and process waiting for the EDITOR support code
> (From ray's code in sendbug(1))
> - nuke cvs_exec() as it is not used anymore
> Prompted by deraadt@ a few weeks ago.
> OK ray at .sa@)
ftp
~ fetch.c
> Support proxies which require a password just like ftp servers accept
> passwords
> based on code from Florent Thoumie, ok millert@ (drahn@)
less
~ NEWS ~ README
~ lsystem.c ~ version.c
> Update to less version 382. This removes some code that is licensed under
> a non-BSD license and which was not used on OpenBSD. No functional
> changes.
> From Daniel Dickmann <didickman at gmail.comok itojun, millert, ray,
> matthieu (mbalmer@)
nm
~ elf.c
> Fix a NULL dereference if the symbol table size is zero; ok millert@
> deraadt@ (miod@)
patch
~ patch.1 ~ patch.c
> adds a detailed synopsis to the man page; sorts options in
> the description list and adds missing arguments; syncs usage()
> written with a lot of useful advice by jmc@
> ok by jmc@ (sobrado@)
rcs
~ rcsclean.1 ~ rcsclean.c
> file argument is not mandatory, say so.
> from Pierre Riteau via ray@; OK jmc at .sa@)
~ rcs.1
> Add a reference to the original RCS paper.
> ok joris@ xsa@ jmc@ (jsg@)
spell
~ spell.ksh
> For "spell -t" pass the -w flag to detex like we do for deroff.
> From Owain Ainsworth. (millert@)
ssh
~ sftp-server.c
> cast "%llu" format spec to (unsigned long long); do not assume a
> u_int64_t arg is the same as 'unsigned long long'.
> from Dmitry V. Levin <ldv at altlinux.org > ok markus@ 'Yes, that looks correct' millert@ (stevesk@)
systat
~ keyboard.c
> allow systat(1) to be exited with 'q' like top(1).
> ok beck@ ckuethe@ hshoexer@ millert@ (matthieu@)
~ systat.1
> Remove non-existent keyword protocol and replace it with
> the correct keywords (tcp, udp, all). Also add another
> missing argument to the show keyword.
> With and ok jmc@ and deraadt@ (moritz@)
top
~ machine.c
> don't truncate wchan, ok miod@ (otto@)
== usr.sbin ========================================================== 08/08 ==
http://www.openbsd.org/cgi-bin/cvsweb/src/usr.sbin
bgpd
~ parse.y
> Make "network inet connected" work again. inet and inet6 became keywords
> some time ago. OK henning@ (claudio@)
~ kroute.c
> Use vectorized writes to send routing messages into the kernel instead of
> using a static message structure. This is more flexible and needed if
> multipath comes into play. looks good henning@ (claudio@)
openssl
~ openssl.1
> -These option are ignored
> +These options are ignored (jmc@)
ospfd
~ kroute.c
> Use iovecs to write routing messages to the socket instead of a static
> structure. This gives greater flexibility and solves an upcoming problem
> with multipath routes. OK norby@ (claudio@)
pkg_add
~ OpenBSD/PackingList.pm
> use autovivification (espie@)
~ OpenBSD/PackingElement.pm
> do not rely on side-effects in there. (espie@)
~ package.5 ~ pkg_add
~ pkg_add.1 ~ pkg_create
~ pkg_create.1 ~ pkg_delete
~ pkg_delete.1 ~ pkg_info
~ pkg_info.1 ~ pkg_mklocatedb
~ pkg_mklocatedb.1 ~ OpenBSD/Add.pm
~ OpenBSD/ArcCheck.pm ~ OpenBSD/CollisionReport.pm
~ OpenBSD/Delete.pm ~ OpenBSD/Dependencies.pm
~ OpenBSD/IdCache.pm ~ OpenBSD/Interactive.pm
~ OpenBSD/Mtree.pm ~ OpenBSD/PackageInfo.pm
~ OpenBSD/PackageLocation.pm ~ OpenBSD/PackageLocator.pm
~ OpenBSD/PackageName.pm ~ OpenBSD/PackageRepository.pm
~ OpenBSD/PackageRepositoryList.pm ~ OpenBSD/PackingElement.pm
~ OpenBSD/PackingList.pm ~ OpenBSD/PackingOld.pm
~ OpenBSD/PkgCfl.pm ~ OpenBSD/PkgSpec.pm
~ OpenBSD/ProgressMeter.pm ~ OpenBSD/Replace.pm
~ OpenBSD/RequiredBy.pm ~ OpenBSD/SharedItems.pm
~ OpenBSD/SharedLibs.pm ~ OpenBSD/Temp.pm
~ OpenBSD/Update.pm ~ OpenBSD/Ustar.pm
~ OpenBSD/Vstat.pm ~ OpenBSD/PackageRepository/SCP.pm
~ OpenBSD/PackageRepository/Source.pm
> update copyright years, standardize licence.
> reword the introduction to the stuff originally from FreeBSD to clarify
> slightly. (espie@)
~ OpenBSD/Interactive.pm
> very minor cleanup (espie@)
~ pod/OpenBSD::Vstat.pod
> document the subtle tweak to Vstat that allows updates to account for
> size issues accurately. (espie@)
~ pkg_add
> if running a full update, proceed if we can't find some packages. (espie@)
~ OpenBSD/Update.pm
> avoid both .libs-* and partial-*. Be a bit forceful about them, as they're
> going to cause problems if they're not cleaned from time to time. (espie@)
ripd
~ kroute.c
> Use vectorized writes to send routing messages into the kernel instead of
> using a static message structure. Similar diffs went into bgpd and ospfd.
> (claudio@)
watchdogd
~ watchdogd.8
> Note that watchdogd(8) activates and retriggers a watchdog timer, not only
> retriggers. (mbalmer@)
===============================================================================
More information about the owc
mailing list