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