LIST OF CHANGES FROM LAST RELEASE: <$Revision: 1.1556 $> [Note: This file does not mention every change make to the NetBSD source tree. For an exhaustive list, please subscribe to the `source-changes' mailing list, or see the mailing list archives. For more information, send a message containing just the word `help' to `majordomo@netbsd.org'.] Changes from NetBSD 1.3 to NetBSD 1.4: kernel: import libc vfprintf to replace old kprintf which did not handle all the standard printf formatting options properly [chuck 19971024] kernel/ddb: changed ddb "ps" so that it doesn't overflow lines [chuck 19971024] amd: upgraded to 6.0a13 [christos 19971025] dev: new MI VMEbus framework. [pk 19971101] netinet: Implement tcp_drain(), which frees the reassembly queue of open TCP connections in extreme low memory conditions. [thorpej 19971210] netinet: Fix the "stretch ACK violation" bug documented in internet draft draft-ietf-tcpimpl-prob-02.txt. [thorpej 19971211] netinet: implement support for larger initial windows in TCP, per discussion in the IETF tcpimpl working group. [thorpej 19971211] netinet: define INADDR_ALLRTRS_GROUP and INADDR_MAX_LOCAL_GROUP multicast groups (noted by chopps@netbsd.org) [thorpej 19971216] netinet: Pull in a few changes from 4.4BSD-Lite2 (effectively bringing us in sync in sys/netinet), including some optimization in processing of timers, and support for dropping persisting connections which are stuck longer than the maximum retransmit backoff (happens w/ buggy clients). [thorpej 19971217] netinet: implement a queue for delayed ACK processing, eliminating the need to scan all open TCP connections every 200ms. [thorpej 19971231] vm: standardize the interface to pmap_activate(), and implement it on platforms which previously didn't have one (bebox, powerpc, sparc, vax). [thorpej 19980102] vm: implement address space sharing (by keeping ref counts on the vmspace structure). Thanks to Chuck Cranor for the debugging assistence. [thorpej 19980102] vfork(2): new implementation that has old 3BSD semantics, i.e. address space is shared _and_ parent is blocked. This results in a fairly noticeable performance improvement in some situations. [thorpej 19980103] netinet: change the range for ephemeral ports from 1024..5000 to 49152..65535 as per IANA's Assigned Ports document. Allow tuning of these with sysctl net.inet.ip.anonport{min,max}. [lukem 19980105] gcc(1), g++(1): TMPDIR always default to /tmp (and /var/tmp is not used anymore). [lukem 19980106] Add support for passing credentials as ancillary data over Unix domain sockets, via the LOCAL_CREDS socket option, similar to BSD/OS, but with some differences. [thorpej 19980107] net: Make insertion and removal of sockets from the partial and incoming connection queues O(C) rather than O(N). [thorpej 19980107] netinet: add IP_PORTRANGE socket option, which allows control over whether ephemeral ports are allocated from the normal range or from a reserved port range (600..1023). Also added flag (INP_ANONPORT) to indicate if the port was ephemerally allocated. From FreeBSD, with changes. [lukem 19980108] netstat(8): if a pcb has INP_ANONPORT set, don't attempt to lookup the service name of the port. From FreeBSD. [lukem 19980108] vm: add chuck cranor's MACHINE_NEW_NONCONTIG code, that defines a new method of telling the VM system about physical memory configuration. [mrg 19980108] kernel: add general-purpose memory resource-pool allocator [pk 19980110] hp300: add a and a bus_space implementation. [thorpej 19980111] i386, sparc: convert to MACHINE_NEW_NONCONTIG. code by chuck cranor. [mrg 19980112] ide: bus_space-ified wd and drivers, made them MI, and split the wdc driver's ISA attachment off. [cgd 19980114] atapi: Added ATAPI disk ('sd') support. Tested on ATAPI zip, but should work on other ATAPI disks as well. [cgd 19980114] scsipi: Cleaned up the scsipi code (especially the 'cd' driver and ATAPI code) in various ways. [cgd 19980114] bebox: initial import of bebox kernel loader. [sakamoto 19980116] sup(1): changed system supfile directory (-s) from /usr/lib/supfiles to /etc/supfiles. [mikel 19980121] Add an event log for malloc, useful for debugging "Data modified" and "multiple free" problems. From Chris Demetriou. [thorpej 19980121] libkern: Add strrchr() to libkern. [cgd 19980121] ethernet: Update fxp driver to FreeBSD-current-19980122. Also, work around an apparent hardware bug where the board reports itself as prefetchable, but isn't actually prefetchable (this makes a significant difference on the Alpha). [thorpej 19980122] libkern: Add offsetof() to libkern.h, and make all the places that define their own use the libkern definition, with the exception of genassym and 3rd party packages (IP-Filter and the PDQ driver). [thorpej 19980127] ethernet: Convert fxp driver to use bus_dma. [thorpej 19980128] alpha: Initial platform support in arch/alpha for the Avalon A12 scalable parallel processor. [ross 19980129] alpha: Add support for the alpha port to sysinst, and create an "instkernel" with larger ramdisk which includes sysinst, useful for netbooting or putting on a CD-ROM. [thorpej 19980131] alpha: Add support for installing boot blocks onto ISO-9660 file system images, for making bootable CD-ROMs. [thorpej 19980131] bus_dma: Rename BUS_DMAMEM_NOSYNC to BUS_DMA_COHERENT, and specify it as nothing more than a hint to machine-dependent code. Add offset and length parameters to bus_dmamap_sync() for implementing partial syncs. Add a dm_mapsize member to bus_dmamap_t which holds the size of the current DMA mapping. See bus_dma(9) for details. [thorpej 19980203] sun3: Merged arch/sun3x into arch/sun3. [gwr 19980204] uvm: commited new virtual memory system written by chuck cranor . uvm totally replaces the old Mach vm code (though parts of uvm are somewhat derived from some of the Mach code). [mrg 19980205] sparc: commited sparc potions of UVM framework. [mrg 19980205] i386: commited i386 potions of UVM framework. [mrg 19980206] standards: Added EIDRM errno for SysV IPC. [mikel 19980206] sun3: Better frame buffer probes (Use P4 reg). [gwr 19980207] standards: Added ENOMSG errno for SysV IPC and message catalogs. [kleink 19980208] uvm: made userland work with UVM (sans kvm_uread). [mrg 19980209] netinet: change data structure holding our IP addresses from a linked list to a hash. This significantly improves performance on hosts with many many IP addresses, such as large HTTP or FTP servers with many "virtual hosts". [tls 19980213] termios(4): Added ONOCR and ONLRET output modes. [kleink 19980213] Fix a problem where the session ID would not longer be accessible if the session leader exits, by storing the session ID in the session structure itself. Submitted by Tom Proett . [thorpej 19980213] standards: Implement getsid(2) and tcgetsid(3), per XPG4.2. [thorpej 19980213] standards: Change the semantics of chown(), fchown() and lchown(): clear the set-id bit of the attribute changed; add compatibility syscalls which provide POSIX/XPG semantics. [kleink 19980214] config: minor adjustment to the previous device class changes. Instead, treat classes like special attributes. From Chris Demetriou. [thorpej 19980216] alpha: implement MACHINE_NEW_NONCONTIG, from Chris Demetriou and Jason R. Thorpe. [thorpej 19980216] i386: use the new crash dump format, and switch from libkvm.old to libkvm. [thorpej 19980217] Change the way file systems are added to and removed from the kernel. vfssw[] is gone, replaced by vfs_list. config(8) now emits the default set of file systems into a table, vfs_list_initial[]. Implement vfs_attach() and vfs_detach(), and adjust file system initialization interfaces to suit. Bump version to 1.3D. [thorpej 19980217] config: Alter config(8) to generate dependencies on file-system options, suggested by Chris Demetriou. [thorpej 19980218] pmax: rewrite rzdump(), so that crash dumps will work. [thorpej 19980219] MIPS: switch all NetBSD/mips ports to the new libkvm and crash dump format. Delete libkvm.old and savecore_old. [thorpej 19980219] amiga: scale the pmap kernel page table with memory size, and make slope of this, or an alternative fixed addon, configurable. This should fix the Amiga big machine panic. [is 19980222] MIPS: implement and switch all NetBSD/mips ports to MACHINE_NEW_NONCONTIG, and pull a bunch of common code into mips_machdep.c [thorpej 19980225] Change the default ownership of installed files from bin:bin to root:wheel. [lukem 19980226] ethernet: replace ISA `ie' driver by three front-ends (`ai', `ef', `ix') for the MI i82586 driver in sys/dev/ic [pk 19980228] Merge in Lite2 kernel changes, plus a few leftover userland bits [fvdl 19980301] ide: added generic PCI IDE driver, 'pciide', to which wdc's can attach. [cgd 19980304] pax: add a cpio front end, and add some extra tar options. [mrg 19980306] amiga: add french keyboard map for Xamiga (by Jerome Lovy). [is 19980306] xsrc: updated to XFree86 3.3.2 [veego 19980308] atari: implement a bus-dma interface. [leo 19980310] amiga: add spanish keyboard map for ite (by Inaki Saez). [is 19980313] scsi: Aic7xxx driver modified to use bus-dma functions. [leo 19980316] alpha: Add support for PMAP_NEW (UVM's new pmap interface). [thorpej 19980317] ffs: Change ffs and the associated utilities so that they can work on non-host byte order [bouyer 19980318] vax: Add support for QDSS graphic console, 4.4BSD code ported to NetBSD by Boris Gjenero. Also note standalone qe driver written by Roar Thronaes. [ragge 19980321] ethernet: Split ISA `fe' driver into ISA `ate' driver, ISA `fmv' driver and MI mb8696x driver `mbe'. Add PCMCIA bus attachment code for `mbe'. [enami 19980322] alpha: Major pmap cleanup/partial rewrite. Major highlights: - Completely rewrite page table management, to be completely dynamic, save memory, and not require kernel virtual address space. - Increase available user address space to 4TB, and allow a large value for `maxproc'. - Add support for ASNs, significantly improving context switch performance. - Make a note of things to address for multiprocessor support. Written by Jason R. Thorpe, with a bunch of help from Chris Demetriou and Ross Harvey. [thorpej 19980321] sparc: Move all bus and device drivers towards a bus-space based implementation. [pk 19980321] nfsstat: Choose only client/server statistics via -s/-c. [hubertf 19980325] alpha: Make the pmap much more robust in exteremely low memory conditions. [thorpej 19980326] Make proc0 use the kernel pmap. Since proc0's address space is shared by other kernel-only processes, this makes it much easier for pmaps to detect errors like entering user mappings for kernel-only processes. [thorpej 19980326] MIPS: Add mips support to libexec/ld.elf_so and change GCC to use /usr/libexec/ld.elf_so. [mhitch 19980326] alpha: GC alpha's ECOFF_TOOLCHAIN make variable, and related bits. Nobody should be using an ECOFF toolchain on NetBSD/alpha any more. [cgd 19980327] egcs: Imported egcs 1.0.2 into src/gnu/dist/gcc, including libstdc++, fortran user libraries, and added Makefiles to build and install these. tested on the sparc only. [mrg 19980330] ide: Add hardware-locking hooks to the wd-driver; enabled through WDC_CAPABILITY_HWLOCK. [leo 19980407] atari: Complete redo of the bus_space implementation. The atari bus_space implementation now properly supports: the atari 'mainbus', the pci and isa bus. [leo 19980410] atari: use the MI wd-driver. [leo 19980410] xsrc: new xterm which fixes the utmp problem [veego 19980410] pkgsrc: move bsd.port.mk and bsd.port.subdir.mk from src/share/mk into pkgsrc/mk. [agc 19980414] pci: Add pci_conf_print(), which dumps PCI configuration space, useful in driver debugging. Fixes PR #4249, from "Zubin D. Dittia" . [thorpej 19980414] alpha: preliminary support for PCI IDE compat interrupts. Only supported on the EB164 systype for now (specifically, for the AlphaPC 164SX, which has PCI IDE on its Cypress PCI-ISA bridge). [thorpej 19980417] atari: Add the isapnp code from Thomas Gerner. [leo 19980423] atari: Bus-space implementation for big endian busses like VME. [leo 19980423] atari: Crazy Dots (et4000 vme) driver from Julian Coleman. [leo 19980423] mac68k: Added MACHINE_NEW_NONCONTIG and UVM support. [scottr 19980424] netinet: update our implemenation of RFC1323 PAWS/timestamps/wscale to be compliant with the updated RFC1323.bis. [thorpej 19980428] netinet: add new TCP input reassembly code as a stepping stone to implementing SACK (RFC2018). [matt 19980429] netinet,net: add IP fast forwarding (flow-based) routing. The code will bypass the normal IP processing path and directly forward from a device receive interrupt (via ether_input or fddi_input for now). [matt 19980429] net/bpf: add support for two new ioctls, BIOC[GS]HDRCMPLT to get/set the "header already complete" flag. This allows BPF writers to spoof layer 2 source addresses (if the layer 2 supports it) in applications where it is necessary. Submitted by Greg Smith . [thorpej 19980429] Changed vslock() and vsunlock() to take a proc *, rather than implicitly operating on curproc. [thorpej 19980429] arm32: Overhauled page table management separating the page tables from the processes vm_map. [mark 19980430] netinet: make TCP_COMPAT_42, TCP_CWM, and the CWM burst size configurable via sysctl. [thorpej 19980430] inetd: Add support for specifying send and receive socket buffer sizes to inetd. This will allow larger windows to be advertised for TCP servers, improving TCP performance in some situations. [thorpej 19980430] audio: Add Ensoniq AudioPCI sound card driver. [augustss 19980501] xsrc: new xterm which fixes the xterm part of the CERT Vendor-Initiated Bulletin VB-98.04 (NetBSD Security Advisory 1998-002) [veego 19980501] pppd: Upgraded to 2.3.4 [christos 19980502] alpha,hp300,mac68k,mvme68k: switch to UVM+PMAP_NEW on the alpha, and UVM on hp300, mac68k, and mvme68k. [thorpej 19980503] xsrc: patch for Xaw which fixes the Xaw part of the CERT Vendor-Initiated Bulletin VB-98.04 (NetBSD Security Advisory 1998-002) [veego 19980503] sparc: switch to UVM on the sparc. [mrg 19980505] mac68k: Add kgdb support. [scottr 19980505] Add monotonically increasing "current time" timestamps for the protocol fast and slow timeouts. Convert the TCP timers to use these timestamps, shaving some instructions (quite a few, actually, on the Alpha) from the inner loop of tcp_slowtimo(). [thorpej 19980505] macppc: initial import of macppc port. [tsubai 19980515] hippi: Added driver for Essential Communications' RoadRunner HIPPI device [kml 19980516] ipfilter: updated to 3.2.5 [veego 19980517] libedit: rework the history appending code; take advantage of the changes to put in some non compatible api improvements. Bump the major number to 2.0 [christos 19980519] audio: added ym driver for Yamaha OPL3-SA3. Written by Constantine Sapuntzakis for OpenBSD. [augustss 19980520] fddi: switch pdq (fpa,fta,fea) driver to bus_dma(9) framework. [matt 19980521] pmax: Completely rewrite bus_space back-end and write a first-cut bus_dma back-end for the DECstation. [thorpej 19980522] toolchain: Changed most toolchain bits present in GNU binutils (ar, nm, ranlib, size, strings) to use GNU binutils instead of Berkeley code; added addr2line, c++filt, and objdump. [tv 19980524] arm32: Added MACHINE_NEW_NONCONTIG support. [mark 19980525] arm32: Added PCI bus support. [mark 19980525] Change /dev/[u]random to use SHA1 rather than MD5, and release 96 bits of the hash directly. [explorer 19980526] powerpc: Rename NetBSD/powerpc to NetBSD/ofppc. New sys/arch/powerpc with PowerPC-generic stuff. [sakamoto 19980528] bebox: Use new PowerPC-generic stuff. [sakamoto 19980528] ipfilter: updated to 3.2.7. IP Nat works now on the alpha. [veego 19980529] ftp: terminal beeps on ambiguous completion, auto-append a space or '/' on a command or local path completion as necessary. [lukem 19980601] ethernet: Added driver for SMC 83c170 EPIC/100 Ethernet. [thorpej 19980601] netstat(1): Add a -P pcbaddr option to netstat(1) to dump the PCB at the specified address. Implement this option for TCP. [thorpej 19980602] vax: Support for VS3100 builtin graphics console. [ragge 19980604] arm32: Added UVM support. [mark 19980604] alpha: Added support for using BWX for PCI config and device access on the ALCOR2 and Pyxis core logic chipsets. [thorpej 19980604] ftp: add -o outfile, -r waittime. default to passive with fallback to active (configurable with $FTPMODE). [lukem 19980604] alpha: Added support for the Digital Personal Workstation (Miata), mostly cloned from the EB164 code, with changes from me, and some more from Andrew Gallatin. [thorpej 19980604] powerpc: Added UVM support. [sakamoto 19980605] Add fine-grained locking to the extent code. [thorpej 19980605] audio: Added Aria driver from R. C. Dowdeswell . [anon 19980606] Add a -p option to halt(8) and shutdown(8), that specifies that the system is to be powered down. If the powerdown fails, or the system does not support software powerdown, the system will simply halt. [thorpej 19980606] alpha: add support for software powerdown on the Digital Personal Workstation (Miata). [thorpej 19980606] sparc: add support for software powerdown on Sun4m systems which have that capability. [thorpej 19980606] i386: Systems w/ APM will no longer powerdown automatically on halt; an explicit RB_POWERDOWN (halt or shutdown -p) is now required. [thorpej 19980606] alpha: Implement bus_space_{alloc,free}() for BWX mem and i/o and swiz i/o space. PCMCIA now works on Alpha. [thorpej 19980606] i386: add optional strict alignment checking to the bus_space implementation. [thorpej 19980606] dev/isapnp: Add ISAPnP attachment for PCMCIA [sommerfeld 19980607] libc: add support for reading master.passwd or passwd.adjunct YP maps in getpw*() for root users. /var/yp/`domainname`/Makefile.yp can now have INSECURE=yes commented out. [lukem 19980608] ypinit: add -c to setup a YP client. [lukem 19980608] ftpd: display any messages that a LIST or conversion command generated to stderr to the user at the end of a transfer. [lukem 19980608] sun3: Add UVM support (sun3x still to come) [gwr 19980608] dev/isa: Change the ISA DMA API to take an isa_chipset_tag_t rather than a struct device * corresponding to the ISA bus device. The ISA DMA controller driver functions have been renamed and now take a struct isa_dma_state *, and are called indirectly by machine-dependent code which provides the DMA state. These changes allow e.g. `ofisa' (the OpenFirmware configuration mechanism for the ISA bus, used by e.g. Sharks) to use the MI ISA DMA controller code. [thorpej 19980608] Implement config_defer(), a generic mechanism to defer the configuration of a device until all of its siblings have been attached. Make the PCI-ISA bridge code use this mechanism, rather than its own. [thorpej 19980609] next68k: initial import of next68k port. [dbj 19980609] scsipi: Add a shutdown hook for SCSI-2 and higher disks that issue a SYNCHRONIZE CACHE operation, to ensure that data is on the platter if we're doing a powerdown. [thorpej 19980610] Change kernel includes to be installed directory-by-directory, which provides added flexibility in terms of what is to be installed, and which makes incremental installs a bit easier. Existing behaviour (symlinks vs. copies, etc.) is preserved, except for bug fixes. A new mk template, bsd.kinc.mk, exists to help support these changes and factor out common bits. [cgd 19980612] alpha: Added support for three new server platforms, Noritake, Pintake, and Corelle. [ross 19980623] NFS: move the lease check into genfs, and make it's null-op'ness a compile-time decision for the kernel, not for file system modules. Allows loaded file systems to export, which did not previously work correctly. [thorpej 19980625] alpha: Add first-draft support for the Tadpole/DEC AlphaBook, which is basically an AXPpci33 in laptop's clothing. [thorpej 19980625] pci: added 'puc' driver for "PCI 'universal' communications' cards containing 'com' and 'lpt' ports. [cgd 19980626] alpha: take a stab at EB66 support. An EB66 is basically an EB64+ with a 21066 LCA instead of a 21064 + APECS. [thorpej 19980627] Add mechanism for programs to dump core into either "core" or "progname.core", based on an adjustable system-wide setting. [nathanw 19980628] sun3: make the boot programs look for netbsd.$arch before "netbsd" so boot media can support both sun3/sun3x by including a kernel for each. [gwr 19980629] Add pread(2) and pwrite(2) system calls (per XPG4.2) and preadv(2) and pwritev(2), which are NetBSD extensions (positional cousins to readv(2) and writev(2)). [thorpej 19980630] xsrc: Major code sweep: modified 57 files to clean up 98% of all the LP64-related warnings. This killed a few real bugs and a lot of compiler false alarms. [ross 19980706] alpha: Enabled the IDE controller on the AXPPCI33. IDE and ATAPI CDROM drives should now work. [ross 19980707] vm,uvm: Add support for mmap'ing disk block devices. [thorpej 19980707] uvm: add support for multiple page free lists. [thorpej 19980707] arm32: implement a bus_dma back-end for the Shark. [thorpej 19980707] ftp: add "sndbuf" and "rcvbuf" commands, for setting socket buffer sizes, allowing use of large TCP windows. Work in progress, no support for setting system and per-user defaults, yet. [thorpej 19980709] ipfilter: updated to 3.2.9 [veego 19980712] amiga: Added UVM support [mhitch 19980712] usb: Add USB support. USB is only supported for i386 at the moment, but it should be easy to add to other PCI platforms as well. See usb(4) for an overview. [augustss 19980712] atapi: Add support for ATAPI changer devices like the NEC CDR-251. Userland support in /bin/chio. [hpeyerl,thorpej 19980713] identd: Upgraded pidentd to version 2.8.3 [msaitoh 19980715] traceroute: add path MTU discovery option [is 19980717] vax: vax now has both UVM and PMAP_NEW as default [ragge 19980718] ftp: support HTTP 301 and 302 redirects, and speed up transfer completion in HTTP/1.1 downloads (by disabling persistent connections). [lukem 19980723] Break up the Shark CS8900 driver into core, ISA, and OfISA parts, and make it machine-independent. [thorpej 19980724] usb: change mouse and keyboard drivers so that they use wscons. Also add the wsmouse protocol to XFree86. [augustss 19980727] kernel: update of memory resource pool: configurable back-end storage provider; cache coloring and dynamic sizing after Bonwick's "slabs". [pk 19980727] Change uio_resid to a size_t, and change the residual argument of vn_rdwr() from int * to size_t * to match. No behavioral difference, except for Alpha, which can now use full SSIZE_MAX sized transfers (i.e. signed 64-bit length). Sweep inspired by a discussion of a bug introduced in OpenBSD on Bugtraq. [thorpej 19980728] libedit: add 'edit on|off' editrc command, which is used to advise invoking programs if a user's does or doesn't want editline support. Modify ftp(1) to honour this. [lukem 19980729] tftpd: add support for -u user and -g group, which specify the user and group to run as. Fixes PR 4218. [lukem 19980729] ccd: use the pool allocator for component buffers. [thorpej 19980730] vnd: use the pool allocator for vndxfer and vndbuf structures. [thorpej 19980730] scsipi: use the pool allocator for scsipi_xfers. [thorpej 19980730] dev/isapnp: Use config_defer(), and add support for all of the platforms that support ISA. [thorpej 19980730] Use the pool allocator for mbufs and mbuf clusters. [thorpej 19980731] alpha: implement isa_intr_disestablish() and pci_intr_disestablish(). [thorpej 19980801] netinet: use the pool allocator for inpcbs, tcpcbs, and syn cache entries. [thorpej 19980801] ftp: implement $no_proxy and $FTPANONPASS support. [lukem 19980803] Add support for POSIX 1003.1b Synchronized I/O. [kleink 19980803] x68k: switch to MI zs driver [minoura 19980805] ifmedia: Completely rewrite the way media descriptions are represented. The same data structure is used, but a much saner matching mechanism is used, one which allows greater ease in adding new types. Also, change the format of ifconfig's status report to make it more attractive in the presense of many media types. [thorpej 19980805] NFS: Add client pathconf support. [kleink 19980807] amd: upgraded to 6.0a16 [christos 19980808] i386: build libm using the FPU instructions if I387_LIBM is set in /etc/mk.conf. [perry 19980809] Most of the kernel now uses memcpy, memmove, memset and memcmp instead of bcopy, ovbcopy, bzero and bcmp. [perry 19980809] vax: Support for VS4000/60 CPU, serial console and ethernet. This is first VMS-only vax supported. [ragge 19980810] MII: near rewrite of MII layer, now exports a software interface like BSDI's. Add PHY drivers for Intel i82555 and Quality Semiconductor QS6612 PHYs. Significantly improve the NS83840 and ThunderLAN PHY drivers. Convert "tl", "fxp", and "epic" drivers to use the new code. [thorpej 19980810] xntp: upgraded to 3-5.93c [christos 19980812] ethernet: Rewrite media selection in "ep" driver, and add support for the MII/PHY on the 3c905 boards. Fixes kern/4782. [thorpej 19980812] Removed vm_offset_t and vm_size_t and replaced them with vaddr_t and vsize_t for virtual addresses and paddr_t and psize_t for physical addresses. This allows machines where physical addresses are different sizes or formats from virtual addresses. [eeh 19980812] mac68k: Rewrite console framebuffer initialization and autoconfig. [scottr 19980812] mac68k: Integrate new interrupt handling framework, derived in part from the hp300 port. [scottr 19980812] Added filecorefs, a read only version of Acorn Computers filecore filesystem [mark 19980814] egcs: Imported egcs 1.1 snapshot 19980816. [tv 19980816] audio: Add support for MIDI device drivers and device independent access to them. The raw MIDI devices can be accessed through /dev/rmidiN. /dev/music presents a sequencer interface. The API has been modelled after the OSS API. There is also a syntheziser layer that helps emulate a MIDI device. This layer is used by the Yamaha OPL[23] driver and the PC speaker driver. [augustss 19980818] vax: Increase logical pagesize to 4K. [ragge 19980821] atari: Added a driver for the Circad Leonardo video card from 'Maximum Entropy'. [leo 19980824] egcs: Imported egcs 1.1 snapshot 19980824. [tv 19980824] /etc/security: if $check_disklabels=YES, backup text copies of disklabels of available disks, and check backups as per $check_changelist. [lukem 19980825] arm32: Switch to UVM as standard [mark 19980825] i386: Add AdvanSys PCI SCSI controllers support. At this time only the ABP-9xxUA controllers are supported. This driver has been tested only on i386 architecture, but should work on other PCI architectures. [dante 19980826] sparc,sparc64: Sbus `esp' and `le' and their DMA engines restructured to live in sys/dev/sbus and use a common LSI64954 DMA engine driver. [pk 19980829] i386: Switch to UVM+PMAP_NEW. [thorpej 19980831] killed the last vestiges of __BROKEN_INDIRECT_CONFIG. [cgd 19980831] added 32-bit register support for bioscall interface [jtk 19980831] sparc64: Switch to UVM by default. [mrg 19980901] arm32: Added csc driver for Cumana SCSI II podules. [mark 19980901] pc532: Switch to UVM on pc532. [matthias 19980902] atari: Switch to UVM on atari. [mrg 19980902] bebox, ofppc: Switch to UVM on bebox and ofppc. [sakamoto 19980903] macppc: Switch to UVM on macppc. [tsubai 19980903] amiga: added support for Amiga 3000 mainboards reworked for the Apollo 68060 accellerator board. [is 19980904] arm32: Separated hardware and software interrupt masks along with interrupt dispatching optimisations. [mark 19980905] ftpd: fix long standing bug where two error replies may have been returned instead of one when unexpected arguments were supplied to certain commands, resulting in the client and server getting out of sync. [lukem 19980906] arm32: DC21285 'Footbridge' core logic support added [mark 19980906] arm32: EBSA285 architecture board support added [mark 19980906] ftpd: extend functionality of /etc/ftpchroot to support globbing (similar to /etc/ftpusers). based on patches in [bin/4769] by Ty Sarna . add support for RFC2389 commands (FEAT & OPTS). other cleanups. [lukem 19980907] Implement a new kernel thread, the process "reaper", which cleans up VM resources (vmspace and u-area). Machine-dependent code now calls exit2() to schedule the reaper to run once we are no longer running on the dead proc's vmspace and stack. A valid thread must do this work since it may block in a multiprocessor environment. Original idea from Charles Hannum. [thorpej 19980908] gre: Implement a gre pseudo network interface that allows to tunnel L3 protocols over IP. Currently only IP/IP and IP/GRE supported. [hwr 19980913] misc: imported bzip2, a block sorting file compressor with a BSD license, no ad clause, generally excellent compression capability, and a possibly (it's not really for us to say) patent-free implementation. [ross 19980913] egcs: Imported egcs 1.1b release. [tv 19980913] alpha: add some support for multiple processors to the pmap module. Still needs TLB shootdown code, but that is easier once the code to spin up the additional CPUs is working. [thorpej 19980921] i386: add support for AdvanSys Ultra Wide boards. At this time the following PCI boards are supported: - ABP-9xx - ABP-9xxU - ABP-9xxUA - ABP-9xxUW [dante 19980926] /etc/mk.conf: add support for NOSHARE; if defined files that would be installed under /usr/share are not built nor installed. [lukem 19980928] gre: add support for IPPROTO_MOBILE tunneling from RFC2004. This is the tunnel protocol of the mobile IP people [hwr 19980930] compat/linux: rearrage to allow compatibility support for multiple architechtures. Include beginnings of linux compatibility on the Alpha. [erh 19981001] netinet: Apply/merge/adapt the NEWRENO parts of the UCSB SACK/FACK/NEWRENO diffs of BSDI's 3.0 netinet to NetBSD. [unknown 19981005] bind: updated BIND programs to 8.1.2 sources. [tron 19981005] coda: added the coda distributed file system as a fs and an lkm. There are also coda related packages in pkgsrc/net [rvb 19981005] arm32: Chalice CATS motherboard support added [mark 19981005] mtree: add support for 4.4BSD file flags. [mrg 19981010] getty: add support for ppp autodetect with the :pp=/usr/sbin/pppd: gettytab entry. Derived from code from Michael Hancock and Erik 'PPP' Olson , via FreeBSD and OpenBSD. [tsarna 19981012] vax: Added support for DWBUA (BI to Unibus adapter) and KLESI-B (TMSCP tape ctlr). [ragge 19981018] ide: Major changes to the IDE code for better error handling, improved ATAPI support, 32 bit data I/O support and bus-master DMA support on PCI IDE controllers. [bouyer 19981012] egcs: Imported egcs 1.1.1 snapchot 19981014. [tv 19981014] route: add support for -f; flush routes before executing command. [lukem 19981023] mac68k: switch to split ADB driver (kbd/ms/aed). [ender 19981023] routed, ping: updates from ftp.rhyolite.com. [christos 19981025] ethernet: (ne2000) Added media selection support to the PCI front-end. [thorpej 19981027] macppc: Added support for AdvanSys Narrow SCSI boards: ABP-9xx[U,UA]. [dante 19981028] amiga: switched default VM system to UVM. [is 19981028] shutdown: Run /etc/rc.shutdown before bringing down the system. [bad 19981029] ethernet: (ne2000) Added media selection support for RealTek 8019-based ISA, ISAPnP, and PCMCIA cards. [thorpej 19981030] vax: Enable VAX shared library support (uses gas.new and egcs). [matt 19981031] libz: updated to 1.1.3 [tron 19981101] ethernet: Add a driver for 3Com 90xB cards, which also will drive 90x cards using DMA. [fvdl 19981103] send-pr: added support for GNATS `install' category. [lukem 19981110] i386: pciide is now enabled in GENERIC and INSTALL kernels. [bouyer 19981110] x68k: Added the X server for x68k port to xsrc. [minoura 19981111] amiga: Added a new ethernet driver for the Ariadne II. [veego 19981111] Implement kthread_create() and kthread_exit(), to create and destroy kernel threads. Use these to create the pagedaemon and reaper. [thorpej 19981111] Added RAIDframe, version 1.1, from the Parallel Data Laboratory at Carnegie Mellon University. Supports RAID levels 0, 1, 4, 5, 6, parity logging, and more. [oster 19981112] next68k: Switch to UVM on next68k. [dbj 19981114] pmax: Switch default to UVM on pmax. [mhitch 19981114] egcs: Imported egcs 1.1.1-prerelease-2. [tv 19981114] newsmips: Switch to UVM by default on newsmips. [tsubai 19981116] i386: Switch to gas.new on i386. [kristerw 19981116] sparc: Switch to gas.new on sparc. [kristerw 19981116] mbrlabel: Add a utility to access partitions on MBR labeled disks like those transferred from a DOS machine [ws 19981116] pmax: Add crunched miniroot distribution media [jonathan 19981116] Add support for detaching and activating/deactivating devices. Mostly from Chris Demetriou, with some changes by Ken Hornstein and Jason Thorpe. [thorpej 19981116] Implement PCMCIA hot-swap. [thorpej 19981116] pmax: Add md ramdisk driver. Install kernels now run off ramdisk root, not from disk or NFS. [jonathan 19981118] bebox: Add PCI frame buffer console driver. [sakamoto 19981118] morse: Add support for decoding of morse code. [hubertf 19981118] kernel: fix d_mmap routines to deal with signed offsets. fixes many real & potential security problems. problem found by ted lemon, fixed by matthew green. see NetBSD-SA1998-005 for more deatils. [mrg 19981119] Added HIPPI-FP support to Essential HIPPI driver (esh) [kml 19981120] ipfilter: updated to 3.2.10. [mrg 19981123] xsrc: updated to XFree86 3.3.3 [veego 19981123] sparc64: add ld.new, gas.new & egcs support, 64bit target. [mrg 19981123] bfd: add sparc64 support. [mrg 19981123] powerpc: Add shared library support. [tsubai 19981124] kernel,fs,mount: add support for a new mount option, "nodevmtime", which inhibits the updating of modification times on device special files. Useful on laptops and other power-managed systems [kenh 19981202] mtree: add "md5" keyword for md5 cryptographic checksum [jwise 19981206] usb: Add a generic USB driver, ugen. [augustss 19981208] xsrc: fix problems with missing -R paths when linking binarys and shared objects. [mrg 19981208] rbootd: fix memory leak. [mrg 19981209] atari: Add driver for BVME410. From 'maximum entropy'. [leo 19981209] audio: Add a driver for the S3 SonicVibes chip. [augustss 19981210] sparc64: add installboot program and man page. [mrg 19981211] amiga: Switched default compiler to egcs. [is 19981212] egcs: Imported egcs 1.1.1 release. [tv 19981213] compat/linux: Add initial support of linux compatibility on m68k ports. [itohy 19981215] ISA Driver from TC400, TC800 multi-port serial cards from Eric S. Hvozda [christos 19981216] toolchain: add various bits for building 64 bit NetBSD/sparc64 ELF binaries (gcc, gas, ld), via a `sparc64--netbsd' target. do the same for 32 bit and `sparc--netbsdelf' target. we can now build sparc ELF binaries, but no csu. [mrg 19981217] sparc & bfd, ld.new: build in elf32_sparc and sun4 suport as well. once ld.new works for sparc a.out, a single ld(1) will work for both a.out and ELF, and SunOS 4.0 objects. [mrg 19981217] a.out ld/ld.so: salvage ld.so(1), ldconfig(8) and ldd(1) sources from `gnu' subtree and reesttle them into standard locations. [pk 19981217] sun3: use UVM by default everywhere. [mrg 19981223] x68k: Switch default to UVM on x68k. [itohy 19981223] ftp: support http/1.1 chunked transfers, www and proxy authentication, ftp auto-login with ftp:// urls even if $ftp_proxy set. send user-agent in http request. cleanup http redirects. improve display of transfer rate. [lukem 19990101] tetris: display shape that will appear next in the game as some sort of preview function if -p is given. [hubertf 19990103] find: add support for `-flags [-]flags'. [lukem 19990104] kernel: add support for multisession CDs, by Torsten Duwe. [is 19990104] domains: added /usr/share/misc/domains containing a list of all Top Level Domains (TLDs) from ISO 3166 as of today. [hubertf 19990104] Add a driver for the AMD Am53c974 PCscsi-PCI SCSI chip, written by Izumi Tsutsui . [thorpej 19990106] portmap: use libwrap for access control, add -l flag to log all connections and -2 flag to su to daemon before running, so that forwarded connections use non- privileged ports. Also restrict GET/SET calls to the loopback interface [jwise 19990111] libc: implement nsswitch.conf(5) functionality. [lukem 19990116] bc,dc: update to bc 1.05a and dc 1.2. [simonb 19990116] find: add GNU-style -{a,c,m}min primaries. [simonb 19990117] pkg_install: Added code to pkg_add and pkg_create to maintain a database (``pkgdb'') with mappings of which file belongs to which pkg, and enable pkg_info to query it with the -F switch (which tells it to expect a filename instead of a package name). A pkg_admin utility was added to (re)build the pkgdb from scratch - for migrating from old non-pkgdb pkg_* tools. [hubertf 19990119] pkg_install: Added "check" command to pkg_admin to allow checking of pkgs' files against their MD5 checksum. [hubertf 19990119] libstdc++: Added code size optimizations for programs compiled to use complex, string, or the STL. [tv 19990119] pax: implement GNU tar's -X option in terms of the pax -s option with an empty replacement. [mrg 19990120] Add FreeBSD's "vr" driver for VIA Rhine fast ethernet PCI NIC written by Bill Paul . [sakamoto 19990121] ypserv: change to use libwrap, not home-grown access control code. [thorpej 19990121] kernel: scheduler enhancements provide a dramatic improvement in interactive response when competing with loads that fork many new processes. [ross/sommerfeld 19990124] procfs: add support /proc/#/map. From FreeBSD. This file contains the process' virtual memory map and we can use this information to debug and control the process. And we may use it to process migration or remote fork. [msaitoh 19990125] mkdep: add C replacement for old shell script. [tron 19990125] libc: add hesiod 3.0.2 functionality (currently used by the nsswitch code for passwd, group, and shells. [lukem 19990125] install: add a -b(ackup) flag to move any existing file(s) aside by renaming them to file.old instead of simply deleting them. A different backup suffix may be chosen with the -B option's argument; If the suffix contains a '%' sign, a numbered backup will be performed, expanding the %-pattern via sprintf(3). [hubertf 19990126] kernel: allow the raw character partition to be opened even with no media for sd and cd driver (for raw IOCTLs) [bouyer 19990126] kernel: Implement [v]snprintf to make kernel safer. [msaitoh 19990128] i386: bootblocks, installboot: First pass at ELF version. The bootblocks right now can only be compiled with the a.out assembler, but installboot, bootblocks, and the kernel are ELF aware. [christos 19990128] zoneinfo: update to tzdata1999b. [mrg 19990202] pax: changed meaning of tar emulation mode option -o to mean "use V7 tar mode"; change default output in tar emulation to POSIX ustar. [tv 19990202] toolchain: Imported binutils 2.9.1, tested completely on i386 and partly working on alpha and arm32. [tv 19990202] kernel: change DIOCEJECT ioctl to unlock the media if no other partition are open before eject. A non-null argument will force the old behavior. The previous ioctl has been keep as ODIOCEJECT for binary compatibility. [bouyer 19990208] i386: ELF integration complete. [christos 19990205] eject: change eject(1) to take avantage of the new DIOCEJECT, so that CDROM drives can be eject'd with no media, and implement a '-l' option to load the media on cdrom drives. [bouyer 19990208] kernel: Add COMPAT_AOUT [christos 19990209] grep: update to GNU grep 2.2f. [simonb 19990210] comm: add -f option to allow case-independent operation when comparing files which contain the same line but with different mixture of upper/lower case.. [hubertf 19990211] mtree: add -m and -i switches to make changing file flags much simpler. from Dr. Lex Wennmacher [mrg 19990212] /etc/mk.conf: support MKxxx=no in favour of NOxxx=. add mk.conf(5). support MKCATPAGES=no, which prevents catman pages from being built or installed. [lukem 19990212] MI Driver for Cirrus Logic 240[01] Four channel Serial Controller [scw 19990213] kernel: Change compat path lookup to reference the true root when the path begins with /.. [christos 19990214] mvme68k: Support for Motorola's MVME-167 board added. This is a VMEbus board with an mc68040 processor running at either 25 or 33MHz, and various amounts of RAM (32Mb ECC is common). There are 4 serial ports, handled by a Cirrus Logic CD2401 communications controller, a SCSI interface handled by an ncr53c710 chip and an i82596 ethernet controller. At this time, the SCSI port is not yet supported (though it will be soon) and the CD2401 support is not complete. Work still needs to be done to fully utilise the facilities of the memory and VMEbus controllers. However, as a diskless NFS client, the board performs very well as it stands just now. [scw 19990215] chess: a newer GNU chess is in pkgsrc, so retire this version. [mrg 19990215] standards: add XPG4.2 nl(1) utility. [kleink 19990215] eject: new "eject" program written by Chris Jones with improved device type recognition, automatic unmount of all partitions, support for opening empty CDROM drives and unit numbers larger than 1. [tron 19990217] fstat: display IP connection details of TCP and UDP sockets. [lukem 19990218] alpha: Working ISA floppy driver, thanks to some DMA debugging from Ross Harvey and Charles Hannum. [thorpej 19990218] macppc: Add MESH SCSI driver. [tsubai 19990219] mvme68k: Add SCSI and VMEbus drivers for MVME-167 board. [scw 19990220] grep: update to GNU grep 2.3. [simonb 19990221] syslogd: allow multiple -p flags (and do something useful with them). new -P flag for list of log sockets. this is very useful/essential for chroot usage. [mrg 19990221] systat: add a new `ps' view which clones the output of `ps aux'. Add pid of process in question to each line of the `pigs' display. [jwise 19990221] pmax: bootblocks that work on -current. [simonb 19990222] libc: add t{search,find,walk,delete} to manipulate binary search trees, from OpenBSD [christos 19990222] kernel: the scheduler has been revised and reorganized to fix bugs, improve interfaces, and to add a mechanism for a platform- specific scheduler clock. This fixes the scheduler bugs that were letting nice +20 processes steal time from nice +0 procs. This bug affected most platforms to some degree, and completely broke nice(1) on alpha. [ross 19990222] swapctl & dumps: add support for "dp" entries to set the dump device from userland. [mrg 19990224] pkg_install: Add -r flags to pkg_delete to delete a package and all the packages that depend on it [chopps 19990226] Modified vnode locking protocol to always pass the VOP_CLOSE operation a locked vnode as opposed to an unlocked one. Also seperated export verification and file handle to vnode conversion. VFS_FHTOVP now only returns a vnode from a file handle while VFS_CHECKEXP performs export verification. Bump version to 1.3J. [wrstuden 19990226] Add component labels, hot-adding of spares, in-place component rebuilding, and shutdownhooks to RAIDframe. [oster 19990301] netgroup, innetgr: Add userland programs to get values from the netgroup map. [christos 19990302] pkg_install: Added -O switch to pkg_delete to only remove any references to the package from the pkgdb, but do not touch the package or it's files otherwise. Used by the pkgsrc build system's "make reinstall" target. [hubertf 19990302] pkg_install: For pkg_info, also show which packages the package in question requires. [hubertf 19990304] amiga: Enhancements to the aucc (internal custom chip Audio hardware on Amiga machines) driver: more data types, especially 14bit output. By Bernardo Innocenti, PR 6787. [is 19990304] pkg_install: Add -R flags to pkg_delete to delete a package and all packages it depends on [hubertf 19990308] amiga: Driver for Symbios 53c720/770, and attachment code for the Cyberstorm Mk. III/ Cyberstorm PPC SCSI host adapter, by Michael Hitch. Note that this does NOT currently support wide transfers. [is 19990309] dump: handle nodump flag on directories: don't dump the directory or any files under it [bouyer 19990309] lfs: Fix various problems with the LFS. See summary of changes in src/sys/ufs/lfs/CHANGES for details. [perseant 19990310] i386: Build and install serial bootblocks into /usr/mdec/biosboot_ser.sym [sommerfeld 19990312] vax: Use csr's for vsbus devices. Detect interrupt vector and mask automatic on vsbus. Correct detection of system console on vaxstations. [ragge 19990314] x68k: Add implementation. Some drivers are reorganized under `intio' virtual device to utilize it. [minoura 19990316] amiga: aster.c driver now attaches to the ISDN Master II, too. [is 19990317] net,netinet: Add support for Token-Ring drivers, by Onno van der Linden . [bad 19990322] dev,i386: Add driver for TROPIC based Token-Ring ISA cards, by Onno van der Linden. [bad 19990322] tcpdump: Make it understand Token-Ring frames, by Onno van der Linden. [bad 19990323] dev,i386: Add driver for Databook TCIC family PCMCIA chips. [bad 19990323] dump: Add read cache. Speeds up dump operations in most cases [bouyer,mjl 19990323] net: prevent bind(2)ing to a unicast address/port if the uids of the socket creators are different and the new bind(2) is not done by root. [luke 19990324] vm: delete Mach VM. [mrg 19990324] kernel & libc: implement core of getcwd in kernel, for a significant performance improvement (25x to 30x when 4-5 levels deep). Also, use the same framework to close a few chroot-related holes. [sommerfeld 19990324] next68k: Working mono video and keyboard support using wscons developed by Matt Debergalis [dbj 19990324] net: MTU of a SLIP interface can be modified via ifconfig now. "SLMTU" is still used as initial value. [tron 19990325] net: add sync. serial ppp/Cisco HDLC bits. [explorer 19990325] dev,i386: add driver LAN Media Corporation's line of high speed serial network interfaces. Currently supported are the LMC5200 (HSSI) LMC5245 (DS3) and LMC10000 (programmable speeds, up to 10Mbps). Currently tested only on i386. [explorer 19990325] netbsd32: split sparc32 compatibility layer into MD/MI pair, and put the MI section into "netbsd32". this is in anticipation of future `mips64' architecture work. [mrg 19990326] audio: add audioplay and audiorecord tools, based on the SunOS 5.x tools of the same name interface, written from scatch by myself. [mrg 19990327] uvm: detect when the system is out of swap space and avoid system hangs by killing processes which try to allocate anonymous memory in this situation. [chs 19990327] pmax: two stage disk boot blocks that can load a.out, ECOFF and ELF kernels, and pass a bootinfo record to the kernel with ddb symbol information. [simonb 19990327] compat/linux: add support for getcwd syscall [tron 19990327] vax: Rudimentary support for VS4000/90, VS4000/VLC and MV4000/300 from Michael Kukat. [ragge 19990326] amiga: Add ATAPI support to idesc.c. Works with my CDROM, but don't have any other ATAPI devices to test with. [mhitch 19990326] amiga: Update Symbios 53c720/770 driver to do wide and Ultra transfers. CyberStorm Mk. III driver now supports 15 targets. [mhitch 19990326]