Home | History | Download | only in doc
      1 #	$NetBSD: BRANCHES,v 1.267 2008/07/28 13:20:45 simonb Exp $
      2 #
      3 # This file contains a list of branches that exist in the NetBSD CVS
      4 # tree and their current state.
      5 #
      6 # This list is necessarily incomplete.
      7 # 
      8 # Within reason, developers may create branch and version tags at any
      9 # time for any purpose.  To avoid name collisions, private tags should
     10 # have names which begin with the developer's NetBSD login name
     11 # followed by a - or _ character (e.g., thorpej_scsipi,
     12 # thorpej-signal)
     13 # 
     14 # Any branch or version tag not listed here should be assumed to be
     15 # private to the developer who created it.  It is inappropriate for
     16 # anyone other than that developer to commit, move tags, or otherwise
     17 # modify the contents of the branch.
     18 #
     19 # Please update this file when a new branch is ready for consumption
     20 # by folks other than the maintainer, or when the use or status of an
     21 # existing branch changes significantly.
     22 #
     23 # Format:
     24 #   Branch:	  name of branch
     25 #   Description:  Purpose and intention of the branch
     26 #   Status:	  Active/Terminated/Dormant
     27 #   Start Date:	  date first instantiated
     28 #   End Date:	  date it was Terminated/made_Dormant, if any
     29 #   Base Tag:	  netbsd-1-5-base, etc.
     30 #   Maintainer:	  Somebody to blame.
     31 #   Scope:	  Portion of the tree covered.
     32 #   Notes:	  Various other info, perhaps explanation of special tags,
     33 #		  who-may-commit policies, etc.
     34 #
     35 # There are four sections to this file:
     36 #   Release branches
     37 #   Individual developers' branches (Active/Dormant)
     38 #   Individual developers' branches (Terminated), and
     39 #   other
     40 #
     41 # Entries within each section should be alphabetized.
     42 #
     43 
     44 
     45 # Release branches:
     46 
     47 Branch:		comdex-fall-1999
     48 Description:	Special release branch for pre-1.5 release at
     49 		Fall 1999 COMDEX.
     50 Status:		Terminated
     51 Start Date:
     52 End Date:
     53 Base Tag:	comdex-fall-1999-base
     54 Maintainer:	?
     55 Scope:		Entire tree.
     56 Notes:
     57 
     58 Branch:		netbsd-0-9
     59 Description:	The NetBSD 0.9 release branch
     60 Status:		Terminated
     61 Start Date:
     62 End Date:
     63 Base Tag:	netbsd-0-9-base
     64 Maintainer:	Release Engineering <releng (a] NetBSD.org>
     65 Scope:		Entire tree.
     66 Notes:		Subsidiary tags of: netbsd-0-9-ALPHA, netbsd-0-9-ALPHA2,
     67 		netbsd-0-9-BETA, netbsd-0-9-RELEASE.
     68 		Commits restricted to release engineering.
     69 
     70 Branch:		netbsd-1-0
     71 Description:	The NetBSD 1.0 release branch
     72 Status:		Terminated
     73 Start Date:
     74 End Date:
     75 Base Tag:	netbsd-1-0-base
     76 Maintainer:	Release Engineering <releng (a] NetBSD.org>
     77 Scope:		Entire tree.
     78 Notes:
     79 		Commits restricted to release engineering.
     80 
     81 Branch:		netbsd-1-1
     82 Description:	The NetBSD 1.1 release branch
     83 Status:		Terminated
     84 Start Date:
     85 End Date:
     86 Base Tag:	netbsd-1-1-base
     87 Maintainer:	Release Engineering <releng (a] NetBSD.org>
     88 Scope:		Entire tree.
     89 Notes:
     90 		Commits restricted to release engineering.
     91 
     92 Branch:		netbsd-1-2
     93 Description:	The NetBSD 1.2 release branch
     94 Status:		Terminated
     95 Start Date:
     96 End Date:
     97 Base Tag:	netbsd-1-2-base
     98 Maintainer:	Release Engineering <releng (a] NetBSD.org>
     99 Scope:		Entire tree.
    100 Notes:
    101 		Commits restricted to release engineering.
    102 
    103 Branch:		netbsd-1-3
    104 Description:	The NetBSD 1.3 release branch
    105 Status:		Terminated
    106 Start Date:
    107 End Date:
    108 Base Tag:	netbsd-1-3-base
    109 Maintainer:	Release Engineering <releng (a] NetBSD.org>
    110 Scope:		Entire tree.
    111 Notes:
    112 		Commits restricted to release engineering.
    113 
    114 Branch:		netbsd-1-4
    115 Description:	The NetBSD 1.4 release branch
    116 Status:		Terminated
    117 Start Date:	1 Apr 2000
    118 End Date:
    119 Base Tag:	netbsd-1-4-base
    120 Maintainer:	1.4 Release Engineering <releng-1-4 (a] NetBSD.org>
    121 Scope:		Entire tree.
    122 Notes:
    123 		Commits restricted to release engineering.
    124 
    125 Branch:		netbsd-1-5
    126 Description:	The NetBSD 1.5 release branch
    127 Status:		Terminated
    128 Start Date:	20 Jun 2000
    129 End Date:	26 Jan 2005
    130 Base Tag:	netbsd-1-5-base
    131 Maintainer:	1.5 Release Engineering <releng-1-5 (a] NetBSD.org>
    132 Scope:		Entire tree.
    133 Notes:
    134 		Commits restricted to release engineering.
    135 
    136 Branch:		netbsd-1-6
    137 Description:	The NetBSD 1.6 release branch
    138 Status:		Terminated
    139 Start Date:	22 May 2002
    140 End Date:
    141 Base Tag:	netbsd-1-6-base
    142 Maintainer:	1.6 Release Engineering <releng-1-6 (a] NetBSD.org>
    143 Scope:		Entire tree.
    144 Notes:
    145 		Commits restricted to Release Engineering.
    146 
    147 Branch:		netbsd-2
    148 Description:    The NetBSD 2 release branch
    149 Status:		Active
    150 Start Date:	23 Dec 2004
    151 End Date:
    152 Base Tag:	netbsd-2-base
    153 Maintainer:	2 Release Engineering <releng-2 (a] NetBSD.org>
    154 Scope:		Entire tree. (src + xsrc)
    155 Notes:
    156 		Commits restricted to Release Engineering.
    157 
    158 Branch:		netbsd-2-0
    159 Description:	Originally the NetBSD 2.0 release branch and now the branch 
    160 		tracking security/critical fixes for the NetBSD 2.0 series
    161 Status:		Active
    162 Start Date:	28 Mar 2004 and changed for security/critical function on
    163        		23 Dec 2004
    164 End Date:
    165 Base Tag:	netbsd-2-0-base
    166 Maintainer:	2.0 Release Engineering <releng-2-0 (a] NetBSD.org>
    167 Scope:		Entire tree. (src + xsrc)
    168 Notes:		Branch was re-purposed to security/critical change function
    169 		once 2.0 released. See netbsd-2 for current branch to track
    170 		NetBSD 2 tree.
    171 		Commits restricted to Release Engineering.
    172 
    173 Branch:		netbsd-2-1
    174 Description:	Tracking security/critical fixes for NetBSD 2.1
    175 Status:		Active
    176 Start Date:     26 Oct 2005 
    177 End Date:
    178 Base Tag:	netbsd-2-1-RELEASE
    179 Maintainer:	2 Release Engineering <releng-2 (a] NetBSD.org>
    180 Scope:		Entire tree. (src + xsrc)
    181 Notes:		Branch contains only security/critical fixes to
    182 		NetBSD 2.1.  For new features, use netbsd-2 branch.
    183 		Commits restricted to Release Engineering.
    184 
    185 Branch:		netbsd-3
    186 Description:	The NetBSD 3 release branch
    187 Status:		Active
    188 Start Date:	16 Mar 2005
    189 End Date:
    190 Base Tag:	netbsd-3-base
    191 Maintainer:	3 Release Engineering <releng-3 (a] NetBSD.org>
    192 Scope:		Entire tree. (src + xsrc)
    193 Notes:
    194 		Commits restricted to Release Engineering.
    195 
    196 Branch:		netbsd-4
    197 Description:	The NetBSD 4 release branch
    198 Status:		Active
    199 Start Date:	8 Aug 2006
    200 End Date:
    201 Base Tag:	netbsd-4-base
    202 Maintainer:	4 Release Engineering <releng-4 (a] NetBSD.org>
    203 Scope:		Entire tree. (src + xsrc)
    204 Notes:
    205 		Commits restricted to Release Engineering.
    206 
    207 ########################################################################
    208 # Individual developers' branches (Active/Dormant):
    209 ########################################################################
    210 
    211 Branch:		ad-audiomp
    212 Description:	Add MP locking to the audio drivers
    213 Status:		Active
    214 Start Date:	28 February 2007
    215 End Date:
    216 Base Tag:	ad-audiomp-base
    217 Maintainer:	Andrew Doran <ad (a] NetBSD.org>
    218 Scope:		kernel
    219 Notes:		Making the audio drivers MP safe is necessary before efforts
    220 		can be made to make the VM system MP safe. About 1/2 of the
    221 		drivers are converted, the remaining 1/2 need more changes.
    222 
    223 		As of import this is snapshot of work in progress and so
    224 		may not compile; in particular the midi changes are very
    225 		much "in progress". The audio component has been tested
    226 		and verified to work with emuxki and auvia. There may
    227 		be a locking issue in the ac97 code at boot.
    228 
    229 		The are two locks per device instance, an ISR lock and
    230 		a character device lock. The ISR lock replaces calls to
    231 		splaudio()/splx(), and will be held across calls to device
    232 		methods which were called at splaudio() before (e.g.
    233 		trigger_output). The character device lock is held across
    234 		calls to nearly all of the methods, excluding some only
    235 		used for initialization, e.g. get_locks. This needs to be
    236 		documented at merge time.
    237 
    238 		To test on a multi way x86 system, search for "mpsafe" in
    239 		x86/x86/intr.c and change IPL_SCHED to IPL_AUDIO. Run a job
    240 		that will acquire the ISR lock (depends on the hardware, but
    241 		"while true; do mixerctl -a > /dev/null; done" may suffice).
    242 		Play audio, run lockstat and verify that that there is
    243 		contention on the ISR lock.
    244 
    245 Branch:		bjh21-hydra
    246 Description:	Simtec Hydra support and ARM SMP in general
    247 Status:		Dormant
    248 Start Date:	18 Oct 2002
    249 End Date:
    250 Base Tag:	bjh21-hydra-base
    251 Maintainer:	Ben Harris <bjh21 (a] NetBSD.org>
    252 Scope:		sys/arch/arm sys/arch/acorn32
    253 Notes:		This code was on a branch because it involves changes to
    254 		cpuswitch.S which would otherwise make merging the
    255 		nathanw_sa branch difficult.
    256 
    257 Branch:		chris-arm-intr-rework
    258 Description:	Rework arm interrupt handling code
    259 Status:		Active
    260 Start Date:	11 Aug 2007
    261 End Date:
    262 Base Tag:	chris-arm-intr-rework-base
    263 Maintainer:	Chris Gilbert <chris (a] NetBSD.org>
    264 Scope:		sys/arch/arm sys/arch/cats (other arm archs to follow)
    265 Notes:		Rework arm interrupt code to provide a shared set of interrupt
    266 		routines, and allow improvements to be shared across all arm
    267 		based hardware.
    268 
    269 Branch:		cube-autoconf
    270 Description:	Renovate autoconf(9) API
    271 Status:		Active
    272 Start Date:	11 Dec 2007
    273 End Date:
    274 Base Tag:	cube-autoconf-base
    275 Maintainer:	Quentin Garnier <cube (a] NetBSD.org>
    276 Scope:		kernel usr.bin/config (and some other userland bits)
    277 Notes:		Address a number of issues the current autoconf(9) API has.
    278 
    279 Branch:		gmcgarry_ctxsw
    280 Description:	Separate scheduler from context-switch code
    281 Status:		Dormant
    282 Start Date:	18 December 2002
    283 End Date:
    284 Base Tag:	gmcgarry_ctxsw_base
    285 Maintainer:	Gregory McGarry <gmcgarry (a] NetBSD.org>
    286 Scope:		kernel
    287 Notes:		Removing knowledge of the scheduler and its run queues
    288 		from the machine-dependent context switch code is the
    289 		first step in cleaning up the scheduler.  It is necessary
    290 		for the newlock branch, making the scheduler SMP friendly,
    291 		adding real-time scheduler extensions, and reducing the
    292 		number of code paths for LWP and proc switching.
    293 
    294 Branch:		gmcgarry_ucred
    295 Description:	Integrate and encapsulate user credentials
    296 Status:		Dormant
    297 Start Date:	18 December 2002
    298 End Date:
    299 Base Tag:	gmcgarry_ucred_base
    300 Maintainer:	Gregory McGarry <gmcgarry (a] NetBSD.org>
    301 Scope:		kernel
    302 Notes:		merge pcred and ucred and poolify
    303 
    304 Branch:         haad-dm
    305 Description:    Add support for LVM to NetBSD
    306 Status:         Active
    307 Start Date:     7 July 2008
    308 End Date:
    309 Base Tag:       haad-dm-base
    310 Maintainer:     Adam Hamsik <haad (a] NetBSD.org>
    311 Scope:          kernel
    312 Notes:          LVM support is based on Linux lvm2tools, 
    313                 libdevmapper library and NetBSD device-mapper
    314                 driver. 
    315 
    316 Branch:		hpcarm-cleanup
    317 Description:	Fix build problems for hpcarm
    318 Status:		Active
    319 Start Date:	31 July 2007
    320 End Date:
    321 Base Tag:	hpcarm-cleanup-base
    322 Maintainer:	Robert Swindells <rjs (a] NetBSD.org>
    323 Scope:		kernel
    324 Notes:		Modify SA11x0 interrupt code to match PXA2x0 equivalent.
    325 
    326 Branch:		itohy-usb1
    327 Description:	USB stack overhaul, mostly DMA related
    328 Status:		Active
    329 Start Date:	22 May 2007
    330 End Date:
    331 Base Tag:	itohy-usb1-base
    332 Maintainer:	ITOH Yasufumi <itohy (a] NetBSD.org>
    333 Scope:		kernel
    334 Notes:		To check out the kernel source tree,
    335 		1. check out checkout script
    336 			cvs checkout -ritohy-usb1 src/sys/dev/usb/filelist
    337 		2. update files in the branch
    338 			sh -e src/sys/dev/usb/filelist
    339 
    340 Branch:		kame
    341 Description:	KAME Project
    342 Status:		Dormant
    343 Start Date:	28 Jun 1999
    344 End Date:
    345 Base Tag:
    346 Maintainer:	Jun-ichiro itojun Hagino <itojun (a] NetBSD.org>
    347 Scope:		kernel
    348 Notes:		http://www.kame.net
    349 		Used for "reference" purposes for early part of KAME
    350 		integration effort.  The branch is not actively used, as I
    351 		(itojun) use patch(1) and diff(1) for the KAME syncs.
    352 
    353 Branch:		keiichi-mipv6
    354 Description:	Developing Mobile IPv6 function
    355 Status:		Active
    356 Start Date:	21 Feb 2008
    357 End Date:	
    358 Base Tag:	keiichi-mipv6-base
    359 Maintainer:	Keiichi Shima <keiichi (a] netbsd.org>
    360 Scope:		sys, sbin, libc/net, distrib/sets, share/man/
    361 Notes:		http://www.mobileip.jp/
    362 		Work on developing Mobile IPv6/NEMO BS functions and
    363 		related MIPv6 based advanced functions on NetBSD.
    364 		Please consult keiichi for joining this activity.
    365 
    366 Branch:		kent-audio2
    367 Description:	In-kernel audio mixer
    368 Status:		Active
    369 Start Date:	Sun Jan 16 2005
    370 End Date:	
    371 Base Tag:	kent-audio2-base
    372 Maintainer:	TAMURA Kent <kent (a] NetBSD.org>
    373 Scope:		kernel (audio device drivers)
    374 Notes:		http://mail-index.netbsd.org/tech-kern/2004/12/03/0007.html
    375 		Please consult with the maintainer before committing
    376 		to this branch.
    377 		This branch is not expected to be compilable yet.
    378 
    379 Branch:		matt-timespec
    380 Description:	Convert the kernel to struct timespec as its primary time
    381 		storage mechanism.
    382 Status:		Inactive
    383 Start Date:	2005-02-19
    384 End Date:
    385 Base Tag:	
    386 Maintainer:	Matt Thomas <matt (a] NetBSD.org>
    387 Scope:		kernel
    388 Notes:	
    389 
    390 Branch:		matt-mips64
    391 Description:	Rototill the mips code to support LP64 mips and N32/N64 ABIs
    392 Status:		Active
    393 Start Date:	2007-07-17
    394 End Date:
    395 Base Tag:	matt-mips64-base
    396 Maintainer:	Matt Thomas <matt (a] NetBSD.org>
    397 Scope:		kernel & userland
    398 Notes:	
    399 
    400 Branch:		matt-armv6
    401 Description:	Rototill the arm code to support features present in the
    402 		v6 of the ARM Architecture.  Additionally, clean up things
    403 		along the way to use common practices.
    404 Status:		Active
    405 Start Date:	2007-08-27
    406 End Date:
    407 Base Tag:	matt-armv6-base
    408 Maintainer:	Matt Thomas <matt (a] NetBSD.org>
    409 Scope:		kernel & userland
    410 Notes:	
    411 
    412 Branch:		mjf-devfs2
    413 Description:	device file system supporting dynamic device nodes
    414 Status:		Active
    415 Start Date:	21 February 2008
    416 End Date:
    417 Base Tag:	mjf-devfs2-base
    418 Maintainer:	Matt Fleming <mjf (a] NetBSD.org>
    419 Scope:		kernel and userland
    420 Notes:		This branch will move away from the static device nodes that
    421 		are created with MAKEDEV scripts and allow nodes to be created
    422 		and removed dynamically as devices are attached and detached
    423 		from the machine.
    424 
    425 Branch:		mjf-ufs-trans
    426 Description:	file system transactions for ufs
    427 Status:		Active
    428 Start Date:	12 March 2007
    429 End Date:
    430 Base Tag:	mjf-ufs-trans-base
    431 Maintainer:	Matt Fleming <mjf (a] NetBSD.org>
    432 Scope:		kernel
    433 Notes:
    434 
    435 Branch:		nick-net80211-sync
    436 Description:	sync of net80211 with FreeBSD
    437 Status:		Active
    438 Start Date:	21 February 2008
    439 End Date:
    440 Base Tag:	nick-net80211-base
    441 Maintainer:	Nick Hudson <skrll (a] NetBSD.org>
    442 Scope:		sys/
    443 Notes:		Sync'ing net80211 with FreeBSD and drivers update. The branch is
    444 		currently only the kernel, but will likely extend to some userland
    445 		areas.
    446 
    447 Branch:	  	pkgviews
    448 Description:  	package views, enabling multiple conflicting packages to co-exist
    449 Status:		Active
    450 Start Date:	22 July 2002
    451 End Date:
    452 Base Tag:	pkgviews
    453 Maintainer:	Alistair Crooks <agc (a] NetBSD.org>
    454 Scope:		pkgsrc, basesrc/usr.sbin/pkg_install
    455 Notes:		A more flexible infrastructure for third-party packages by
    456 		allowing multiple conflicting packages and versions to co-exist
    457 		within the same tree
    458 
    459 Branch:		rpaulo-netinet-merge-pcb
    460 Description:	merge in6pcb with inpcb
    461 Status:		Dormant
    462 Start Date:	Wed Feb 01 2006
    463 End Date:	
    464 Base Tag:	rpaulo-netinet-merge-pcb-base
    465 Maintainer:	Rui Paulo <rpaulo (a] NetBSD.org>
    466 Scope:		src/sys
    467 Notes:		No longer active due to the lack of time. If you plan to
    468 		continue this branch, sys/netinet/in_pcb.h already contains
    469 		the proposed structure layout (which was roughly discussed
    470 		in the tech-net mailing list).
    471 		I also defined INP_*() macros to mimicate FreeBSD's inpcb
    472 		locking style, but currently they do nothing and are not
    473 		yet called at the correct places (needs discussion about
    474 		kernel fine-grained locking).
    475 		To continue this branch, one needs to read all the relevant
    476 		inpcb/in6pcb source files and change the function names,
    477 		structure names, structure fields according to the new
    478 		layout (in6pcb is gone).
    479 		Don't try to build a kernel from this branch because it won't
    480 		work. The missing pieces required to do a complete build
    481 		were not committed because they were incomplete and generated
    482 		panics.
    483 		You shouldn't need to worry about KAME syncs because
    484 		they did most of them by now.
    485 		After the work is done, you are required to test the branch
    486 		(before the merge to -current) with an interop IPv6 test.
    487 		More info at: http://www.tahi.org/
    488 
    489 Branch:		rtr-xorg-branch
    490 Description:	xorg & static build alterations to src/x11
    491 Status:		Active
    492 Start Date:	Nov 15 2004
    493 End Date:	
    494 Base tag:	rtr-xorg-branch-base
    495 Maintainer:	Tyler R. Retzlaff <rtr (a] NetBSD.org>
    496 Scope:		x11
    497 		distrib/sets/lists
    498 		share/mk/bsd.x11.mk
    499 		share/mk/bsd.own.mk
    500 		etc/mtree/NetBSD.dist
    501 Notes:		Requires parts of xsrc/xfree (HEAD)
    502 		xsrc/local, xsrc/xfree/xc/programs/Xserver/hw/netbsd
    503 		Requires xorg (XORG-6_8_1)
    504 
    505 Branch:  	wrstuden-fixsa
    506 Description:	Fix a number of issues present with Scheduler Activations.
    507 Status: 	Active
    508 Start Date:	15 May 2007
    509 End Date:
    510 Base Tag:	wrstuden-fixsa-base
    511 Maintainer:	Bill Stouder-Studenmund <wrstuden (a] NetBSD.org>
    512 Scope:		src, though all the interesting stuff is in the kernel
    513 		or lib/libpthread or maybe gdb.
    514 Notes:		This branch is based off of the netbsd-4 branch!
    515 		This branch is intended to stage improvements for the
    516 		Scheduler Activations system for NetBSD 4. Improvements
    517 		include not allocating memory while preparing to tsleep(),
    518 		reducing inappropriate upcall delivery (hopefully also
    519 		eliminating the need to mlock stacks), and being
    520 		able to pthread_kill() running threads. At this date,
    521 		most goals have been achieved. This branch also includes
    522 		fixes to gdb to support working with threaded apps.
    523 
    524 Branch:  	wrstuden-revivesa
    525 Description:	Fix a number of issues present with Scheduler Activations.
    526 Status: 	Active
    527 Start Date:	10 May 2008
    528 End Date:
    529 Base Tag:	wrstuden-revivesa-base
    530 Maintainer:	Bill Stouder-Studenmund <wrstuden (a] NetBSD.org>
    531 Scope:		src, though all the interesting stuff is in the kernel
    532 Notes:		This branch is intended to revive Scheduler Activations
    533 		in -current in the 5.0 era. This branch's main goal is
    534 		to re-add syscall compatability so that SA-based libpthread
    535 		programs can run with a -current kernel. 1:1 threading will
    536 		remain the NetBSD-default. This branch will re-add necessary
    537 		upcall support, and will also serve as a chance to clean
    538 		out cruft that had accumulated in the implementation over
    539 		time.
    540 
    541 Branch:		yamt-kmem
    542 Description:	
    543 		- separate kernel va allocation from kernel fault handling.
    544 		- make kmem_alloc interrupt-safe.
    545 Status:		Active
    546 Start Date:	Sun Dec  9 2007
    547 End Date:	
    548 Base Tag:	yamt-kmem-base3
    549 Maintainer:	YAMAMOTO Takashi <yamt (a] NetBSD.org>
    550 Scope:		src/sys  (src/common is tagged but not branched)
    551 Notes:		
    552 		todo:
    553 		- investigate if PMAP_PREFER equivalent can be done
    554 		  with vmem_xalloc.  find a tester with hardware for it.
    555 		- g/c replaced code, including kmapent and malloc.
    556 		- consider to remove other submaps.  eg. mb_map
    557 
    558 Branch:		yamt-nfs-mp
    559 Description:	make nfs client mp-safe
    560 Status:		Active
    561 Start Date:	Sun Apr 27 2008
    562 End Date:	
    563 Base Tag:	yamt-nfs-mp-base2
    564 Maintainer:	YAMAMOTO Takashi <yamt (a] NetBSD.org>
    565 Scope:		src/sys  (src/common is tagged but not branched)
    566 Notes:		
    567 
    568 Branch:		reinoud-bufcleanup
    569 Description:	implement and evaluate struct buf usage cleanup strategies.
    570 		Ideas currently in mind (preference for b):
    571 		a)
    572 			1. use of bio_ops per buffer.
    573 			2. allow chaining/overloading of functions in bio_ops
    574 			   and provide some private context.
    575 			3. extend the bio_ops with commonly used functionality
    576 			   like pending action counting, custom context passing,
    577 			   last minute processing of buffer data, buffer cache
    578 			   etc.
    579 			4. investigate the use of the kcont()
    580 			   continuation-passing framework for async io
    581 			   completion notification for bufs
    582 			...
    583 		b)
    584 			1. all sequencing use of B_CALL replaced by
    585 			   device-threads, if possible generic code around BUFQ
    586 			2. possibly use kcont() for async IO finished signaling
    587 			3. counter of pending and queued actions requestable
    588 			   by IOCTL interface?
    589 			4. implement `last minute buffer fixup' calls and maybe
    590 			   even finished I/O calls as vnode operations
    591 			...
    592 Status:		Active
    593 Start Date:	Thu Mar 15 2007
    594 End Date:
    595 Base Tag:	reinoud-bufcleanup-base
    596 Maintainer:	Reinoud Zandijk <reinoud (a] NetBSD.org>
    597 Scope:		src/sys and src/common
    598 Notes:		Used as experiment sandbox and if successful hopefully one day
    599 		to be integrated.
    600 
    601 Branch:		simonb-wapbl
    602 Description:	Wasabi's journaling filesystem support
    603 Status:		Active
    604 Start Date:	Tue Jun 10 2008
    605 End Date:
    606 Base Tag:	simonb-wapbl-base
    607 Maintainer:	Simon Burge <simonb (a] NetBSD.org>
    608 Scope:		src/distrib/sets/lists/comp src/distrib/utils/sysinst
    609 		src/include
    610 		src/sbin/fsck_ffs src/sbin/fsdb src/sbin/mount_ffs
    611 		src/sbin/tunefs src/usr.sbin/dumpfs src/sys
    612 Notes:		Still has a number of issues:
    613 		 - Some heavy workload performance issues on SMP machines.
    614 		   Work around this issue by turning on WAPBL_DEBUG_SERIALIZE
    615 		   in rev 1.1.2.11 of vfs_wapbl.c.
    616 		 - Removing large files (sparse only?) takes a long time.
    617 		   Eg, a file created with
    618 		      dd if=/dev/zero of=foox bs=1 count=1 seek=11261748520550
    619 		   takes 0:00.00 to remove on my test box without logging and
    620 		   0:22.25 to remove with logging.  No disk IO during this...
    621 		 - sysinst should use in-fs logs now, not end-of-partition logs.
    622 
    623 Branch:		thorpej-atomic
    624 Description:	Implementation of an atomic memory operations API modeled
    625 		after the one in Solaris 10.
    626 Status:		Active
    627 Start Date:	Apr 11 2007
    628 End Date:
    629 Base tag:	thorpej-atomic-base
    630 Maintainer:	Jason Thorpe <thorpej (a] netbsd.org>
    631 Scope:		src/common
    632 		src/sys
    633 Notes:		Base atomic primitives need to be implemented for
    634 		all of the supported architectures:
    635 
    636 		alpha		DONE
    637 		arm		DONE
    638 		hppa
    639 		i386		DONE
    640 		ia64
    641 		m68k		DONE (except for 68010)
    642 		mips
    643 		ns32k
    644 		powerpc		DONE except for membar_*()
    645 		powerpc64	DONE except for membar_*()
    646 		sh3
    647 		sparc		DONE except for membar_*()
    648 		sparc64		DONE except for membar_*()
    649 		vax
    650 		x86_64		DONE
    651 
    652 		Tested:
    653 
    654 		alpha		NO
    655 		arm		NO
    656 		hppa		NO
    657 		i386		NO
    658 		ia64		NO
    659 		m68k		NO
    660 		mips		NO
    661 		ns32k		NO
    662 		powerpc		NO
    663 		powerpc64	NO
    664 		sh3		NO
    665 		sparc		NO
    666 		sparc64		NO
    667 		vax		NO
    668 		x86_64		NO
    669 
    670 		TODO:
    671 
    672 		all		- Need to replace mb_*() with membar_*().
    673 
    674 				- Audit MUTEX_CAS() and RWLOCK_CAS() uses
    675 				  to see of membar_enter() is required here.
    676 
    677 				- Talk to ad@ -- figure out of non-atomic
    678 				  mutex / rwlock release is actually safe.
    679 
    680 		arm		- Consider using a RAS technique like
    681 				  MIPS uses for _lock_cas() and the mutex
    682 				  stubs.  Possibly do more than one atomic
    683 				  op as a RAS.  Possibly implement mutex
    684 				  stubs using the technique.
    685 
    686 		m68k		- Need to do 68010 support.
    687 		
    688 		i386		- Need to change when x86_patch() is called
    689 				  so we can test ncpus.
    690 
    691 		powerpc		- Figure out if we need barriers in the
    692 				  atomic ops themselves (hopefully not!)
    693 
    694 		x86_64		- Need to change when x86_patch() is called
    695 				  so we can test ncpus.
    696 
    697 ########################################################################
    698 # Individual developers' branches (Terminated):
    699 ########################################################################
    700 
    701 Branch:		bouyer-scsipi
    702 Description:	Integration of atapi support
    703 Status:		Terminated
    704 Start Date:
    705 End Date:
    706 Base Tag:
    707 Maintainer:	Manuel Bouyer <bouyer (a] NetBSD.org>
    708 Scope:		kernel
    709 Notes:		Superseded by thorpej_scsipi
    710 
    711 Branch:		bouyer-xen2
    712 Description:	update xen port to xen 2.0, with support for domain0 operations
    713 Status:		Terminated
    714 Start Date:	Dec 13 2004
    715 End Date:	Mar 10 2005
    716 Base Tag:	netbsd-2-base
    717 Maintainer:	Manuel Bouyer <bouyer (a] NetBSD.org>
    718 Scope:		src/sys/arch/xen
    719 Notes:
    720 
    721 Branch:		bouyer-xenamd64
    722 Description:	add amd64 support to Xen and rework some parts to share more code between Xen and others
    723 Status:		Terminated
    724 Start Date:	18 Oct 2007
    725 End Date:	22 Nov 2007
    726 Base Tag:	bouyer-xenamd64-base
    727 Maintainer:	Manuel Bouyer <bouyer (a] NetBSD.org>
    728 Scope:		kernel
    729 Notes:		
    730 
    731 Branch:		bouyer-xeni386
    732 Description:	switch xen on i386 to the x86 pmap and the xen/x86/x86_xpmap.c bootstrap, and add i386 PAE support
    733 Status:		Terminated
    734 Start Date:	10 Dec 2007
    735 End Date:	23 Jan 2008
    736 Base Tag:	bouyer-xeni386-base
    737 Maintainer:	Manuel Bouyer <bouyer (a] NetBSD.org>
    738 Scope:		kernel
    739 Notes:		
    740 
    741 Branch: 	chap-midi
    742 Description:	Renovation of MIDI support
    743 Status: 	Terminated; merged to -current
    744 Start Date:	19 May 2006
    745 End Date:	30 Jun 2006
    746 Base Tag:	chap-midi-base
    747 Maintainer:	Chapman Flack <chap (a] NetBSD.org>
    748 Scope:		sys, share/man, usr.bin
    749 Notes:
    750 
    751 Branch:		chs-ubc
    752 Description:	Unified Buffer Cache
    753 Status:		Terminated
    754 Start Date:
    755 End Date:
    756 Base Tag:	chs-ubc-base
    757 Maintainer:	Chuck Silvers <chs (a] NetBSD.org>
    758 Scope:		kernel
    759 Notes:
    760 
    761 Branch:		chs-ubc2
    762 Description:	 Unified Buffer Cache
    763 Status:		Terminated; merged to -current
    764 Start Date:
    765 End Date:
    766 Base Tag:	chs-ubc2-base, chs-ubc2-newbase
    767 Maintainer:	Chuck Silvers <chs (a] NetBSD.org>
    768 Scope:		kernel
    769 Notes:
    770 
    771 Branch:		cjs-build-against-obj-dir
    772 Description:	?
    773 Status:		?
    774 Start Date:
    775 End Date:
    776 Base Tag:
    777 Maintainer:	Curt Sampson <cjs (a] NetBSD.org>
    778 Scope:		Entire tree.
    779 Notes:
    780 
    781 Branch:		eeh-paddr_t
    782 Description:	use separate types for virtual vs. physical addresses
    783 Status:		Terminated; merged to -current
    784 Start Date:
    785 End Date:
    786 Base Tag:	eeh-paddr_t-base
    787 Maintainer:	Eduardo Horvath <eeh (a] NetBSD.org>
    788 Scope:		kernel
    789 Notes:		This is needed to support 32-bit kernels on sparc64.
    790 
    791 Branch:		elad-kernelauth
    792 Description:	Native NetBSD implementation of Apple's kernel authorization
    793 		based on TN2127. This is a "clean-room" implementation to
    794 		avoid any licensing issues.
    795 Status:		Terminated; merged to -current
    796 Start Date:	Tue Mar	 7 2006
    797 End Date:	Mon May 15 2006
    798 Base Tag:	elad-kernelauth-base
    799 Maintainer:	Elad Efrat <elad (a] NetBSD.org>
    800 Scope:		src/sys, src/share/man/man9/Makefile,
    801 		src/share/man/man9/kauth.h, src/distrib/sets/lists/comp/mi
    802 Notes:
    803 
    804 Branch:		fvdl-softdep
    805 Description:	FFS soft dependencies
    806 Status:		Terminated; merged to -current
    807 Start Date:
    808 End Date:
    809 Base Tag:	fvdl-softdep-base
    810 Maintainer:	Frank van der Linden <fvdl (a] NetBSD.org>
    811 Scope:		kernel
    812 Notes:
    813 
    814 Branch:		gehenna-devsw
    815 Description:	auto-generation of devsw table
    816 Status:		Terminated
    817 Start Date:	16 May 2002
    818 End Date:	6 Sep 2002
    819 Base Tag:	gehenna-devsw-base
    820 Maintainer:	MAEKAWA Masahide <gehenna (a] NetBSD.org>
    821 Scope:		syssrc
    822 Notes:		The goal is to get rid of the existing device switch tables in
    823 		port-dependent conf.c and to generate them dynamically by
    824 		config(8).
    825 
    826 Branch:		is-newarp
    827 Description:	ARP for non-Ethernet
    828 Status:		Terminated; merged before NetBSD 1.3
    829 Start Date:	1996/10/13
    830 End Date:	1997/03/15
    831 Base Tag:	is-newarp-base
    832 Maintainer:	Ignatios Souvatzis <is (a] NetBSD.org>
    833 Scope:		kernel
    834 Notes:
    835 
    836 Branch:		jmcneill-pm
    837 Description:	Power management framework overhaul, ACPI improvements
    838 Status:		Terminated; merged before NetBSD 5.0
    839 Start Date:	3 Aug 2007
    840 End Date:	9 Dec 2007
    841 Base Tag:	jmcneill-pm-base
    842 Maintainer:	Jared D. McNeill <jmcneill (a] NetBSD.org>
    843 Scope:		kernel
    844 Notes:		
    845 
    846 Branch:		kenh-if-detach
    847 Description:	Interface detach support.
    848 Status:		?
    849 Start Date:
    850 End Date:
    851 Base Tag:	kenh-if-detach-base
    852 Maintainer:	Ken Hornstein <kenh (a] NetBSD.org>
    853 Scope:		kernel
    854 Notes:
    855 
    856 Branch:		kent-audio1
    857 Description:	Audio converter pipeline
    858 Status:		Terminated; merged to -current
    859 Start Date:	Tue Dec  7 2004
    860 End Date:	Tue Jan 11 2005
    861 Base Tag:	kent-audio1-base
    862 Maintainer:	TAMURA Kent <kent (a] NetBSD.org>
    863 Scope:		kernel (audio device drivers)
    864 Notes:		http://mail-index.netbsd.org/tech-kern/2004/12/03/0007.html
    865 		Please consult with the maintainer before committing
    866 		to this branch.
    867 
    868 Branch:		kqueue
    869 Description:	kqueue kernel event notification mechanism (from FreeBSD)
    870 Status:		Terminated; merged to -current
    871 Start Date:	Tue Jul 10 23:08:38 EST 2001
    872 End Date:	Tue Oct 24 09:14:14 GMT 2002
    873 Base Tag:	kqueue-base
    874 Maintainer:	Jaromir Dolecek <jdolecek (a] NetBSD.org>
    875 Scope:		kernel, libc/sys, share/man/man9, usr.bin/fstat
    876 Notes:		Integration of FreeBSD's kqueue(2) mechanism, with various
    877 		local internal changes to better suit NetBSD, and
    878 		enhancements such as looking up filters by name or
    879 		number, and dynamic registration of "user" filters.
    880 		The work is complete as is, but is awaiting more
    881 		feedback from various kernel gurus before going mainline.
    882 
    883 Branch:		ktrace-lwp
    884 Description:	ktrace support for lwp ids.
    885 Status:		Terminated; merged to -current
    886 Start Date:	Wed Jul  2 15:27:30 UTC 2003
    887 End Date:	Sun Dec 11 12:25:29 UTC 2005
    888 Base Tag:	ktrace-lwp-base
    889 Maintainer:	Darren Reed <darrenr (a] NetBSD.org>
    890 Scope:		sys
    891 Notes:		
    892 
    893 Branch:		marc-pcmcia
    894 Description:	PCMCIA support
    895 Status:		Terminated; merged to -current
    896 Start Date:
    897 End Date:
    898 Base Tag:	marc-pcmcia-base, marc-pcmcia-bp
    899 Maintainer:	Marc Horowitz <marc (a] NetBSD.org>
    900 Scope:		kernel
    901 Notes:
    902 
    903 Branch:		minoura_x68k_bus_h
    904 Description:	bus_space(9) and bus_dma(9) implementation for x68k
    905 Status:		Terminated; merged to -current
    906 Start Date:	23 Dec 1998
    907 End Date:	16 Mar 1999
    908 Base Tag:	minoura_x68k_bus_h-base
    909 Maintainer:	Minoura Makoto <minoura (a] NetBSD.org>
    910 Scope:		sys/arch/x68k
    911 Notes:
    912 
    913 Branch:		minoura-xpg4dl
    914 Description:	Citrus Project locale subsystem
    915 Status:		Terminated; (partly) merged to -current
    916 Start Date:	28 March 2000
    917 End Date:
    918 Base Tag:	minoura-xpg4dl-base
    919 Maintainer:	Minoura Makoto <minoura (a] NetBSD.org>
    920 Scope:		basesrc, syssrc, sharesrc
    921 Notes:		Citrus Project is developing dynamically-loadable, codeset-
    922 		independent locale subsystem.  Part of the implementation
    923 		(LC_CTYPE) called XPG4DL is now integrated to -current.
    924 
    925 Branch:		mjf-devfs
    926 Description:	device file system supporting dynamic device nodes
    927 Status:		Terminated
    928 Start Date:	12 November 2007
    929 End Date:	21 February 2008
    930 Base Tag:	mjf-devfs-base
    931 Maintainer:	Matt Fleming <mjf (a] NetBSD.org>
    932 Scope:		kernel and userland
    933 Notes:		This branch will move away from the static device nodes that
    934 		are created with MAKEDEV scripts and allow nodes to be created
    935 		and removed dynamically as devices are attached and detached
    936 		from the machine.
    937 
    938 Branch:		mrg-vm-swap
    939 Description:	dynamic swap allocation, swap-to-files support
    940 Status:		Terminated; abandoned for mrg-vm-swap2
    941 Start Date:	12 February 1997
    942 End Date:	15 March 1997
    943 Base Tag:	[none]
    944 Maintainer:	Matthew R. Green <mrg (a] NetBSD.org>
    945 Scope:		kernel
    946 Notes:
    947 
    948 Branch:		mrg-vm-swap2
    949 Description:	dynamic swap allocation, swap-to-files support
    950 Status:		Terminated; merged to -current
    951 Start Date:	4 May 1997
    952 End Date:	12 June 1997
    953 Base Tag:	mrg-vm-swap2-base
    954 Maintainer:	Matthew R. Green <mrg (a] NetBSD.org>
    955 Scope:		kernel
    956 Notes:
    957 
    958 Branch:		nathanw_sa
    959 Description:	Scheduler activations
    960 Status:		Terminated; merged to -current
    961 Start Date:	5 March 2001
    962 End Date:	18 January 2003
    963 Base Tag:	nathanw_sa_base
    964 Maintainer:	Nathan Williams <nathanw (a] NetBSD.org>
    965 Scope:		kernel, libc, libkvm, libpthread, libpthread_dbg, include, 
    966 		bin/ps usr.bin/systat usr.bin/top usr.bin/w
    967 		gnu/dist/toolchain/gdb gnu/usr.bin/gdb
    968 Notes:		The idea of scheduler activations is described in the
    969 		classic paper by Anderson et al., in ACM Transactions
    970 		a on Computer Systems volume 10 issue 1 (1992),which
    971 		can be found at
    972 		http://www.acm.org/pubs/citations/journals/tocs/1992-10-1/p53-anderson/
    973 		Many ideas in the implementation are based on the
    974 		implementation of scheduler activations added to Mach
    975 		3.0 and described by Davis et al. in the University of
    976 		Washington CS tech report 92-08-93, which can be found
    977 		at
    978 		ftp://ftp.cs.washington.edu/tr/1992/08/UW-CSE-92-08-03.PS.Z
    979 
    980 		My USENIX paper on the subject can be found at
    981 		http://web.mit.edu/nathanw/www/usenix/
    982 
    983 		Please consult with the maintainer before committing
    984 		to this branch.
    985 		Other tags starting with nathanw_sa reserved for
    986 		branch management and are not guaranteed to be stable.
    987 
    988 		Trunk tagged with "nathanw_sa_before_merge" prior to
    989 		merging branch down to trunk.  Branch tagged with
    990 		"nathanw_sa_end" to indicate the ending revision of
    991 		the branch.
    992 
    993 Branch:		newlock
    994 Description:	New locking primitives, based on Solaris's
    995 Status:		Terminated
    996 Start Date:	March 9, 2002
    997 End Date:	February 12, 2007
    998 Base Tag:	newlock-base
    999 Maintainer:	Jason R. Thorpe <thorpej (a] NetBSD.org>
   1000 Scope:		Kernel
   1001 Notes:		The goal is to replace the existing lockmgr() and
   1002 		simple_lock() based locking mechanisms with the
   1003 		primitives found in Solaris: mutexes and rwlocks.
   1004 		Superseded by the newlock2 branch.
   1005 
   1006 Branch:		newlock2
   1007 Description:	New locking primitives, based on Solaris's
   1008 Status:		Terminated
   1009 Start Date:	September 9, 2006
   1010 End Date:	February 12, 2007
   1011 Base Tag:	newlock2-base
   1012 Maintainer:	Andrew Doran <ad (a] NetBSD.org>
   1013 Scope:		Kernel
   1014 Notes:		As per the newlock branch, however given the amount of time
   1015 		the original branch has lain dormant, a new one has been
   1016 		created.  Goals:
   1017 		- Implement new locking primitives on most-used ports.
   1018 		- Minor locking improvements.
   1019 		- Remove spinlockmgr().
   1020 
   1021 Branch:		nick-csl-alignment
   1022 Description:	Provide correctly aligned __cpu_simple_lock_t for hppa
   1023 Status:		Terminated
   1024 Start Date:	2007-07-18
   1025 End Date:
   1026 Base Tag:	nick-csl-alignment-base5
   1027 Maintainer:	Nick Hudson <skrll (a] NetBSD.org>
   1028 Scope:		sys, lib/libpthread, lib/libpthread_dbg
   1029 Notes:	
   1030 
   1031 Branch:		perseant-lfsv2
   1032 Description:	LFS incompatible on-disk data structure changes
   1033 Status:		Terminated
   1034 Start Date:	27 June 2001
   1035 End Date:	16 July 2001
   1036 Base Tag:	perseant-lfsv2-base
   1037 Maintainer:	Konrad Schroder <perseant (a] NetBSD.org>
   1038 Scope:		basesrc/{sbin/*lfs,libexec/lfs_cleanerd,usr.sbin/dumplfs}, syssrc/sys/ufs
   1039 Notes:		This branch should be short-lived, I expect to merge as soon
   1040 		as the data structures required for unremove are in and tested.
   1041 
   1042 Branch:		ppcoea-renovation
   1043 Description:	General renovation and cleanup of all OEA PowerPC ports.
   1044 Status:		Terminated; merged to -current
   1045 Start Date:	30 April 2007
   1046 End Date:	15 October 2007
   1047 Base Tag:	ppcoea-renovation-base
   1048 Maintainer:	Tim Rightnour <garbled (a] netbsd.org>
   1049 Scope:		src/sys/arch
   1050 Notes:		This branch is for a general cleanup of all OEA-based PowerPC
   1051 		ports. OEA (Operating Environment Architecture) PowerPC refers
   1052 		to the 601, 603, 604, and similar chips.  Specifically, not the
   1053 		403/401 and other embedded chips. The general concept is to get
   1054 		them all compiling, and sharing as much code as possible.  All
   1055 		developers are welcome to commit to this branch.
   1056 
   1057 Branch:		thorpej-devvp
   1058 Description:	replace dev_t with struct vnode * in devsw entry points
   1059 Status:		Terminated
   1060 Start Date:	Sep 6 2001
   1061 End Date:	???
   1062 Base Tag:	thorpej-devvp-base
   1063 Maintainer:	Jason Thorpe <thorpej (a] NetBSD.org>
   1064 Scope:		syssrc
   1065 Notes:		Kernels built from this branch are not expected
   1066 		to function correctly at this time.
   1067 
   1068 		Ports known to compile on this branch:
   1069 			alpha
   1070 			i386
   1071 
   1072 Branch:		peter-altq
   1073 Description:	New ALTQ framework:
   1074 		- sync with KAME sources
   1075 		- share mtag/name mapping functions
   1076 		- separate altq + pf attachment
   1077 Status:		Terminated; merged to -current
   1078 Start Date:	March 16, 2006
   1079 End Date:	October 12, 2006
   1080 Base Tag:	peter-altq-base
   1081 Maintainer:	Peter Postma <peter (a] NetBSD.org>,
   1082 		Martin Husemann <martin (a] NetBSD.org>,
   1083 		Matthias Scheler <tron (a] NetBSD.org>
   1084 Scope:		dist/pf dist/ipf distrib/sets/lists sys usr.sbin/altq
   1085 Notes:		Only the first item in the description was finished
   1086 		in this branch.
   1087 
   1088 Branch:		sommerfeld_i386mp_1
   1089 Description:	Multiprocessor support for i386 using Intel MP BIOS.
   1090 Status:		Terminated; merged to -current
   1091 Start Date:	21 Feb 2000
   1092 End Date:	01 Oct 2002
   1093 Base Tag:	sommerfeld_i386mpbase_1
   1094 Maintainer:	Bill Sommerfeld <sommerfeld (a] NetBSD.org>
   1095 Scope:		sys/arch/i386
   1096 Notes:
   1097 		Code committed to the branch has booted to multiuser 
   1098 		on at least one system.
   1099 
   1100 		Not guaranteed to compile against mainline since -current
   1101 		may have changed incompatibly with the last branch update;
   1102 		use "cvs update -D" to roll-back the rest of the tree to match.
   1103 
   1104 		Please get explicit permission from the maintainer 
   1105 		before each commit, or your changes will be backed out.
   1106 		Other tags starting with sommerfeld_ are private to 
   1107 		the developer and are guaranteed to be unstable.
   1108 		Only the maintainer should move tags.
   1109 
   1110 		Note that this branch uses a DIFFERENT scheme for 
   1111 		syncing with the mainline.  the maintainer uses some private
   1112 		scripts for keeping them in sync; if you make commits 
   1113 		to the branch to "resynchronize" things, you'll
   1114 		probably do it wrong; instead, ask the maintainer to
   1115 		resynchronize things.
   1116 
   1117 		See sys/arch/i386/TODO on the branch for a list of known
   1118 		issues with the branch.
   1119 
   1120 Branch:		thorpej-mips-cache
   1121 Description:	overhaul MIPS cache support code
   1122 Status:		Terminated; merged to -current
   1123 Start Date:	Oct 23 2001
   1124 End Date:	Nov 14 2001
   1125 Base Tag:	thorpej-mips-cache-base
   1126 Scope:		syssrc
   1127 Notes:		This branch needs more debugging, testing, and more
   1128 		ports need to be converted to the new world order.
   1129 
   1130 		The following processors have had cache ops
   1131 		written:
   1132 
   1133 			* R2000/R3000 (cache_r3k) -- light testing,
   1134 			  needs to be beat on a lot more to make
   1135 			  sure it's working.
   1136 
   1137 			* R4000/R4400 (cache_r4k) -- mhitch (a] NetBSD.org
   1138 			  tracked down a bug, which has been fixed.
   1139 
   1140 			  Confirmed working on R4000-with-L2.
   1141 
   1142 			  Confirmed working on R4400-no-L2 and
   1143 			  R4400-with-L2.
   1144 
   1145 			* R4600/R5000 (cache_r5k) -- shin (a] NetBSD.org
   1146 			  has committed fixes to this code.
   1147 
   1148 			  Confirmed working on R4600 v2 (SGI IP-22 with
   1149 			  no SysAD L2 cache).
   1150 
   1151 			  Confirmed working on RM5260 (Algorithmics P-5064).
   1152 
   1153 			* TX39 (cache_tx39) -- uch (a] NetBSD.org has
   1154 			  committed fixes to this code.  Awaiting
   1155 			  confirmation that it is working properly.
   1156 
   1157 			* R5900 (cache_r5900) -- uch (a] NetBSD.org has
   1158 			  written this code and tested it on a
   1159 			  PlayStation 2.
   1160 
   1161 		The following ports have been updated to compile (and
   1162 		use optimized-for-processor bus_dma routines).  Those
   1163 		that have been tested and work are marked with [WORKING].
   1164 
   1165 			* algor		[WORKING]
   1166 
   1167 			* arc		[WORKING]
   1168 
   1169 			* pmax		[WORKING]
   1170 
   1171 			* playstation2	[WORKING]
   1172 					Needs optimized bus_dmamap_sync().
   1173 
   1174 			* hpcmips	[need verification that this is working]
   1175 					Needs optimized bus_dmamap_sync().
   1176 
   1177 			* sgimips	[WORKING]
   1178 					Needs optimized bus_dmamap_sync().
   1179 
   1180 			* cobalt	[need testing]
   1181 
   1182 			* mipsco	[need testing]
   1183 
   1184 			* newsmips	[need testing]
   1185 
   1186 Branch:		thorpej_scsipi
   1187 Description:	SCSI/ATAPI midlayer rewrite.
   1188 Status:		Terminated; merged to -current
   1189 Start Date:
   1190 End Date:	Apr 25 2001
   1191 Base Tag:	thorpej_scsipi_base, thorpej_scsipi_nbase
   1192 Maintainer:	Manuel Bouyer <bouyer (a] NetBSD.org>,
   1193 		Jason Thorpe <thorpej (a] NetBSD.org>
   1194 Scope:		syssrc
   1195 Notes:		When a change from -current is pulled up please move the
   1196 		thorpej_scsipi_base tag to the revision you're syncing with.
   1197 		thorpej_scsipi_nbase is private to maintainer (only
   1198 		used when syncing the whole branch with HEAD).
   1199 		Just before the merge, syssrc has been tagged with
   1200 		thorpej_scsipi_beforemerge
   1201 
   1202 Branch:		thorpej-signal
   1203 Description:	?
   1204 Status:		?
   1205 Start Date:
   1206 End Date:
   1207 Base Tag:	thorpej-signal-base
   1208 Maintainer:	Jason Thorpe <thorpej (a] NetBSD.org>
   1209 Scope:		kernel
   1210 Notes:
   1211 
   1212 Branch:		thorpej-setroot
   1213 Description:	?
   1214 Status:		Terminated; merged to -current
   1215 Start Date:
   1216 End Date:
   1217 Base Tag:
   1218 Maintainer:	Jason Thorpe <thorpej (a] NetBSD.org>
   1219 Scope:		kernel
   1220 Notes:
   1221 
   1222 Branch:		simonb-timecounters
   1223 Description:	Port FreeBSD timecounters to NetBSD
   1224 Status:		Terminated
   1225 Start Date:	Sat Feb 04 2006
   1226 End Date:	Wed Jun 07 2006
   1227 Base Tag:	simonb-timecounters-base
   1228 Maintainer:	Simon Burge <simonb (a] NetBSD.org>,
   1229 		Frank Kardel <kardel (a] NetBSD.org>
   1230 Scope:		sys, sbin/savecore, usr.bin/vmstat, usr.sbin/ntp
   1231 Notes:		early (partial conversion) commit to -current
   1232 		ok'ed by core@ on 20060605 for testing and further
   1233 		simplified conversion
   1234 
   1235 Branch:		vmlocking
   1236 Description:	Make VM and file system framework MP safe
   1237 Status:		Terminated
   1238 Start Date:	13 March 2007
   1239 End Date:	4 December 2007
   1240 Base Tag:	vmlocking-base
   1241 Maintainer:	Andrew Doran <ad (a] NetBSD.org>
   1242 Scope:		kernel
   1243 Notes:		Superseded by vmlocking2 branch.
   1244 
   1245 Branch:		vmlocking2
   1246 Description:	Make VM and file system framework MP safe
   1247 Status:		Terminated
   1248 Start Date:	4 December 2007
   1249 End Date:	2 January 2008
   1250 Base Tag:	vmlocking2-base3
   1251 Maintainer:	Andrew Doran <ad (a] NetBSD.org>
   1252 Scope:		kernel
   1253 Notes:		Goals:
   1254 
   1255 		- Make VM system / trap handling MP safe.
   1256 		- Replace simplelocks with mutexes.
   1257 		- Make file system framework MP safe.
   1258 
   1259 		Status by architecture:
   1260 
   1261 		  alpha		done
   1262 		  i386		done
   1263 		  amd64		done
   1264 		  mips		done
   1265 		  sparc		need pmap/trap locking changes	
   1266 		  sparc64	done
   1267 		  arm		done
   1268 		  powerpc	done
   1269 		  hppa		done
   1270 		  sh3		done
   1271 		  m68k		done
   1272 		  xen		need pmap/trap locking changes
   1273 
   1274 		Remaining MI work to do:
   1275 
   1276 		- Check aliased vnode handling. There may be problems.
   1277 
   1278 		Remaining problems:
   1279 
   1280 		- LFS stalls due to v_numoutput leak.
   1281 
   1282 Branch:		wrstuden-devbsize
   1283 Description:	Modify buffer cache to deal with different devices having
   1284 		different block sizes. Also DEV_BSIZE would go away.
   1285 Status:		Terminated
   1286 Start Date:	Aug or Sept 1999
   1287 End Date:	1 Apr 2000
   1288 Base tag:	wrstuden-devbsize-base
   1289 Maintainer:	Bill Studenmund <wrstuden (a] NetBSD.org>
   1290 Scope:		kernel
   1291 Notes:		No longer active due to lack of time, and introduction
   1292 		of UBC. In terms of UBC, the primary cache for
   1293 		file data is the VM cache, which needs to operate
   1294 		in terms of VM pages. As no existing device has native
   1295 		pages the same size as our VM pages, there already is
   1296 		a mapping going on between the VM system and the
   1297 		underlying blocks. So it would be easier and cleaner
   1298 		to adjust that to deal w/ different block sizes.
   1299 		Also with UBC, all i/o is in terms of bytes at an offset
   1300 		with a certain length, so the exact block size isn't a big
   1301 		deal.
   1302 
   1303 		Any other wrstuden-devbsize tag may (and should) go away.
   1304 
   1305 Branch:		yamt-idlelwp
   1306 Description:	idle lwp, and some changes depending on it.
   1307 
   1308 		1. separate context switching and thread scheduling.
   1309 		   (cf. gmcgarry_ctxsw)
   1310 		2. implement idle lwp.
   1311 		3. clean up related MD/MI interfaces.
   1312 		4. make scheduler(s) modular.
   1313 
   1314 Status:		Terminated; merged to -current
   1315 Start Date:	Fri Feb 17 2007
   1316 End Date:	Thu May 17 2007
   1317 Base Tag:	yamt-idlelwp-base8
   1318 Maintainer:	YAMAMOTO Takashi <yamt (a] NetBSD.org>
   1319 Scope:		src/sys  (src/common is tagged but not branched)
   1320 Notes:		
   1321 		Status of ports:
   1322 		  alpha			[ Done, UP tested, MP not tested ]
   1323 		  i386			[ Done, tested ]
   1324 		  amd64			[ Done, tested ]
   1325 		  mips			[ Done, both MIPS1 and MIPS3 tested]
   1326 		  sparc			[ Done, UP tested, MP might have
   1327 					  some problem after newlock2 merge ]
   1328 		  sparc64		[ Done, tested ]
   1329 		  arm			[ Done, SA1 tested. See PR 36548 ]
   1330 		  macppc/powerpc	[ Done, OEA tested ]
   1331 		  hppa			[ Done, tested ]
   1332 		  sh3			[ Done, tested ]
   1333 		  vax			[ Done, UP tested, MP untested ]
   1334 		  m68k			[ Done, tested on several ports ]
   1335 		  ns32k			[ broken ]
   1336 		  ia64			[ broken ]
   1337 		  pdp10			[ broken ]
   1338 
   1339 		How to adapt a port?
   1340 
   1341 		- unify cpu_switch, cpu_exit, cpu_switchto into
   1342 		  a single cpu_switchto.  see cpu_switchto.9.
   1343 
   1344 		- implement cpu_idle.  see cpu_idle.9.
   1345 
   1346 		- add a flag argument to cpu_need_resched.
   1347 		  handle RESCHED_IMMED flag, which means "cause a preemption
   1348 		  as soon as possible."  eg. in the case of MULTIPROCESSOR,
   1349 		  send an IPI to the target cpu.
   1350 
   1351 		- "curlwp == NULL" is not a valid check for idle state anymore.
   1352 		  use "(curlwp->l_flag & LW_IDLE) != 0" instead.  curlwp is
   1353 		  almost always non-NULL, with exceptions like early on boot.
   1354 
   1355 		- remove idle pcbs.
   1356 
   1357 		- (if MULTIPROCESSOR) tweak processor trampoline code.
   1358 
   1359 		- (if MULTIPROCESSOR) call mi_cpu_attach when attaching
   1360 		  secondary processors.
   1361 
   1362 		- (if schedhz!=0) call schedclock regardless of the value of
   1363 		  curlwp.
   1364 
   1365 		- of course, update MD users of scheduler/switching API.
   1366 
   1367 Branch:		yamt-lazymbuf
   1368 Description:	change the way to share mbuf external storage so that
   1369 		it can work without kernel_lock.
   1370 Status:		Terminated; merged to -current
   1371 Start Date:	Wed Jul  6 2005
   1372 End Date:	Mon Mar 24 2008
   1373 Base Tag:	yamt-lazymbuf-base14
   1374 Maintainer:	YAMAMOTO Takashi <yamt (a] NetBSD.org>
   1375 Scope:		src/sys  (src/common is tagged but not branched)
   1376 Notes:		
   1377 
   1378 Branch:		yamt-km, yamt-km-doc
   1379 Description:	simplify/improve kernel memory management and bootstrap
   1380 Status:		Terminated; merged to -current
   1381 Start Date:	Tue Jan 25 2005
   1382 End Date:	Fri Apr  1 2005
   1383 Base Tag:	yamt-km-base{,2,3,4}, yamt-km-doc-base
   1384 Maintainer:	YAMAMOTO Takashi <yamt (a] NetBSD.org>
   1385 Scope:		yamt-km: src/sys
   1386 		yamt-km-doc: src/share/man/man9/uvm.9
   1387 Notes:		http://mail-index.NetBSD.org/tech-kern/2004/12/25/0005.html
   1388 
   1389 		the followings are per-port status.
   1390 		(account names mean "tested by".)
   1391 
   1392 		works enough to go to multiuser:
   1393 			alpha, i386, xen (yamt@)
   1394 			pc532 (simonb@)
   1395 			alpha, i386, mac68k, macppc, pmax, shark,
   1396 			    sparc, sparc64, sun3, x68k (chs@)
   1397 			cobalt, dreamcast, hp300, news68k, newsmips,
   1398 			    sun3x (tsutsui@)
   1399 			amiga (mhitch@)
   1400 			cats, hp700 (skrll@)
   1401 			xen (bouyer@)
   1402 
   1403 		known to have the same problem as trunk:
   1404 			vax (chs@, stuck while running kvm_mkdb)
   1405 
   1406 		known to have a problem:
   1407 			luna68k (and, if any, other m68k ports which use TTR)
   1408 			needs to be revisited.
   1409 			-> for luna68k, although not tested,
   1410 			   Sysmap has been moved to avoid kva conflict with
   1411 			   I/O ranges.
   1412 
   1413 		buildable:
   1414 			src/sys/arch/acorn26/conf/GENERIC
   1415 			src/sys/arch/acorn32/conf/GENERIC
   1416 			src/sys/arch/algor/conf/P6032
   1417 			src/sys/arch/alpha/conf/GENERIC
   1418 			src/sys/arch/alpha/conf/GENERIC.MP
   1419 			src/sys/arch/amd64/conf/GENERIC
   1420 			src/sys/arch/amd64/conf/GENERIC.MP
   1421 			src/sys/arch/amiga/conf/GENERIC
   1422 			src/sys/arch/arc/conf/GENERIC
   1423 			src/sys/arch/atari/conf/MILAN-PCIIDE
   1424 			src/sys/arch/bebox/conf/GENERIC
   1425 			src/sys/arch/cats/conf/GENERIC
   1426 			src/sys/arch/cesfic/conf/GENERIC
   1427 			src/sys/arch/cobalt/conf/GENERIC
   1428 			src/sys/arch/dreamcast/conf/GENERIC
   1429 			src/sys/arch/evbarm/conf/TS7200
   1430 			src/sys/arch/evbppc/conf/WALNUT
   1431 			src/sys/arch/evbsh3/conf/COMPUTEXEVB
   1432 			src/sys/arch/evbsh5/conf/CAYMAN64
   1433 			src/sys/arch/hp300/conf/GENERIC
   1434 			src/sys/arch/hp700/conf/GENERIC
   1435 			src/sys/arch/hpcarm/conf/JORNADA728
   1436 			src/sys/arch/hpcmips/conf/GENERIC
   1437 			src/sys/arch/hpcsh/conf/GENERIC
   1438 			src/sys/arch/hpcsh/conf/HPW650PA
   1439 			src/sys/arch/i386/conf/GENERIC
   1440 			src/sys/arch/i386/conf/GENERIC.MP
   1441 			src/sys/arch/i386/conf/XEN0
   1442 			src/sys/arch/i386/conf/XENU
   1443 			src/sys/arch/ibmnws/conf/GENERIC
   1444 			src/sys/arch/iyonix/conf/GENERIC
   1445 			src/sys/arch/luna68k/conf/GENERIC
   1446 			src/sys/arch/mac68k/conf/GENERIC
   1447 			src/sys/arch/macppc/conf/GENERIC
   1448 			src/sys/arch/macppc/conf/GENERIC.MP
   1449 			src/sys/arch/mipsco/conf/GENERIC
   1450 			src/sys/arch/mmeye/conf/GENERIC
   1451 			src/sys/arch/mvme68k/conf/GENERIC
   1452 			src/sys/arch/netwinder/conf/GENERIC
   1453 			src/sys/arch/news68k/conf/GENERIC
   1454 			src/sys/arch/newsmips/conf/GENERIC
   1455 			src/sys/arch/next68k/conf/GENERIC
   1456 			src/sys/arch/ofppc/conf/GENERIC
   1457 			src/sys/arch/pc532/conf/GENERIC
   1458 			src/sys/arch/pmax/conf/GENERIC
   1459 			src/sys/arch/prep/conf/GENERIC
   1460 			src/sys/arch/sandpoint/conf/GENERIC
   1461 			src/sys/arch/sbmips/conf/GENERIC
   1462 			src/sys/arch/sgimips/conf/GENERIC32_IP3x
   1463 			src/sys/arch/shark/conf/GENERIC
   1464 			src/sys/arch/sparc/conf/GENERIC
   1465 			src/sys/arch/sparc/conf/GENERIC.MP
   1466 			src/sys/arch/sparc64/conf/GENERIC
   1467 			src/sys/arch/sparc64/conf/GENERIC.MP
   1468 			src/sys/arch/sun2/conf/GENERIC
   1469 			src/sys/arch/sun3/conf/GENERIC
   1470 			src/sys/arch/vax/conf/GENERIC
   1471 			src/sys/arch/vax/conf/GENERIC.MP
   1472 			src/sys/arch/x68k/conf/GENERIC
   1473 
   1474 			src/sys/arch/playstation2/conf/GENERIC
   1475 
   1476 Branch:		yamt-pdpolicy
   1477 Description:	play with page replacement policy
   1478 		- separate page replacement policy from the rest of kernel
   1479 		- implement alternative replacement policy
   1480 		- related read-ahead adjustment?
   1481 Status:		Terminated; merged to -current
   1482 Start Date:	Sun Mar  5 2006
   1483 End Date:	Sat Sep 16 2006
   1484 Base Tag:	yamt-pdpolicy-base9
   1485 Maintainer:	YAMAMOTO Takashi <yamt (a] NetBSD.org>
   1486 Scope:		src/sys  (src/common is tagged but not branched)
   1487 Notes:		
   1488 
   1489 Branch:		yamt-pf42
   1490 Description:	import newer pf from OpenBSD 4.2
   1491 Status:		Terminated; merged to -current
   1492 Start Date:	Sat Apr 19 2008
   1493 End Date:	Wed Jun 18 2008
   1494 Base Tag:	yamt-pf42-base4
   1495 Maintainer:	Peter Postma <peter (a] NetBSD.org>,
   1496 		YAMAMOTO Takashi <yamt (a] NetBSD.org>
   1497 Scope:		src
   1498 Notes:		see sys/dist/pf/net/TODO
   1499 
   1500 Branch:		yamt-readahead
   1501 Description:	play with file readahead
   1502 Status:		Terminated; merged to -current
   1503 Start Date:	Mon Nov 14 2005
   1504 End Date:	Wed Nov 30 2005
   1505 Base Tag:	yamt-readahead-base3
   1506 Maintainer:	YAMAMOTO Takashi <yamt (a] NetBSD.org>
   1507 Scope:		src/sys
   1508 Notes:		
   1509 
   1510 Branch:		yamt-uio_vmspace
   1511 Description:	uio_lwp/uio_segflg -> uio_vmspace
   1512 Status:		Terminated; merged to -current
   1513 Start Date:	Mon Dec 31 2005
   1514 End Date:	Wed Mar  1 2006
   1515 Base Tag:	yamt-uio_vmspace-base5
   1516 Maintainer:	YAMAMOTO Takashi <yamt (a] NetBSD.org>
   1517 Scope:		src/sys
   1518 Notes:		
   1519 
   1520 Branch:		yamt-splraiseipl
   1521 Description:	finish implementing splraiseipl (and makeiplcookie).
   1522 		http://mail-index.NetBSD.org/tech-kern/2006/07/01/0000.html
   1523 
   1524 		- completes workqueue(9) and netbt.
   1525 		- fix PR/33218.
   1526 
   1527 Status:		Terminated; merged to -current
   1528 Start Date:	Mon Sep 18 2006
   1529 End Date:	Fri Dec 22 2006
   1530 Base Tag:	yamt-splraiseipl-base5
   1531 Maintainer:	YAMAMOTO Takashi <yamt (a] NetBSD.org>
   1532 Scope:		src/sys  (src/common is tagged but not branched)
   1533 Notes:		
   1534 		tested (by who):
   1535 			alpha		(yamt)
   1536 			alpha		(pavel)
   1537 			amd64		(reported privately)
   1538 			cobalt		(tsutsui)
   1539 			ews4800mips	(tsutsui)
   1540 			hp300		(tsutsui)
   1541 			hpcarm		(reported privately)
   1542 			i386		(yamt)
   1543 			macppc		(tsutsui)
   1544 			news68k		(tsutsui)
   1545 			sgimips(IP32)	(tsutsui)
   1546 			sparc(sun4c)	(tsutsui)
   1547 			sun2		(tsutsui)
   1548 			sun3		(tsutsui)
   1549 			sun3x		(tsutsui)
   1550 			xen		(yamt)
   1551 
   1552 		compile-tested:
   1553 			acorn26
   1554 			acorn32
   1555 			algor
   1556 			amiga
   1557 			arc
   1558 			atari
   1559 			bebox
   1560 			cats
   1561 			cesfic
   1562 			dreamcast
   1563 			evbarm
   1564 			evbmips
   1565 			evbppc(marvell)
   1566 			evbppc(ibm4xx)
   1567 			evbsh3
   1568 			hp700
   1569 			hpcmips
   1570 			hpcsh
   1571 			ia64
   1572 			ibmnws
   1573 			iyonix
   1574 			landisk
   1575 			luna68k
   1576 			mac68k
   1577 			mmeye
   1578 			mvme68k
   1579 			mvmeppc
   1580 			mipsco
   1581 			netwinder
   1582 			newsmips
   1583 			next68k
   1584 			ofppc
   1585 			pc532
   1586 			pmax
   1587 			pmppc
   1588 			prep
   1589 			sandpoint
   1590 			sbmips
   1591 			shark
   1592 			sparc
   1593 			sparc64
   1594 			vax
   1595 			x68k
   1596 			zaurus
   1597 
   1598 		not tested:
   1599 			pdp10 (i don't know how to build)
   1600 			sh5 (not buildable with an unrelated problem.)
   1601 
   1602     compile  CAYMAN64/netbsd32_sa.o
   1603     cc1: warnings being treated as errors
   1604     /exports/nbsd/src/sys/compat/netbsd32/netbsd32_sa.c: In function 'netbsd32_sa_ucsp':
   1605     /exports/nbsd/src/sys/compat/netbsd32/netbsd32_sa.c:126: warning: implicit declaration of function '_UC_MACHINE32_SP'
   1606     --- netbsd32_sa.o ---
   1607     *** [netbsd32_sa.o] Error code 1
   1608     1 error
   1609 
   1610 		notyet:
   1611 			amigappc
   1612 			playstation2
   1613 
   1614 Branch:		yamt-vop
   1615 Description:	remove several VOPs
   1616 Status:		Terminated; merged to -current
   1617 Start Date:	Wed Oct 19 2005
   1618 End Date:	Wed Nov  2 2005
   1619 Base Tag:	yamt-vop-base3
   1620 Maintainer:	YAMAMOTO Takashi <yamt (a] NetBSD.org>
   1621 Scope:		src/sys
   1622 Notes:		http://mail-index.NetBSD.org/tech-kern/2005/09/27/0000.html
   1623 
   1624 Branch:		yamt-x86pmap
   1625 Description:	merge i386 and amd64 pmap
   1626 Status:		Terminated; merged to -current
   1627 Start Date:	Mon Sep 24 2007
   1628 End Date:	Fri Oct 19 2007
   1629 Base Tag:	yamt-x86pmap-base4
   1630 Maintainer:	YAMAMOTO Takashi <yamt (a] NetBSD.org>
   1631 Scope:		src/sys  (src/common is tagged but not branched)
   1632 Notes:		
   1633 
   1634 Branch:		gdamore-uart
   1635 Description:	Add register table support to com driver.
   1636 Status:		Active
   1637 Start Date:	14 June 2006
   1638 End Date:	13 July 2006
   1639 Base Tag:	gdamore-uart-base
   1640 Maintainer:	Garrett D'Amore <gdamore (a] NetBSD.org>
   1641 Scope:		kernel
   1642 Notes:		Results in consolidation of Alchemy (mips/dev/alchemy/aucom.c)
   1643 		com support, and also removes a nasty hack from Atheros com.
   1644 
   1645 ########################################################################
   1646 # Other:
   1647 ########################################################################
   1648 
   1649 Branch:		magnum
   1650 Description:	?
   1651 Status:		?
   1652 Start Date:
   1653 End Date:
   1654 Base Tag:	magnum-base
   1655 Maintainer:	?
   1656 Scope:		kernel
   1657 Notes:
   1658 
   1659