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