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