# $NetBSD: BRANCHES,v 1.354 2020/04/26 12:15:37 martin Exp $ # # This file contains a list of branches that exist in the NetBSD CVS # tree and their current state. # # This list is necessarily incomplete. # # Within reason, developers may create branch and version tags at any # time for any purpose. To avoid name collisions, private tags should # have names which begin with the developer's NetBSD login name # followed by a - or _ character (e.g., thorpej_scsipi, # thorpej-signal) # # Any branch or version tag not listed here should be assumed to be # private to the developer who created it. It is inappropriate for # anyone other than that developer to commit, move tags, or otherwise # modify the contents of the branch. # # Please update this file when a new branch is ready for consumption # by folks other than the maintainer, or when the use or status of an # existing branch changes significantly. # # Format: # Branch: name of branch # Description: Purpose and intention of the branch # Status: Active/Terminated/Dormant # Start Date: date first instantiated # End Date: date it was Terminated/made_Dormant, if any # Base Tag: netbsd-1-5-base, etc. # Maintainer: Somebody to blame. # Scope: Portion of the tree covered. # Notes: Various other info, perhaps explanation of special tags, # who-may-commit policies, etc. # # There are four sections to this file: # Release branches # Individual developers' branches (Active/Dormant) # Individual developers' branches (Terminated), and # other # # Entries within each section should be alphabetized. # # Release branches: Branch: comdex-fall-1999 Description: Special release branch for pre-1.5 release at Fall 1999 COMDEX. Status: Terminated Start Date: End Date: Base Tag: comdex-fall-1999-base Maintainer: mycroft Scope: Entire tree. Notes: Branch: netbsd-0-9 Description: The NetBSD 0.9 release branch Status: Terminated Start Date: End Date: Base Tag: netbsd-0-9-base Maintainer: Release Engineering Scope: Entire tree. Notes: Subsidiary tags of: netbsd-0-9-ALPHA, netbsd-0-9-ALPHA2, netbsd-0-9-BETA, netbsd-0-9-RELEASE. Commits restricted to release engineering. Branch: netbsd-1-0 Description: The NetBSD 1.0 release branch Status: Terminated Start Date: End Date: Base Tag: netbsd-1-0-base Maintainer: Release Engineering Scope: Entire tree. Notes: Commits restricted to release engineering. Branch: netbsd-1-1 Description: The NetBSD 1.1 release branch Status: Terminated Start Date: End Date: Base Tag: netbsd-1-1-base Maintainer: Release Engineering Scope: Entire tree. Notes: Commits restricted to release engineering. Branch: netbsd-1-2 Description: The NetBSD 1.2 release branch Status: Terminated Start Date: End Date: Base Tag: netbsd-1-2-base Maintainer: Release Engineering Scope: Entire tree. Notes: Commits restricted to release engineering. Branch: netbsd-1-3 Description: The NetBSD 1.3 release branch Status: Terminated Start Date: End Date: Base Tag: netbsd-1-3-base Maintainer: Release Engineering Scope: Entire tree. Notes: Commits restricted to release engineering. Branch: netbsd-1-4 Description: The NetBSD 1.4 release branch Status: Terminated Start Date: 1 Apr 2000 End Date: Base Tag: netbsd-1-4-base Maintainer: 1.4 Release Engineering Scope: Entire tree. Notes: Commits restricted to release engineering. Branch: netbsd-1-5 Description: The NetBSD 1.5 release branch Status: Terminated Start Date: 20 Jun 2000 End Date: 26 Jan 2005 Base Tag: netbsd-1-5-base Maintainer: 1.5 Release Engineering Scope: Entire tree. Notes: Commits restricted to release engineering. Branch: netbsd-1-6 Description: The NetBSD 1.6 release branch Status: Terminated Start Date: 22 May 2002 End Date: Base Tag: netbsd-1-6-base Maintainer: 1.6 Release Engineering Scope: Entire tree. Notes: Commits restricted to Release Engineering. Branch: netbsd-2 Description: The NetBSD 2 release branch Status: Terminated Start Date: 23 Dec 2004 End Date: Base Tag: netbsd-2-base Maintainer: 2 Release Engineering Scope: Entire tree. (src + xsrc) Notes: Commits restricted to Release Engineering. Branch: netbsd-2-0 Description: Originally the NetBSD 2.0 release branch and now the branch tracking security/critical fixes for the NetBSD 2.0 series Status: Terminated Start Date: 28 Mar 2004 and changed for security/critical function on 23 Dec 2004 End Date: Base Tag: netbsd-2-0-base Maintainer: 2.0 Release Engineering Scope: Entire tree. (src + xsrc) Notes: Branch was re-purposed to security/critical change function once 2.0 released. See netbsd-2 for current branch to track NetBSD 2 tree. Commits restricted to Release Engineering. Branch: netbsd-2-1 Description: Tracking security/critical fixes for NetBSD 2.1 Status: Terminated Start Date: 26 Oct 2005 End Date: Base Tag: netbsd-2-1-RELEASE Maintainer: 2 Release Engineering Scope: Entire tree. (src + xsrc) Notes: Branch contains only security/critical fixes to NetBSD 2.1. For new features, use netbsd-2 branch. Commits restricted to Release Engineering. Branch: netbsd-3 Description: The NetBSD 3 release branch Status: Terminated Start Date: 16 Mar 2005 End Date: Base Tag: netbsd-3-base Maintainer: 3 Release Engineering Scope: Entire tree. (src + xsrc) Notes: Commits restricted to Release Engineering. Branch: netbsd-4 Description: The NetBSD 4 release branch Status: Terminated Start Date: 8 Aug 2006 End Date: Base Tag: netbsd-4-base Maintainer: 4 Release Engineering Scope: Entire tree. (src + xsrc) Notes: Commits restricted to Release Engineering. Branch: netbsd-5 Description: The NetBSD 5 release branch Status: Terminated Start Date: 31 Oct 2008 End Date: 9 Nov 2015 Base Tag: netbsd-5-base Maintainer: 5.0 Release Engineering Scope: Entire tree. (src + xsrc) Notes: Commits restricted to Release Engineering. Branch: netbsd-5-0 Description: Tracking security/critical fixes for NetBSD 5.0 Status: Terminated Start Date: 29 Apr 2009 End Date: Base Tag: netbsd-5-0-RELEASE Maintainer: 5.0 Release Engineering Scope: Entire tree. (src + xsrc) Notes: Commits restricted to Release Engineering. Branch: netbsd-5-1 Description: Tracking security/critical fixes for NetBSD 5.1 Status: Terminated Start Date: End Date: 9 Nov 2015 Base Tag: netbsd-5-1-RELEASE Maintainer: 5.1 Release Engineering Scope: Entire tree. (src + xsrc) Notes: Commits restricted to Release Engineering. Branch: netbsd-5-2 Description: Tracking security/critical fixes for NetBSD 5.2 Status: Terminated Start Date: End Date: 9 Nov 2015 Base Tag: netbsd-5-2-RELEASE Maintainer: 5.2 Release Engineering Scope: Entire tree. (src + xsrc) Notes: Commits restricted to Release Engineering. Branch: netbsd-6 Description: The NetBSD 6 release branch Status: Terminated Start Date: 15 Feb 2012 End Date: Base Tag: netbsd-6-base Maintainer: 6.0 Release Engineering Scope: Entire tree. (src + xsrc) Notes: Commits restricted to Release Engineering. Branch: netbsd-6-0 Description: Tracking security/critical fixes for NetBSD 6.0 Status: Terminated Start Date: 17 Oct 2012 End Date: Base Tag: netbsd-6-0-RELEASE Maintainer: 6.0 Release Engineering Scope: Entire tree. (src + xsrc) Notes: Commits restricted to Release Engineering. Branch: netbsd-6-1 Description: Tracking security/critical fixes for NetBSD 6.1 Status: Terminated Start Date: 01 Feb 2013 End Date: Base Tag: netbsd-6-1-RELEASE Maintainer: 6.1 Release Engineering Scope: Entire tree. (src + xsrc) Notes: Commits restricted to Release Engineering. Branch: netbsd-7 Description: The NetBSD 7 release branch Status: Active Start Date: 11 Aug 2014 End Date: Base Tag: netbsd-7-base Maintainer: 7.0 Release Engineering Scope: Entire tree. (src + xsrc) Notes: Commits restricted to Release Engineering. Branch: netbsd-7-0 Description: Tracking security/critical fixes for NetBSD 7.0 Status: Active Start Date: 10 Oct 2015 End Date: Base Tag: netbsd-7-0-RELEASE Maintainer: 7.0 Release Engineering Scope: Entire tree. (src + xsrc) Notes: Commits restricted to Release Engineering. Branch: netbsd-7-1 Description: Tracking security/critical fixes for NetBSD 7.1 Status: Active Start Date: 15 Mar 2017 End Date: Base Tag: netbsd-7-1-RELEASE Maintainer: NetBSD 7 Release Engineering Scope: Entire tree. (src + xsrc) Notes: Commits restricted to Release Engineering. Branch: netbsd-8 Description: The NetBSD 8 release branch Status: Active Start Date: 2017-06-04 End Date: Base Tag: netbsd-8-base Maintainer: Release Engineering Scope: Entire tree. (src + xsrc) Notes: Commits restricted to Release Engineering. Branch: netbsd-9 Description: The NetBSD 9 release branch Status: Active Start Date: 2019-07-30 End Date: Base Tag: netbsd-9-base Maintainer: Release Engineering Scope: Entire tree. (src + xsrc) Notes: Commits restricted to Release Engineering. ######################################################################## # Individual developers' branches (Active/Dormant): ######################################################################## Branch: ad-audiomp Description: Add MP locking to the audio drivers Status: Terminated Start Date: 28 February 2007 End Date: 7 December 2008 Base Tag: ad-audiomp-base Maintainer: Andrew Doran Scope: kernel Notes: Making the audio drivers MP safe is necessary before efforts can be made to make the VM system MP safe. About 1/2 of the drivers are converted, the remaining 1/2 need more changes. As of import this is snapshot of work in progress and so may not compile; in particular the midi changes are very much "in progress". The audio component has been tested and verified to work with emuxki and auvia. There may be a locking issue in the ac97 code at boot. The are two locks per device instance, an ISR lock and a character device lock. The ISR lock replaces calls to splaudio()/splx(), and will be held across calls to device methods which were called at splaudio() before (e.g. trigger_output). The character device lock is held across calls to nearly all of the methods, excluding some only used for initialization, e.g. get_locks. This needs to be documented at merge time. To test on a multi way x86 system, search for "mpsafe" in x86/x86/intr.c and change IPL_SCHED to IPL_AUDIO. Run a job that will acquire the ISR lock (depends on the hardware, but "while true; do mixerctl -a > /dev/null; done" may suffice). Play audio, run lockstat and verify that that there is contention on the ISR lock. Branch: ad-audiomp2 Description: Add MP locking to the audio drivers Status: Terminated Start Date: 7 December 2008 End Date: 19 November 2011 Base Tag: ad-audiomp2-base Maintainer: Andrew Doran Scope: kernel Notes: Ressurect ad-audiomp, make the audio drivers MP safe. Branch: ad-namecache Description: Redo the namecache Status: Active Start Date: 8 January 2020 End Date: Base Tag: ad-namecache-base Maintainer: Andrew Doran Scope: src/sys src/common Notes: 1) Redo the namecache to focus on per-directory data structures, removing the huge hashtable and nasty locking scheme. Initially this uses rbtrees (because that's what's there). The intent is that ultimately some other data structure will be used. 2) Experiment with having namei() traverse the cache and avoid vnode locks except for the leaf in the totally in-cache case. Branch: agc-netpgp-standalone Description: Remove dependency on openssl libraries in netpgp Status: Active Start Date: 5 May 2012 End Date: Base Tag: agc-netpgp-standalone-base Maintainer: Alistair Crooks Scope: src/crypto/external/bsd/netpgp Notes: This branch is used to develop the version of netpgp which has its own version of bignum, ciphers, and signatures libraries, so that it is able to operate without openssl being in place. Branch: agc-symver Description: Add library symbol versioning information Status: Active Start Date: 24 March 2013 End Date: Base Tag: agc-symver-base Maintainer: Alistair Crooks Scope: src Notes: This branch is used to develop DSO symbol versioning, allowing symbols to be added, modified and removed from shared libraries. Branch: bjh21-hydra Description: Simtec Hydra support and ARM SMP in general Status: Dormant Start Date: 18 Oct 2002 End Date: Base Tag: bjh21-hydra-base Maintainer: Ben Harris Scope: sys/arch/arm sys/arch/acorn32 Notes: This code was on a branch because it involves changes to cpuswitch.S which would otherwise make merging the nathanw_sa branch difficult. Branch: bouyer-socketcan Description: Implement a CAN socket layer compatible with linux SocketCAN Status: Terminated Start Date: Sun Jan 15 2017 End Date: May 27 2017 Base Tag: bouyer-socketcan-base Maintainer: Manuel Bouyer Scope: src/ Notes: Some documentation on SocketCAN is there: https://www.kernel.org/doc/Documentation/networking/can.txt Branch: cherry-xenmp Description: Port i386 and amd64 Xen kernels to run MP Status: Terminated Start Date: 1st June 2011 End Date: 13th January 2012 Base Tag: cherry-xenmp-base Maintainer: Cherry G. Mathew Scope: kernel Notes: None Branch: chris-arm-intr-rework Description: Rework arm interrupt handling code Status: Dormant Start Date: 11 Aug 2007 End Date: Base Tag: chris-arm-intr-rework-base Maintainer: Chris Gilbert Scope: sys/arch/arm sys/arch/cats (other arm archs to follow) Notes: Rework arm interrupt code to provide a shared set of interrupt routines, and allow improvements to be shared across all arm based hardware. Branch: gmcgarry_ucred Description: Integrate and encapsulate user credentials Status: Dormant Start Date: 18 December 2002 End Date: Base Tag: gmcgarry_ucred_base Maintainer: Gregory McGarry Scope: kernel Notes: merge pcred and ucred and poolify Branch: hpcarm-cleanup Description: Fix build problems for hpcarm Status: Active Start Date: 31 July 2007 End Date: Base Tag: hpcarm-cleanup-base Maintainer: Robert Swindells Scope: kernel Notes: Modify SA11x0 interrupt code to match PXA2x0 equivalent. Branch: itohy-usb1 Description: USB stack overhaul, mostly DMA related Status: Terminated Start Date: 22 May 2007 End Date: Base Tag: itohy-usb1-base Maintainer: ITOH Yasufumi Scope: kernel Notes: To check out the kernel source tree, 1. check out checkout script cvs checkout -ritohy-usb1 src/sys/dev/usb/filelist 2. update files in the branch sh -e src/sys/dev/usb/filelist Branch: jruoho-x86intr Description: Cleanup and rework the x86 APIC and PIC subsystems Status: Active Start Date: 17 January 2011 End Date: Base Tag: jruoho-x86intr-base Maintainer: Jukka Ruohonen Scope: kernel Notes: This branch aims to cleanup the x86 interrupt routing code. In particular, a new implementation is provided for all elements of the APIC that involve ACPI. In addition, better abstractions are provided for the whole PIC layer. The main work areas are sys/arch/x86 and sys/dev/acpi. Branch: jym-xensuspend Description: Implement xm save/restore/migrate for NetBSD domU Status: Terminated Start Date: 2009-02-08 End Date: 2011-09-20 Base Tag: jym-xensuspend-base Maintainer: Jean-Yves Migeon Scope: kernel Notes: This branch contains the code required to support the Xen save/restore/migrate facilities. It affects domU frontend drivers (xbd, xennet, xencons, hypervisor), autoconf(9) machinery, as well as MD code (mostly pmap(9)). Branch: kame Description: KAME Project Status: Dormant Start Date: 28 Jun 1999 End Date: Base Tag: Maintainer: Jun-ichiro itojun Hagino Scope: kernel Notes: http://www.kame.net Used for "reference" purposes for early part of KAME integration effort. The branch is not actively used, as I (itojun) use patch(1) and diff(1) for the KAME syncs. Branch: keiichi-mipv6 Description: Developing Mobile IPv6 function Status: Active Start Date: 21 Feb 2008 End Date: Base Tag: keiichi-mipv6-base Maintainer: Keiichi Shima Scope: sys, sbin, libc/net, distrib/sets, share/man/ Notes: http://www.mobileip.jp/ Work on developing Mobile IPv6/NEMO BS functions and related MIPv6 based advanced functions on NetBSD. Please consult keiichi for joining this activity. Branch: kent-audio2 Description: In-kernel audio mixer Status: Active Start Date: Sun Jan 16 2005 End Date: Base Tag: kent-audio2-base Maintainer: TAMURA Kent Scope: kernel (audio device drivers) Notes: http://mail-index.netbsd.org/tech-kern/2004/12/03/0007.html Please consult with the maintainer before committing to this branch. This branch is not expected to be compilable yet. Branch: khorben-n900 Description: Supporting the Nokia N900 smartphone Status: Active Start Date: 2013-05-07 Maintainer: Pierre Pronchery Scope: kernel (OMAP3 support, device drivers) Notes: Do not hesitate to communicate any change that would be welcome in HEAD. Branch: matt-mips64 Description: Rototill the mips code to support LP64 mips and N32/N64 ABIs Status: Mostly dead Start Date: 2007-07-17 End Date: Base Tag: matt-mips64-base Maintainer: Matt Thomas Scope: kernel & userland Notes: Branch: matt-nb5-mips64 Description: Rototill the mips code to support LP64 mips and N32/N64 ABIs Status: Active Start Date: 2009-08-01 End Date: Base Tag: netbsd-5-1-RELEASE Maintainer: Matt Thomas Scope: kernel & userland Notes: Branch: matt-nb5-pq3 Description: Rototill the powerpc code to support mpc85xx Status: Inactive Start Date: 2010-12-20 End Date: Base Tag: matt-nb5-pq3-base Maintainer: Matt Thomas Scope: kernel & userland Notes: Branch: matt-nb8-mediatek Description: Add support for various MediaTek SoCs Status: Active Start Date: 2017-10-27 End Date: Base Tag: matt-nb8-mediatek-base Maintainer: Matt Thomas Scope: kernel & userland Notes: Branch: mjf-devfs2 Description: device file system supporting dynamic device nodes Status: Active Start Date: 21 February 2008 End Date: Base Tag: mjf-devfs2-base Maintainer: Matt Fleming Scope: kernel and userland Notes: This branch will move away from the static device nodes that are created with MAKEDEV scripts and allow nodes to be created and removed dynamically as devices are attached and detached from the machine. Branch: mjf-ufs-trans Description: file system transactions for ufs Status: Active Start Date: 12 March 2007 End Date: Base Tag: mjf-ufs-trans-base Maintainer: Matt Fleming Scope: kernel Notes: Branch: nick-net80211-sync Description: sync of net80211 with FreeBSD Status: Dormant Start Date: 21 February 2008 End Date: Base Tag: nick-net80211-base Maintainer: Nick Hudson Scope: sys/ Notes: Sync'ing net80211 with FreeBSD and drivers update. The branch is currently only the kernel, but will likely extend to some userland areas. Branch: pkgviews Description: package views, enabling multiple conflicting packages to co-exist Status: Active Start Date: 22 July 2002 End Date: Base Tag: pkgviews Maintainer: Alistair Crooks Scope: pkgsrc, basesrc/usr.sbin/pkg_install Notes: A more flexible infrastructure for third-party packages by allowing multiple conflicting packages and versions to co-exist within the same tree Branch: phil-wifi Description: Refresh WiFi code from FreeBSD Status: Abandoned Start Date: 2018-06-28 End Date: - Base Tag: phil-wifi-base Maintainer: phil, martin Scope: src Notes: This branch has been superseeded by the topic 'wifi' in the src-draft mercurial repository. See https://wiki.netbsd.org/Wifi_renewal_on_hg/ Branch: rmind-smpnet Description: MP safe network stack (milestone 1): IPv4, UDP and ICMP Status: Active Start Date: 17 July 2013 End Date: Base Tag: rmind-smpnet-base Maintainer: Mindaugas Rasiukevicius Scope: Kernel: src/sys (src/common is tagged but not branched) Notes: Goals: - Improve the abstraction of PCB and other interfaces. - Add PCB and route cache locking, adjust socket locking. - Rework IPv4, UDP and ICMP paths to be MP safe. - Switch UDP sockets to a separate lock, test and benchmark. Branch: rpaulo-netinet-merge-pcb Description: merge in6pcb with inpcb Status: Dormant Start Date: Wed Feb 01 2006 End Date: Base Tag: rpaulo-netinet-merge-pcb-base Maintainer: Rui Paulo Scope: src/sys Notes: No longer active due to the lack of time. If you plan to continue this branch, sys/netinet/in_pcb.h already contains the proposed structure layout (which was roughly discussed in the tech-net mailing list). I also defined INP_*() macros to mimicate FreeBSD's inpcb locking style, but currently they do nothing and are not yet called at the correct places (needs discussion about kernel fine-grained locking). To continue this branch, one needs to read all the relevant inpcb/in6pcb source files and change the function names, structure names, structure fields according to the new layout (in6pcb is gone). Don't try to build a kernel from this branch because it won't work. The missing pieces required to do a complete build were not committed because they were incomplete and generated panics. You shouldn't need to worry about KAME syncs because they did most of them by now. After the work is done, you are required to test the branch (before the merge to -current) with an interop IPv6 test. More info at: http://www.tahi.org/ Branch: wrstuden-fixsa Description: Fix a number of issues present with Scheduler Activations. Status: Active Start Date: 15 May 2007 End Date: Base Tag: wrstuden-fixsa-base Maintainer: Bill Stouder-Studenmund Scope: src, though all the interesting stuff is in the kernel or lib/libpthread or maybe gdb. Notes: This branch is based off of the netbsd-4 branch! This branch is intended to stage improvements for the Scheduler Activations system for NetBSD 4. Improvements include not allocating memory while preparing to tsleep(), reducing inappropriate upcall delivery (hopefully also eliminating the need to mlock stacks), and being able to pthread_kill() running threads. At this date, most goals have been achieved. This branch also includes fixes to gdb to support working with threaded apps. Branch: wrstuden-revivesa Description: Fix a number of issues present with Scheduler Activations. Status: Active Start Date: 10 May 2008 End Date: Base Tag: wrstuden-revivesa-base Maintainer: Bill Stouder-Studenmund Scope: src, though all the interesting stuff is in the kernel Notes: This branch is intended to revive Scheduler Activations in -current in the 5.0 era. This branch's main goal is to re-add syscall compatability so that SA-based libpthread programs can run with a -current kernel. 1:1 threading will remain the NetBSD-default. This branch will re-add necessary upcall support, and will also serve as a chance to clean out cruft that had accumulated in the implementation over time. Branch: yamt-kmem Description: - separate kernel va allocation from kernel fault handling. - make kmem_alloc interrupt-safe. Status: Active Start Date: Sun Dec 9 2007 End Date: Base Tag: yamt-kmem-base3 Maintainer: YAMAMOTO Takashi Scope: src/sys (src/common is tagged but not branched) Notes: todo: - investigate if PMAP_PREFER equivalent can be done with vmem_xalloc. find a tester with hardware for it. - g/c replaced code, including kmapent and malloc. - consider to remove other submaps. eg. mb_map Branch: yamt-nfs-mp Description: make nfs client mp-safe Status: Active Start Date: Sun Apr 27 2008 End Date: Base Tag: yamt-nfs-mp-base11 Maintainer: YAMAMOTO Takashi Scope: src/sys (src/common is tagged but not branched) Notes: Branch: yamt-pagecache Description: page cache related changes Status: Active Start Date: Wed Nov 2 2011 End Date: Base Tag: yamt-pagecache-base8 Maintainer: YAMAMOTO Takashi Scope: src Notes: - maintain object pages in radix tree rather than rb tree. - shrink the size of vm_page. - reduce unnecessary page scan in putpages. esp. when an object has a ton of pages cached but only a few of them are dirty. - reduce the number of pmap operations by tracking page dirtiness more precisely in uvm layer. - fix nfs commit range tracking. - fix nfs write clustering. XXX hack - fix A->O loaning - write radixtree(9) man page TODO: - benchmark - test - make the write clustering fix less kludgy - fix or disable the ad-hoc per-cpu statistic - disable A->O loan as its benefit is unclear at best tested: i386, amd64, nfs, ffs have good chances to be broken: lfs, sparc64, hp700 the following is kernel build test results. most of NG seem unrelated to the changes in the branch. acorn26 GENERIC OK acorn32 GENERIC OK algor P6032 NG alpha GENERIC OK alpha GENERIC.MP OK amd64 GENERIC OK amd64 XEN3_DOM0 OK amd64 XEN3_DOMU OK amiga GENERIC OK amigappc GENERIC OK arc GENERIC OK atari MILAN-PCIIDE OK bebox GENERIC OK cats GENERIC OK cesfic GENERIC OK cobalt GENERIC OK dreamcast GENERIC NG emips GENERIC OK evbarm NSLU2 NG evbarm TS7200 NG evbmips P6032 NG evbmips MALTA NG evbppc WALNUT NG evbppc EXPLORA451 NG evbppc PMPPC NG evbsh3 COMPUTEXEVB OK ews4800mips GENERIC OK hp300 GENERIC OK hp700 GENERIC OK hpcarm JORNADA720 OK hpcarm JORNADA728 OK hpcmips GENERIC OK hpcsh GENERIC OK hpcsh HPW650PA OK i386 MONOLITHIC OK i386 GENERIC OK i386 XEN3_DOM0 OK i386 XEN3_DOMU OK i386 ALL NG ia64 GENERIC OK ia64 GENERIC.SKI NG ibmnws GENERIC OK iyonix GENERIC NG landisk GENERIC OK luna68k GENERIC OK mac68k GENERIC OK macppc GENERIC OK macppc GENERIC.MP OK mipsco GENERIC OK mmeye GENERIC OK mvme68k GENERIC OK mvmeppc GENERIC OK netwinder GENERIC NG news68k GENERIC OK newsmips GENERIC OK next68k GENERIC OK ofppc GENERIC OK ofppc GENERIC.MP NG pmax GENERIC OK prep GENERIC OK rs6000 GENERIC NG sandpoint GENERIC OK sbmips GENERIC NG sbmips GENERIC.MP NG sgimips GENERIC32_IP3x OK shark GENERIC NG sparc GENERIC OK sparc GENERIC.MP OK sparc64 GENERIC OK sun2 GENERIC OK sun3 GENERIC OK usermode GENERIC NG vax GENERIC OK vax GENERIC.MP OK x68k GENERIC OK zaurus GENERIC NG Branch: reinoud-bufcleanup Description: implement and evaluate struct buf usage cleanup strategies. Ideas currently in mind (preference for b): a) 1. use of bio_ops per buffer. 2. allow chaining/overloading of functions in bio_ops and provide some private context. 3. extend the bio_ops with commonly used functionality like pending action counting, custom context passing, last minute processing of buffer data, buffer cache etc. 4. investigate the use of the kcont() continuation-passing framework for async io completion notification for bufs ... b) 1. all sequencing use of B_CALL replaced by device-threads, if possible generic code around BUFQ 2. possibly use kcont() for async IO finished signaling 3. counter of pending and queued actions requestable by IOCTL interface? 4. implement `last minute buffer fixup' calls and maybe even finished I/O calls as vnode operations ... Status: Active Start Date: Thu Mar 15 2007 End Date: Base Tag: reinoud-bufcleanup-base Maintainer: Reinoud Zandijk Scope: src/sys and src/common Notes: Used as experiment sandbox and if successful hopefully one day to be integrated. ######################################################################## # Individual developers' branches (Terminated): ######################################################################## Branch: pgoyette-compat Description: clean-up of compat module Status: Merged Start Date: Tues Mar 6, 2018 End Date: Sun Jan 27, 2019 Base Tag: pgoyette-compat-base Maintainer: pgoyette Scope: src/ Notes: Branch: prg-localcount2 Description: Implement localcount reference counting as proposed by riastradh@ - supersedes abandonded pgoyette-localcount Status: Suspended - core of the changes were merged to HEAD Start Date: Wed Apr 26 2017 End Date: Base Tag: prg-localcount2-base Maintainer: pgoyette Scope: src/sys/ Notes: Branch: pgoyette-localcount Description: Implement localcount reference counting as proposed by riastradh@ Status: Terminated Start Date: Fri Jul 15 2016 End Date: Wed Apr 26 2017 Base Tag: pgoyette-localcount-base Maintainer: pgoyette Scope: src/sys/ Notes: Abandoned - there seems to have been some CVS "pilot error during one of the sync-with-head and now there are an unknown number of commits missing from an unknown number of files from an unknown time period. The work will be salvaged as much as possible, and applied to a new clean branch. Branch: bouyer-scsipi Description: Integration of atapi support Status: Terminated Start Date: End Date: Base Tag: Maintainer: Manuel Bouyer Scope: kernel Notes: Superseded by thorpej_scsipi Branch: bouyer-xen2 Description: update xen port to xen 2.0, with support for domain0 operations Status: Terminated Start Date: Dec 13 2004 End Date: Mar 10 2005 Base Tag: netbsd-2-base Maintainer: Manuel Bouyer Scope: src/sys/arch/xen Notes: Branch: bouyer-xenamd64 Description: add amd64 support to Xen and rework some parts to share more code between Xen and others Status: Terminated Start Date: 18 Oct 2007 End Date: 22 Nov 2007 Base Tag: bouyer-xenamd64-base Maintainer: Manuel Bouyer Scope: kernel Notes: Branch: bouyer-xeni386 Description: switch xen on i386 to the x86 pmap and the xen/x86/x86_xpmap.c bootstrap, and add i386 PAE support Status: Terminated Start Date: 10 Dec 2007 End Date: 23 Jan 2008 Base Tag: bouyer-xeni386-base Maintainer: Manuel Bouyer Scope: kernel Notes: Branch: bouyer-quota2 Description: modernise disk quotas Status: Terminated Start Date: Thu Jan 20 2011 End Date: March 06 2011 Base Tag: bouyer-quota2-base Maintainer: Manuel Bouyer Scope: src/ Notes: Branch: chap-midi Description: Renovation of MIDI support Status: Terminated; merged to -current Start Date: 19 May 2006 End Date: 30 Jun 2006 Base Tag: chap-midi-base Maintainer: Chapman Flack Scope: sys, share/man, usr.bin Notes: Branch: chs-ubc Description: Unified Buffer Cache Status: Terminated Start Date: End Date: Base Tag: chs-ubc-base Maintainer: Chuck Silvers Scope: kernel Notes: Branch: chs-ubc2 Description: Unified Buffer Cache Status: Terminated; merged to -current Start Date: End Date: Base Tag: chs-ubc2-base, chs-ubc2-newbase Maintainer: Chuck Silvers Scope: kernel Notes: Branch: cjs-build-against-obj-dir Description: ? Status: ? Start Date: End Date: Base Tag: Maintainer: Curt Sampson Scope: Entire tree. Notes: Branch: cube-autoconf Description: Renovate autoconf(9) API Status: Terminated; abandoned Start Date: 11 Dec 2007 End Date: Base Tag: cube-autoconf-base Maintainer: Quentin Garnier Scope: kernel usr.bin/config (and some other userland bits) Notes: Address a number of issues the current autoconf(9) API has. Branch: eeh-paddr_t Description: use separate types for virtual vs. physical addresses Status: Terminated; merged to -current Start Date: End Date: Base Tag: eeh-paddr_t-base Maintainer: Eduardo Horvath Scope: kernel Notes: This is needed to support 32-bit kernels on sparc64. Branch: elad-kernelauth Description: Native NetBSD implementation of Apple's kernel authorization based on TN2127. This is a "clean-room" implementation to avoid any licensing issues. Status: Terminated; merged to -current Start Date: Tue Mar 7 2006 End Date: Mon May 15 2006 Base Tag: elad-kernelauth-base Maintainer: Elad Efrat Scope: src/sys, src/share/man/man9/Makefile, src/share/man/man9/kauth.h, src/distrib/sets/lists/comp/mi Notes: Branch: fvdl-softdep Description: FFS soft dependencies Status: Terminated; merged to -current Start Date: End Date: Base Tag: fvdl-softdep-base Maintainer: Frank van der Linden Scope: kernel Notes: Branch: gehenna-devsw Description: auto-generation of devsw table Status: Terminated Start Date: 16 May 2002 End Date: 6 Sep 2002 Base Tag: gehenna-devsw-base Maintainer: MAEKAWA Masahide Scope: syssrc Notes: The goal is to get rid of the existing device switch tables in port-dependent conf.c and to generate them dynamically by config(8). Branch: haad-dm Description: Add support for LVM to NetBSD Status: Terminated; merged with -current Start Date: 7 July 2008 End Date: 19 December 2008 Base Tag: haad-dm-base Maintainer: Adam Hamsik Scope: kernel Notes: LVM support is based on Linux lvm2tools, libdevmapper library and NetBSD device-mapper driver. Branch: is-newarp Description: ARP for non-Ethernet Status: Terminated; merged before NetBSD 1.3 Start Date: 1996/10/13 End Date: 1997/03/15 Base Tag: is-newarp-base Maintainer: Ignatios Souvatzis Scope: kernel Notes: Branch: isaki-audio2 Description: Overhaul audio subsystem Status: Terminated; merged to -current Start Date: 21 Apr 2019 End Date: 08 May 2019 Base Tag: isaki-audio2-base Maintainer: Tetsuya Isaki Scope: src/sys Notes: Rework audio subsystem, including multiple streaming, filter pipeline. Branch: jmcneill-pm Description: Power management framework overhaul, ACPI improvements Status: Terminated; merged before NetBSD 5.0 Start Date: 3 Aug 2007 End Date: 9 Dec 2007 Base Tag: jmcneill-pm-base Maintainer: Jared D. McNeill Scope: kernel Notes: Branch: jmcneill-audiomp3 Description: Add MP locking to the audio drivers Status: Terminated; merged before NetBSD 6.0 Start Date: 19 Nov 2011 End Date: 23 Nov 2011 Base Tag: jmcneill-audiomp3-base Maintainer: Jared D. McNeill Scope: kernel Notes: Resurrect ad-audiomp2, make the audio drivers MP safe. Branch: kenh-if-detach Description: Interface detach support. Status: ? Start Date: End Date: Base Tag: kenh-if-detach-base Maintainer: Ken Hornstein Scope: kernel Notes: Branch: kent-audio1 Description: Audio converter pipeline Status: Terminated; merged to -current Start Date: Tue Dec 7 2004 End Date: Tue Jan 11 2005 Base Tag: kent-audio1-base Maintainer: TAMURA Kent Scope: kernel (audio device drivers) Notes: http://mail-index.netbsd.org/tech-kern/2004/12/03/0007.html Please consult with the maintainer before committing to this branch. Branch: kqueue Description: kqueue kernel event notification mechanism (from FreeBSD) Status: Terminated; merged to -current Start Date: Tue Jul 10 23:08:38 EST 2001 End Date: Tue Oct 24 09:14:14 GMT 2002 Base Tag: kqueue-base Maintainer: Jaromir Dolecek Scope: kernel, libc/sys, share/man/man9, usr.bin/fstat Notes: Integration of FreeBSD's kqueue(2) mechanism, with various local internal changes to better suit NetBSD, and enhancements such as looking up filters by name or number, and dynamic registration of "user" filters. Branch: ktrace-lwp Description: ktrace support for lwp ids. Status: Terminated; merged to -current Start Date: Wed Jul 2 15:27:30 UTC 2003 End Date: Sun Dec 11 12:25:29 UTC 2005 Base Tag: ktrace-lwp-base Maintainer: Darren Reed Scope: sys Notes: Branch: marc-pcmcia Description: PCMCIA support Status: Terminated; merged to -current Start Date: End Date: Base Tag: marc-pcmcia-base, marc-pcmcia-bp Maintainer: Marc Horowitz Scope: kernel Notes: Branch: matt-armv6 Description: Rototill the arm code to support features present in the v6 of the ARM Architecture. Additionally, clean up things along the way to use common practices. Status: Terminated; merged to -current Start Date: 2007-08-27 End Date: 2008-04-27 Base Tag: matt-armv6-base Maintainer: Matt Thomas Scope: kernel & userland Notes: Branch: minoura_x68k_bus_h Description: bus_space(9) and bus_dma(9) implementation for x68k Status: Terminated; merged to -current Start Date: 23 Dec 1998 End Date: 16 Mar 1999 Base Tag: minoura_x68k_bus_h-base Maintainer: Minoura Makoto Scope: sys/arch/x68k Notes: Branch: minoura-xpg4dl Description: Citrus Project locale subsystem Status: Terminated; (partly) merged to -current Start Date: 28 March 2000 End Date: Base Tag: minoura-xpg4dl-base Maintainer: Minoura Makoto Scope: basesrc, syssrc, sharesrc Notes: Citrus Project is developing dynamically-loadable, codeset- independent locale subsystem. Part of the implementation (LC_CTYPE) called XPG4DL is now integrated to -current. Branch: mjf-devfs Description: device file system supporting dynamic device nodes Status: Terminated Start Date: 12 November 2007 End Date: 21 February 2008 Base Tag: mjf-devfs-base Maintainer: Matt Fleming Scope: kernel and userland Notes: This branch will move away from the static device nodes that are created with MAKEDEV scripts and allow nodes to be created and removed dynamically as devices are attached and detached from the machine. Branch: mrg-vm-swap Description: dynamic swap allocation, swap-to-files support Status: Terminated; abandoned for mrg-vm-swap2 Start Date: 12 February 1997 End Date: 15 March 1997 Base Tag: [none] Maintainer: Matthew R. Green Scope: kernel Notes: Branch: mrg-vm-swap2 Description: dynamic swap allocation, swap-to-files support Status: Terminated; merged to -current Start Date: 4 May 1997 End Date: 12 June 1997 Base Tag: mrg-vm-swap2-base Maintainer: Matthew R. Green Scope: kernel Notes: Branch: nathanw_sa Description: Scheduler activations Status: Terminated; merged to -current Start Date: 5 March 2001 End Date: 18 January 2003 Base Tag: nathanw_sa_base Maintainer: Nathan Williams Scope: kernel, libc, libkvm, libpthread, libpthread_dbg, include, bin/ps usr.bin/systat usr.bin/top usr.bin/w gnu/dist/toolchain/gdb gnu/usr.bin/gdb Notes: The idea of scheduler activations is described in the classic paper by Anderson et al., in ACM Transactions a on Computer Systems volume 10 issue 1 (1992),which can be found at http://www.acm.org/pubs/citations/journals/tocs/1992-10-1/p53-anderson/ Many ideas in the implementation are based on the implementation of scheduler activations added to Mach 3.0 and described by Davis et al. in the University of Washington CS tech report 92-08-93, which can be found at ftp://ftp.cs.washington.edu/tr/1992/08/UW-CSE-92-08-03.PS.Z My USENIX paper on the subject can be found at http://web.mit.edu/nathanw/www/usenix/ Please consult with the maintainer before committing to this branch. Other tags starting with nathanw_sa reserved for branch management and are not guaranteed to be stable. Trunk tagged with "nathanw_sa_before_merge" prior to merging branch down to trunk. Branch tagged with "nathanw_sa_end" to indicate the ending revision of the branch. Branch: newlock Description: New locking primitives, based on Solaris's Status: Terminated Start Date: March 9, 2002 End Date: February 12, 2007 Base Tag: newlock-base Maintainer: Jason R. Thorpe Scope: Kernel Notes: The goal is to replace the existing lockmgr() and simple_lock() based locking mechanisms with the primitives found in Solaris: mutexes and rwlocks. Superseded by the newlock2 branch. Branch: newlock2 Description: New locking primitives, based on Solaris's Status: Terminated Start Date: September 9, 2006 End Date: February 12, 2007 Base Tag: newlock2-base Maintainer: Andrew Doran Scope: Kernel Notes: As per the newlock branch, however given the amount of time the original branch has lain dormant, a new one has been created. Goals: - Implement new locking primitives on most-used ports. - Minor locking improvements. - Remove spinlockmgr(). Branch: nick-csl-alignment Description: Provide correctly aligned __cpu_simple_lock_t for hppa Status: Terminated; merged to -current Start Date: 2007-07-18 End Date: Base Tag: nick-csl-alignment-base5 Maintainer: Nick Hudson Scope: sys, lib/libpthread, lib/libpthread_dbg Notes: Branch: perseant-lfsv2 Description: LFS incompatible on-disk data structure changes Status: Terminated Start Date: 27 June 2001 End Date: 16 July 2001 Base Tag: perseant-lfsv2-base Maintainer: Konrad Schroder Scope: basesrc/{sbin/*lfs,libexec/lfs_cleanerd,usr.sbin/dumplfs}, syssrc/sys/ufs Notes: This branch should be short-lived, I expect to merge as soon as the data structures required for unremove are in and tested. Branch: ppcoea-renovation Description: General renovation and cleanup of all OEA PowerPC ports. Status: Terminated; merged to -current Start Date: 30 April 2007 End Date: 15 October 2007 Base Tag: ppcoea-renovation-base Maintainer: Tim Rightnour Scope: src/sys/arch Notes: This branch is for a general cleanup of all OEA-based PowerPC ports. OEA (Operating Environment Architecture) PowerPC refers to the 601, 603, 604, and similar chips. Specifically, not the 403/401 and other embedded chips. The general concept is to get them all compiling, and sharing as much code as possible. All developers are welcome to commit to this branch. Branch: thorpej-devvp Description: replace dev_t with struct vnode * in devsw entry points Status: Terminated Start Date: Sep 6 2001 End Date: ??? Base Tag: thorpej-devvp-base Maintainer: Jason Thorpe Scope: syssrc Notes: Kernels built from this branch are not expected to function correctly at this time. Ports known to compile on this branch: alpha i386 Branch: peter-altq Description: New ALTQ framework: - sync with KAME sources - share mtag/name mapping functions - separate altq + pf attachment Status: Terminated; merged to -current Start Date: March 16, 2006 End Date: October 12, 2006 Base Tag: peter-altq-base Maintainer: Peter Postma , Martin Husemann , Matthias Scheler Scope: dist/pf dist/ipf distrib/sets/lists sys usr.sbin/altq Notes: Only the first item in the description was finished in this branch. Branch: rmind-uvmplock Description: Reorganize locking in UVM and improve x86 pmap(9) Status: Terminated; merged to -current Start Date: 15 March 2010 End Date: 12 June 2011 Base Tag: rmind-uvmplock-base Maintainer: Mindaugas Rasiukevicius Scope: Kernel Notes: Goals: - Reorganize locking in UVM and serialize pmap(9) operations on same page(s). New lock order: [vmpage-lock] -> pmap-lock. Based on the patch from ad@. - Simplify locking in pmap(9) modules by removing P->V locking. - Use mutex_obj(9) on vmobjlock (and thus vnode_t::v_interlock) to share locks among UVM objects where necessary. - Rewrite and optimize x86 TLB shootdown code. - Unify /dev/mem et al in MI code and provide required locking. Future work: - Optimize pmap_remove() with tracking in struct vm_map_entry. Branch: sommerfeld_i386mp_1 Description: Multiprocessor support for i386 using Intel MP BIOS. Status: Terminated; merged to -current Start Date: 21 Feb 2000 End Date: 01 Oct 2002 Base Tag: sommerfeld_i386mpbase_1 Maintainer: Bill Sommerfeld Scope: sys/arch/i386 Notes: Code committed to the branch has booted to multiuser on at least one system. Not guaranteed to compile against mainline since -current may have changed incompatibly with the last branch update; use "cvs update -D" to roll-back the rest of the tree to match. Please get explicit permission from the maintainer before each commit, or your changes will be backed out. Other tags starting with sommerfeld_ are private to the developer and are guaranteed to be unstable. Only the maintainer should move tags. Note that this branch uses a DIFFERENT scheme for syncing with the mainline. the maintainer uses some private scripts for keeping them in sync; if you make commits to the branch to "resynchronize" things, you'll probably do it wrong; instead, ask the maintainer to resynchronize things. See sys/arch/i386/TODO on the branch for a list of known issues with the branch. Branch: thorpej-mips-cache Description: overhaul MIPS cache support code Status: Terminated; merged to -current Start Date: Oct 23 2001 End Date: Nov 14 2001 Base Tag: thorpej-mips-cache-base Scope: syssrc Notes: This branch needs more debugging, testing, and more ports need to be converted to the new world order. The following processors have had cache ops written: * R2000/R3000 (cache_r3k) -- light testing, needs to be beat on a lot more to make sure it's working. * R4000/R4400 (cache_r4k) -- mhitch@NetBSD.org tracked down a bug, which has been fixed. Confirmed working on R4000-with-L2. Confirmed working on R4400-no-L2 and R4400-with-L2. * R4600/R5000 (cache_r5k) -- shin@NetBSD.org has committed fixes to this code. Confirmed working on R4600 v2 (SGI IP-22 with no SysAD L2 cache). Confirmed working on RM5260 (Algorithmics P-5064). * TX39 (cache_tx39) -- uch@NetBSD.org has committed fixes to this code. Awaiting confirmation that it is working properly. * R5900 (cache_r5900) -- uch@NetBSD.org has written this code and tested it on a PlayStation 2. The following ports have been updated to compile (and use optimized-for-processor bus_dma routines). Those that have been tested and work are marked with [WORKING]. * algor [WORKING] * arc [WORKING] * pmax [WORKING] * playstation2 [WORKING] Needs optimized bus_dmamap_sync(). * hpcmips [need verification that this is working] Needs optimized bus_dmamap_sync(). * sgimips [WORKING] Needs optimized bus_dmamap_sync(). * cobalt [need testing] * mipsco [need testing] * newsmips [need testing] Branch: thorpej_scsipi Description: SCSI/ATAPI midlayer rewrite. Status: Terminated; merged to -current Start Date: End Date: Apr 25 2001 Base Tag: thorpej_scsipi_base, thorpej_scsipi_nbase Maintainer: Manuel Bouyer , Jason Thorpe Scope: syssrc Notes: When a change from -current is pulled up please move the thorpej_scsipi_base tag to the revision you're syncing with. thorpej_scsipi_nbase is private to maintainer (only used when syncing the whole branch with HEAD). Just before the merge, syssrc has been tagged with thorpej_scsipi_beforemerge Branch: thorpej-signal Description: ? Status: ? Start Date: End Date: Base Tag: thorpej-signal-base Maintainer: Jason Thorpe Scope: kernel Notes: Branch: thorpej-setroot Description: ? Status: Terminated; merged to -current Start Date: End Date: Base Tag: Maintainer: Jason Thorpe Scope: kernel Notes: Branch: simonb-timecounters Description: Port FreeBSD timecounters to NetBSD Status: Terminated Start Date: Sat Feb 04 2006 End Date: Wed Jun 07 2006 Base Tag: simonb-timecounters-base Maintainer: Simon Burge , Frank Kardel Scope: sys, sbin/savecore, usr.bin/vmstat, usr.sbin/ntp Notes: early (partial conversion) commit to -current ok'ed by core@ on 20060605 for testing and further simplified conversion Branch: simonb-wapbl Description: Wasabi's journaling filesystem support Status: Terminated; merged to -current Start Date: Tue Jun 10 2008 End Date: Thu Jul 31 2008 Base Tag: simonb-wapbl-base Maintainer: Simon Burge Scope: src/distrib/sets/lists/comp src/distrib/utils/sysinst src/include src/sbin/fsck_ffs src/sbin/fsdb src/sbin/mount_ffs src/sbin/tunefs src/usr.sbin/dumpfs src/sys Notes: Still has a number of issues: - Some heavy workload performance issues on SMP machines. Work around this issue by turning on WAPBL_DEBUG_SERIALIZE in rev 1.1.2.11 of vfs_wapbl.c. - Removing large files (sparse only?) takes a long time. Eg, a file created with dd if=/dev/zero of=foox bs=1 count=1 seek=11261748520550 takes 0:00.00 to remove on my test box without logging and 0:22.25 to remove with logging. No disk IO during this... - sysinst should use in-fs logs now, not end-of-partition logs. Branch: uebayasi-xip Description: Support eXecute-In-Place (XIP) Status: Active Start Date: 8 February 2010 End Date: Base Tag: uebayasi-xip-base6 (2010-11-15 UTC) Maintainer: Masao Uebayashi Scope: src/external/gpl3/binutils/usr.sbin/mdsetimage/mdsetimage.8 src/include src/sbin/mount src/sbin/mount_ffs src/share/man/man4 src/share/man/man5/statvfs.5 src/share/man/man9 src/sys/arch src/sys/common/pmap src/sys/conf src/sys/dev/flash.c src/sys/dev/flashvar.h src/sys/dev/md.c src/sys/dev/md.h src/sys/dev/md_root.c src/sys/dev/xmd.c src/sys/kern/vfs_syscalls.c src/sys/miscfs/genfs/genfs_io.c src/sys/miscfs/specfs/specdev.h src/sys/sys src/sys/ufs/ffs/ffs_vfsops.c src/sys/uvm src/usr.sbin/mdsetimage/mdsetimage.8 Notes: Goals: - Clean up oddities in fault handler - Add a notion of device page - Teach XIP vnode VOP_GETPAGES - Hook XIP mount option - Teach some pmaps to handle device page Branch: vmlocking Description: Make VM and file system framework MP safe Status: Terminated Start Date: 13 March 2007 End Date: 4 December 2007 Base Tag: vmlocking-base Maintainer: Andrew Doran Scope: kernel Notes: Superseded by vmlocking2 branch. Branch: vmlocking2 Description: Make VM and file system framework MP safe Status: Terminated Start Date: 4 December 2007 End Date: 2 January 2008 Base Tag: vmlocking2-base3 Maintainer: Andrew Doran Scope: kernel Notes: Goals: - Make VM system / trap handling MP safe. - Replace simplelocks with mutexes. - Make file system framework MP safe. Status by architecture: alpha done i386 done amd64 done mips done sparc need pmap/trap locking changes sparc64 done arm done powerpc done hppa done sh3 done m68k done xen need pmap/trap locking changes Remaining MI work to do: - Check aliased vnode handling. There may be problems. Remaining problems: - LFS stalls due to v_numoutput leak. Branch: wrstuden-devbsize Description: Modify buffer cache to deal with different devices having different block sizes. Also DEV_BSIZE would go away. Status: Terminated Start Date: Aug or Sept 1999 End Date: 1 Apr 2000 Base tag: wrstuden-devbsize-base Maintainer: Bill Studenmund Scope: kernel Notes: No longer active due to lack of time, and introduction of UBC. In terms of UBC, the primary cache for file data is the VM cache, which needs to operate in terms of VM pages. As no existing device has native pages the same size as our VM pages, there already is a mapping going on between the VM system and the underlying blocks. So it would be easier and cleaner to adjust that to deal w/ different block sizes. Also with UBC, all i/o is in terms of bytes at an offset with a certain length, so the exact block size isn't a big deal. Any other wrstuden-devbsize tag may (and should) go away. Branch: yamt-idlelwp Description: idle lwp, and some changes depending on it. 1. separate context switching and thread scheduling. (cf. gmcgarry_ctxsw) 2. implement idle lwp. 3. clean up related MD/MI interfaces. 4. make scheduler(s) modular. Status: Terminated; merged to -current Start Date: Fri Feb 17 2007 End Date: Thu May 17 2007 Base Tag: yamt-idlelwp-base8 Maintainer: YAMAMOTO Takashi Scope: src/sys (src/common is tagged but not branched) Notes: Status of ports: alpha [ Done, UP tested, MP not tested ] i386 [ Done, tested ] amd64 [ Done, tested ] mips [ Done, both MIPS1 and MIPS3 tested] sparc [ Done, UP tested, MP might have some problem after newlock2 merge ] sparc64 [ Done, tested ] arm [ Done, SA1 tested. See PR 36548 ] macppc/powerpc [ Done, OEA tested ] hppa [ Done, tested ] sh3 [ Done, tested ] vax [ Done, UP tested, MP untested ] m68k [ Done, tested on several ports ] ns32k [ broken ] ia64 [ broken ] pdp10 [ broken ] How to adapt a port? - unify cpu_switch, cpu_exit, cpu_switchto into a single cpu_switchto. see cpu_switchto.9. - implement cpu_idle. see cpu_idle.9. - add a flag argument to cpu_need_resched. handle RESCHED_IMMED flag, which means "cause a preemption as soon as possible." eg. in the case of MULTIPROCESSOR, send an IPI to the target cpu. - "curlwp == NULL" is not a valid check for idle state anymore. use "(curlwp->l_flag & LW_IDLE) != 0" instead. curlwp is almost always non-NULL, with exceptions like early on boot. - remove idle pcbs. - (if MULTIPROCESSOR) tweak processor trampoline code. - (if MULTIPROCESSOR) call mi_cpu_attach when attaching secondary processors. - (if schedhz!=0) call schedclock regardless of the value of curlwp. - of course, update MD users of scheduler/switching API. Branch: yamt-lazymbuf Description: change the way to share mbuf external storage so that it can work without kernel_lock. Status: Terminated; merged to -current Start Date: Wed Jul 6 2005 End Date: Mon Mar 24 2008 Base Tag: yamt-lazymbuf-base14 Maintainer: YAMAMOTO Takashi Scope: src/sys (src/common is tagged but not branched) Notes: Branch: yamt-km, yamt-km-doc Description: simplify/improve kernel memory management and bootstrap Status: Terminated; merged to -current Start Date: Tue Jan 25 2005 End Date: Fri Apr 1 2005 Base Tag: yamt-km-base{,2,3,4}, yamt-km-doc-base Maintainer: YAMAMOTO Takashi Scope: yamt-km: src/sys yamt-km-doc: src/share/man/man9/uvm.9 Notes: http://mail-index.NetBSD.org/tech-kern/2004/12/25/0005.html the followings are per-port status. (account names mean "tested by".) works enough to go to multiuser: alpha, i386, xen (yamt@) pc532 (simonb@) alpha, i386, mac68k, macppc, pmax, shark, sparc, sparc64, sun3, x68k (chs@) cobalt, dreamcast, hp300, news68k, newsmips, sun3x (tsutsui@) amiga (mhitch@) cats, hp700 (skrll@) xen (bouyer@) known to have the same problem as trunk: vax (chs@, stuck while running kvm_mkdb) known to have a problem: luna68k (and, if any, other m68k ports which use TTR) needs to be revisited. -> for luna68k, although not tested, Sysmap has been moved to avoid kva conflict with I/O ranges. buildable: src/sys/arch/acorn26/conf/GENERIC src/sys/arch/acorn32/conf/GENERIC src/sys/arch/algor/conf/P6032 src/sys/arch/alpha/conf/GENERIC src/sys/arch/alpha/conf/GENERIC.MP src/sys/arch/amd64/conf/GENERIC src/sys/arch/amd64/conf/GENERIC.MP src/sys/arch/amiga/conf/GENERIC src/sys/arch/arc/conf/GENERIC src/sys/arch/atari/conf/MILAN-PCIIDE src/sys/arch/bebox/conf/GENERIC src/sys/arch/cats/conf/GENERIC src/sys/arch/cesfic/conf/GENERIC src/sys/arch/cobalt/conf/GENERIC src/sys/arch/dreamcast/conf/GENERIC src/sys/arch/evbarm/conf/TS7200 src/sys/arch/evbppc/conf/WALNUT src/sys/arch/evbsh3/conf/COMPUTEXEVB src/sys/arch/evbsh5/conf/CAYMAN64 src/sys/arch/hp300/conf/GENERIC src/sys/arch/hp700/conf/GENERIC src/sys/arch/hpcarm/conf/JORNADA728 src/sys/arch/hpcmips/conf/GENERIC src/sys/arch/hpcsh/conf/GENERIC src/sys/arch/hpcsh/conf/HPW650PA src/sys/arch/i386/conf/GENERIC src/sys/arch/i386/conf/GENERIC.MP src/sys/arch/i386/conf/XEN0 src/sys/arch/i386/conf/XENU src/sys/arch/ibmnws/conf/GENERIC src/sys/arch/iyonix/conf/GENERIC src/sys/arch/luna68k/conf/GENERIC src/sys/arch/mac68k/conf/GENERIC src/sys/arch/macppc/conf/GENERIC src/sys/arch/macppc/conf/GENERIC.MP src/sys/arch/mipsco/conf/GENERIC src/sys/arch/mmeye/conf/GENERIC src/sys/arch/mvme68k/conf/GENERIC src/sys/arch/netwinder/conf/GENERIC src/sys/arch/news68k/conf/GENERIC src/sys/arch/newsmips/conf/GENERIC src/sys/arch/next68k/conf/GENERIC src/sys/arch/ofppc/conf/GENERIC src/sys/arch/pc532/conf/GENERIC src/sys/arch/pmax/conf/GENERIC src/sys/arch/prep/conf/GENERIC src/sys/arch/sandpoint/conf/GENERIC src/sys/arch/sbmips/conf/GENERIC src/sys/arch/sgimips/conf/GENERIC32_IP3x src/sys/arch/shark/conf/GENERIC src/sys/arch/sparc/conf/GENERIC src/sys/arch/sparc/conf/GENERIC.MP src/sys/arch/sparc64/conf/GENERIC src/sys/arch/sparc64/conf/GENERIC.MP src/sys/arch/sun2/conf/GENERIC src/sys/arch/sun3/conf/GENERIC src/sys/arch/vax/conf/GENERIC src/sys/arch/vax/conf/GENERIC.MP src/sys/arch/x68k/conf/GENERIC src/sys/arch/playstation2/conf/GENERIC Branch: yamt-pdpolicy Description: play with page replacement policy - separate page replacement policy from the rest of kernel - implement alternative replacement policy - related read-ahead adjustment? Status: Terminated; merged to -current Start Date: Sun Mar 5 2006 End Date: Sat Sep 16 2006 Base Tag: yamt-pdpolicy-base9 Maintainer: YAMAMOTO Takashi Scope: src/sys (src/common is tagged but not branched) Notes: Branch: yamt-pf42 Description: import newer pf from OpenBSD 4.2 Status: Terminated; merged to -current Start Date: Sat Apr 19 2008 End Date: Wed Jun 18 2008 Base Tag: yamt-pf42-base4 Maintainer: Peter Postma , YAMAMOTO Takashi Scope: src Notes: see sys/dist/pf/net/TODO Branch: yamt-readahead Description: play with file readahead Status: Terminated; merged to -current Start Date: Mon Nov 14 2005 End Date: Wed Nov 30 2005 Base Tag: yamt-readahead-base3 Maintainer: YAMAMOTO Takashi Scope: src/sys Notes: Branch: yamt-uio_vmspace Description: uio_lwp/uio_segflg -> uio_vmspace Status: Terminated; merged to -current Start Date: Mon Dec 31 2005 End Date: Wed Mar 1 2006 Base Tag: yamt-uio_vmspace-base5 Maintainer: YAMAMOTO Takashi Scope: src/sys Notes: Branch: yamt-splraiseipl Description: finish implementing splraiseipl (and makeiplcookie). http://mail-index.NetBSD.org/tech-kern/2006/07/01/0000.html - completes workqueue(9) and netbt. - fix PR/33218. Status: Terminated; merged to -current Start Date: Mon Sep 18 2006 End Date: Fri Dec 22 2006 Base Tag: yamt-splraiseipl-base5 Maintainer: YAMAMOTO Takashi Scope: src/sys (src/common is tagged but not branched) Notes: tested (by who): alpha (yamt) alpha (pavel) amd64 (reported privately) cobalt (tsutsui) ews4800mips (tsutsui) hp300 (tsutsui) hpcarm (reported privately) i386 (yamt) macppc (tsutsui) news68k (tsutsui) sgimips(IP32) (tsutsui) sparc(sun4c) (tsutsui) sun2 (tsutsui) sun3 (tsutsui) sun3x (tsutsui) xen (yamt) compile-tested: acorn26 acorn32 algor amiga arc atari bebox cats cesfic dreamcast evbarm evbmips evbppc(marvell) evbppc(ibm4xx) evbsh3 hp700 hpcmips hpcsh ia64 ibmnws iyonix landisk luna68k mac68k mmeye mvme68k mvmeppc mipsco netwinder newsmips next68k ofppc pc532 pmax pmppc prep sandpoint sbmips shark sparc sparc64 vax x68k zaurus not tested: pdp10 (i don't know how to build) sh5 (not buildable with an unrelated problem.) compile CAYMAN64/netbsd32_sa.o cc1: warnings being treated as errors /exports/nbsd/src/sys/compat/netbsd32/netbsd32_sa.c: In function 'netbsd32_sa_ucsp': /exports/nbsd/src/sys/compat/netbsd32/netbsd32_sa.c:126: warning: implicit declaration of function '_UC_MACHINE32_SP' --- netbsd32_sa.o --- *** [netbsd32_sa.o] Error code 1 1 error notyet: amigappc playstation2 Branch: yamt-vop Description: remove several VOPs Status: Terminated; merged to -current Start Date: Wed Oct 19 2005 End Date: Wed Nov 2 2005 Base Tag: yamt-vop-base3 Maintainer: YAMAMOTO Takashi Scope: src/sys Notes: http://mail-index.NetBSD.org/tech-kern/2005/09/27/0000.html Branch: yamt-x86pmap Description: merge i386 and amd64 pmap Status: Terminated; merged to -current Start Date: Mon Sep 24 2007 End Date: Fri Oct 19 2007 Base Tag: yamt-x86pmap-base4 Maintainer: YAMAMOTO Takashi Scope: src/sys (src/common is tagged but not branched) Notes: Branch: gdamore-uart Description: Add register table support to com driver. Status: Active Start Date: 14 June 2006 End Date: 13 July 2006 Base Tag: gdamore-uart-base Maintainer: Garrett D'Amore Scope: kernel Notes: Results in consolidation of Alchemy (mips/dev/alchemy/aucom.c) com support, and also removes a nasty hack from Atheros com. Branch: christos-time_t Description: Change time_t and dev_t to 64 bit quantities; fix timeval and timespec. Status: merged Start Date: 29 March 2008 End Date: 10 January 2009 Base Tag: christos-time_t-base Maintainer: Christos Zoulas Scope: kernel, libc, libutil, userland Notes: Requires a major bump of all libraries except libc, libutil. Branch: rtr-xorg-branch Description: xorg & static build alterations to src/x11 Status: Dead; replaced by src/external/mit/xorg Start Date: Nov 15 2004 End Date: ? Base tag: rtr-xorg-branch-base Maintainer: Tyler R. Retzlaff Scope: x11 distrib/sets/lists share/mk/bsd.x11.mk share/mk/bsd.own.mk etc/mtree/NetBSD.dist Notes: Requires parts of xsrc/xfree (HEAD) xsrc/local, xsrc/xfree/xc/programs/Xserver/hw/netbsd Requires xorg (XORG-6_8_1) Branch: gmcgarry_ctxsw Description: Separate scheduler from context-switch code Status: Dead; replaced by cpu_switchto / yamt-idlelwp branch Start Date: 18 December 2002 End Date: Base Tag: gmcgarry_ctxsw_base Maintainer: Gregory McGarry Scope: kernel Notes: Removing knowledge of the scheduler and its run queues from the machine-dependent context switch code is the first step in cleaning up the scheduler. It is necessary for the newlock branch, making the scheduler SMP friendly, adding real-time scheduler extensions, and reducing the number of code paths for LWP and proc switching. Branch: nick-hppapmap Description: Update of hppa pmap with OpenBSD code. Status: Terminated; merged to -current Start Date: 27 October 2008 End Date: 30 April 2009 Base Tag: nick-hppapmap-base3 Maintainer: Nick Hudson Scope: sys/ Notes: Port of the OpenBSD pmap including support for PA2.0 CPUs in 32-bit mode. Branch: thorpej-atomic Description: Implementation of an atomic memory operations API modeled after the one in Solaris 10. Status: Terminated; merged to -current Start Date: Apr 11 2007 End Date: Nov 18 2007 Base tag: thorpej-atomic-base Maintainer: Jason Thorpe Scope: src/common src/sys Notes: Base atomic primitives need to be implemented for all of the supported architectures: alpha DONE arm DONE hppa i386 DONE ia64 m68k DONE (except for 68010) mips ns32k powerpc DONE except for membar_*() powerpc64 DONE except for membar_*() sh3 sparc DONE except for membar_*() sparc64 DONE except for membar_*() vax x86_64 DONE Tested: alpha NO arm NO hppa NO i386 NO ia64 NO m68k NO mips NO ns32k NO powerpc NO powerpc64 NO sh3 NO sparc NO sparc64 NO vax NO x86_64 NO TODO: all - Need to replace mb_*() with membar_*(). - Audit MUTEX_CAS() and RWLOCK_CAS() uses to see of membar_enter() is required here. - Talk to ad@ -- figure out of non-atomic mutex / rwlock release is actually safe. arm - Consider using a RAS technique like MIPS uses for _lock_cas() and the mutex stubs. Possibly do more than one atomic op as a RAS. Possibly implement mutex stubs using the technique. m68k - Need to do 68010 support. i386 - Need to change when x86_patch() is called so we can test ncpus. powerpc - Figure out if we need barriers in the atomic ops themselves (hopefully not!) x86_64 - Need to change when x86_patch() is called so we can test ncpus. ######################################################################## # Other: ######################################################################## Branch: magnum Description: ? Status: ? Start Date: End Date: Base Tag: magnum-base Maintainer: ? Scope: kernel Notes: