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