Home | History | Annotate | Line # | Download | only in doc
BRANCHES revision 1.215
      1 #	$NetBSD: BRANCHES,v 1.215 2007/10/18 23:50:10 ad 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 VM and file system framework 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:		Goals:
    532 
    533 		- Make VM system / trap handling MP safe.
    534 		- Replace simplelocks with mutexes.
    535 		- Make file system framework MP safe.
    536 
    537 		Status by architecture:
    538 
    539 		  alpha			partial: pmap.c/trap.c need work
    540 		  i386			done
    541 		  amd64			done
    542 		  mips			partial: !pmax needs work
    543 		  sparc			
    544 		  sparc64		
    545 		  arm			
    546 		  macppc/powerpc	
    547 		  hppa			
    548 		  sh3			
    549 		  vax			
    550 		  m68k			
    551 
    552 		Remaining MI work to do:
    553 
    554 		- subr_pool/pagedaemon needs to use crosscalls to invalidate
    555 		  per-cpu pool_cache elements.
    556 
    557 		- Clean up vfs_busy/vfs_unbusy and mount/dounmount semantics
    558 		  so that lockmgr is not being used any more. Reference
    559 		  counting on struct mount is probably the best solution.
    560 
    561 		- Check locking around fields in struct mount.
    562 
    563 		- Check file systems that traverse mounpoint vnode lists.
    564 		  They need to use marker vnodes.
    565 
    566 		- Double check that revoke / forced unmount is still safe
    567 		  (it might never have been!).
    568 
    569 		- Re-write the itimer code to be MP safe and work in the
    570 		  presence of threaded soft interrupts.
    571 
    572 		- Defer x86 npxsave interrupts to an process context (do
    573 		  aston() and handle from trap.c).
    574 
    575 		- Check aliased vnode handling. There may be problems.
    576 
    577 		Remaining problems:
    578 
    579 		- tmpfs_rmdir occasionally leaks tmpfs_nodes. This could be
    580 		  an old problem but either way it needs to be fixed.
    581 
    582 		- UVM_FLAG_TRYLOCK is not sufficient in uvm_km.c because
    583 		  allocations will fail too often. It's needed for !kmem_map
    584 		  because sometimes allocations are made by threads that
    585 		  hold the map locked, which could cause other threads to
    586 		  wait long term even if they are trying to make a NOWAIT
    587 		  allocation.
    588 
    589 		- softdep: "unmount pending error". It looks like free
    590 		  bitmaps are not being updated in some cases. Does not
    591 		  pose a corruption risk but needs to be fixed.
    592 
    593 		- softdep: allocation failure on a full file system
    594 		  will deadlock the system because we try to flush
    595 		  out free pages in order to resolve dependencies.
    596 		  On head, it panics the system: just comment out the
    597 		  fix for now.
    598 
    599 		- ffs+snapshots needs testing.
    600 
    601 		- LFS port has been fudged and it's probably borked.
    602 
    603 		- Report of ext2fs panic on unmount.
    604 
    605 Branch:		yamt-lazymbuf
    606 Description:	implement and evaluate lazy mapping of mbuf external data pages
    607 		also, change the way to share mbuf external storage.
    608 		it's intended as the first step of larger changes.
    609 			1. support operations (esp. bus_dma load) on
    610 			   unmapped mbuf.
    611 			2. unify mbuf and buf.
    612 			   (or, at least some parts of them)
    613 			3. then it should be trivial to implement
    614 			   i/o coalescing, etc.
    615 Status:		Active
    616 Start Date:	Wed Jul  6 2005
    617 End Date:	
    618 Base Tag:	yamt-lazymbuf-base5
    619 Maintainer:	YAMAMOTO Takashi <yamt (a] NetBSD.org>
    620 Scope:		src/sys  (src/common is tagged but not branched)
    621 Notes:		
    622 		i386		DONE
    623 		amd64		DONE
    624 		other ports should work as the trunk does.
    625 		(conditionalized by __HAVE_LAZY_MBUF macro)
    626 
    627 Branch:		reinoud-bufcleanup
    628 Description:	implement and evaluate struct buf usage cleanup strategies.
    629 		Ideas currently in mind (preference for b):
    630 		a)
    631 			1. use of bio_ops per buffer.
    632 			2. allow chaining/overloading of functions in bio_ops
    633 			   and provide some private context.
    634 			3. extend the bio_ops with commenly used functionality
    635 			   like pending action counting, custom context passing,
    636 			   last minute processing of buffer data, buffer cache
    637 			   etc.
    638 			4. investigate the use of the kcont()
    639 			   continuation-passing framework for async io
    640 			   completion notification for bufs
    641 			...
    642 		b)
    643 			1. all sequencing use of B_CALL replaced by
    644 			   device-threads, if possible generic code around BUFQ
    645 			2. possibly use kcont() for async IO finished signalling
    646 			3. counter of pending and queued actions requestable
    647 			   by IOCTL interface?
    648 			4. implement `last minute buffer fixup' calls and maybe
    649 			   even finished I/O calls as vnode operations
    650 			...
    651 Status:		Active
    652 Start Date:	Thu Mar 15 2007
    653 End Date:
    654 Base Tag:	reinoud-bufcleanup-base
    655 Maintainer:	Reinoud Zandijk <reinoud (a] NetBSD.org>
    656 Scope:		src/sys and src/common
    657 Notes:		Used as expiriment sandbox and if successful hopefully one day
    658 		to be intergrated.
    659 
    660 Branch:		thorpej-atomic
    661 Description:	Implementation of an atomic memory operations API modeled
    662 		after the one in Solaris 10.
    663 Status:		Active
    664 Start Date:	Apr 11 2007
    665 End Date:
    666 Base tag:	thorpej-atomic-base
    667 Maintainer:	Jason Thorpe <thorpej (a] netbsd.org>
    668 Scope:		src/common
    669 		src/sys
    670 Notes:		Base atomic primitives need to be implemented for
    671 		all of the supported architectures:
    672 
    673 		alpha		DONE
    674 		arm		DONE
    675 		hppa
    676 		i386		DONE
    677 		ia64
    678 		m68k		DONE (except for 68010)
    679 		mips
    680 		ns32k
    681 		powerpc		DONE except for membar_*()
    682 		powerpc64	DONE except for membar_*()
    683 		sh3
    684 		sparc		DONE except for membar_*()
    685 		sparc64		DONE except for membar_*()
    686 		vax
    687 		x86_64		DONE
    688 
    689 		Tested:
    690 
    691 		alpha		NO
    692 		arm		NO
    693 		hppa		NO
    694 		i386		NO
    695 		ia64		NO
    696 		m68k		NO
    697 		mips		NO
    698 		ns32k		NO
    699 		powerpc		NO
    700 		powerpc64	NO
    701 		sh3		NO
    702 		sparc		NO
    703 		sparc64		NO
    704 		vax		NO
    705 		x86_64		NO
    706 
    707 		TODO:
    708 
    709 		all		- Need to replace mb_*() with membar_*().
    710 
    711 				- Audit MUTEX_CAS() and RWLOCK_CAS() uses
    712 				  to see of membar_enter() is required here.
    713 
    714 				- Talk to ad@ -- figure out of non-atomic
    715 				  mutex / rwlock release is actually safe.
    716 
    717 		arm		- Consider using a RAS technique like
    718 				  MIPS uses for _lock_cas() and the mutex
    719 				  stubs.  Possibly do more than one atomic
    720 				  op as a RAS.  Possibly implement mutex
    721 				  stubs using the technique.
    722 
    723 		m68k		- Need to do 68010 support.
    724 		
    725 		i386		- Need to change when x86_patch() is called
    726 				  so we can test ncpus.
    727 
    728 		powerpc		- Figure out if we need barriers in the
    729 				  atomic ops themselves (hopefully not!)
    730 
    731 		x86_64		- Need to change when x86_patch() is called
    732 				  so we can test ncpus.
    733 
    734 ########################################################################
    735 # Individual developers' branches (Terminated):
    736 ########################################################################
    737 
    738 Branch:		bouyer-scsipi
    739 Description:	Integration of atapi support
    740 Status:		Terminated
    741 Start Date:
    742 End Date:
    743 Base Tag:
    744 Maintainer:	Manuel Bouyer <bouyer (a] NetBSD.org>
    745 Scope:		kernel
    746 Notes:		Superseded by thorpej_scsipi
    747 
    748 Branch:		bouyer-xen2
    749 Description:	update xen port to xen 2.0, with support for domain0 operations
    750 Status:		Terminated
    751 Start Date:	Dec 13 2004
    752 End Date:	Mar 10 2005
    753 Base Tag:	netbsd-2-base
    754 Maintainer:	Manuel Bouyer <bouyer (a] NetBSD.org>
    755 Scope:		src/sys/arch/xen
    756 Notes:
    757 
    758 Branch: 	chap-midi
    759 Description:	Renovation of MIDI support
    760 Status: 	Terminated; merged to -current
    761 Start Date:	19 May 2006
    762 End Date:	30 Jun 2006
    763 Base Tag:	chap-midi-base
    764 Maintainer:	Chapman Flack <chap (a] NetBSD.org>
    765 Scope:		sys, share/man, usr.bin
    766 Notes:
    767 
    768 Branch:		chs-ubc
    769 Description:	Unified Buffer Cache
    770 Status:		Terminated
    771 Start Date:
    772 End Date:
    773 Base Tag:	chs-ubc-base
    774 Maintainer:	Chuck Silvers <chs (a] NetBSD.org>
    775 Scope:		kernel
    776 Notes:
    777 
    778 Branch:		chs-ubc2
    779 Description:	 Unified Buffer Cache
    780 Status:		Terminated; merged to -current
    781 Start Date:
    782 End Date:
    783 Base Tag:	chs-ubc2-base, chs-ubc2-newbase
    784 Maintainer:	Chuck Silvers <chs (a] NetBSD.org>
    785 Scope:		kernel
    786 Notes:
    787 
    788 Branch:		cjs-build-against-obj-dir
    789 Description:	?
    790 Status:		?
    791 Start Date:
    792 End Date:
    793 Base Tag:
    794 Maintainer:	Curt Sampson <cjs (a] NetBSD.org>
    795 Scope:		Entire tree.
    796 Notes:
    797 
    798 Branch:		eeh-paddr_t
    799 Description:	use separate types for virtual vs. physical addresses
    800 Status:		Terminated; merged to -current
    801 Start Date:
    802 End Date:
    803 Base Tag:	eeh-paddr_t-base
    804 Maintainer:	Eduardo Horvath <eeh (a] NetBSD.org>
    805 Scope:		kernel
    806 Notes:		This is needed to support 32-bit kernels on sparc64.
    807 
    808 Branch:		elad-kernelauth
    809 Description:	Native NetBSD implementation of Apple's kernel authorization
    810 		based on TN2127. This is a "clean-room" implementation to
    811 		avoid any licensing issues.
    812 Status:		Terminated; merged to -current
    813 Start Date:	Tue Mar	 7 2006
    814 End Date:	Mon May 15 2006
    815 Base Tag:	elad-kernelauth-base
    816 Maintainer:	Elad Efrat <elad (a] NetBSD.org>
    817 Scope:		src/sys, src/share/man/man9/Makefile,
    818 		src/share/man/man9/kauth.h, src/distrib/sets/lists/comp/mi
    819 Notes:
    820 
    821 Branch:		fvdl-softdep
    822 Description:	FFS soft dependencies
    823 Status:		Terminated; merged to -current
    824 Start Date:
    825 End Date:
    826 Base Tag:	fvdl-softdep-base
    827 Maintainer:	Frank van der Linden <fvdl (a] NetBSD.org>
    828 Scope:		kernel
    829 Notes:
    830 
    831 Branch:		gehenna-devsw
    832 Description:	auto-generation of devsw table
    833 Status:		Terminated
    834 Start Date:	16 May 2002
    835 End Date:	6 Sep 2002
    836 Base Tag:	gehenna-devsw-base
    837 Maintainer:	MAEKAWA Masahide <gehenna (a] NetBSD.org>
    838 Scope:		syssrc
    839 Notes:		The goal is to get rid of the existing device switch tables in
    840 		port-dependent conf.c and to generate them dynamically by
    841 		config(8).
    842 
    843 Branch:		is-newarp
    844 Description:	ARP for non-Ethernet
    845 Status:		Terminated; merged before NetBSD 1.3
    846 Start Date:	1996/10/13
    847 End Date:	1997/03/15
    848 Base Tag:	is-newarp-base
    849 Maintainer:	Ignatios Souvatzis <is (a] NetBSD.org>
    850 Scope:		kernel
    851 Notes:
    852 
    853 Branch:		kenh-if-detach
    854 Description:	Interface detach support.
    855 Status:		?
    856 Start Date:
    857 End Date:
    858 Base Tag:	kenh-if-detach-base
    859 Maintainer:	Ken Hornstein <kenh (a] NetBSD.org>
    860 Scope:		kernel
    861 Notes:
    862 
    863 Branch:		kent-audio1
    864 Description:	Audio converter pipeline
    865 Status:		Terminated; merged to -current
    866 Start Date:	Tue Dec  7 2004
    867 End Date:	Tue Jan 11 2005
    868 Base Tag:	kent-audio1-base
    869 Maintainer:	TAMURA Kent <kent (a] NetBSD.org>
    870 Scope:		kernel (audio device drivers)
    871 Notes:		http://mail-index.netbsd.org/tech-kern/2004/12/03/0007.html
    872 		Please consult with the maintainer before committing
    873 		to this branch.
    874 
    875 Branch:		kqueue
    876 Description:	kqueue kernel event notification mechanism (from FreeBSD)
    877 Status:		Terminated; merged to -current
    878 Start Date:	Tue Jul 10 23:08:38 EST 2001
    879 End Date:	Tue Oct 24 09:14:14 GMT 2002
    880 Base Tag:	kqueue-base
    881 Maintainer:	Jaromir Dolecek <jdolecek (a] NetBSD.org>
    882 Scope:		kernel, libc/sys, share/man/man9, usr.bin/fstat
    883 Notes:		Integration of FreeBSD's kqueue(2) mechanism, with various
    884 		local internal changes to better suit NetBSD, and
    885 		enhancements such as looking up filters by name or
    886 		number, and dynamic registration of "user" filters.
    887 		The work is complete as is, but is awaiting more
    888 		feedback from various kernel gurus before going mainline.
    889 
    890 Branch:		ktrace-lwp
    891 Description:	ktrace support for lwp ids.
    892 Status:		Terminated; merged to -current
    893 Start Date:	Wed Jul  2 15:27:30 UTC 2003
    894 End Date:	Sun Dec 11 12:25:29 UTC 2005
    895 Base Tag:	ktrace-lwp-base
    896 Maintainer:	Darren Reed <darrenr (a] NetBSD.org>
    897 Scope:		sys
    898 Notes:		
    899 
    900 Branch:		marc-pcmcia
    901 Description:	PCMCIA support
    902 Status:		Terminated; merged to -current
    903 Start Date:
    904 End Date:
    905 Base Tag:	marc-pcmcia-base, marc-pcmcia-bp
    906 Maintainer:	Marc Horowitz <marc (a] NetBSD.org>
    907 Scope:		kernel
    908 Notes:
    909 
    910 Branch:		minoura_x68k_bus_h
    911 Description:	bus_space(9) and bus_dma(9) implementation for x68k
    912 Status:		Terminated; merged to -current
    913 Start Date:	23 Dec 1998
    914 End Date:	16 Mar 1999
    915 Base Tag:	minoura_x68k_bus_h-base
    916 Maintainer:	Minoura Makoto <minoura (a] NetBSD.org>
    917 Scope:		sys/arch/x68k
    918 Notes:
    919 
    920 Branch:		minoura-xpg4dl
    921 Description:	Citrus Project locale subsystem
    922 Status:		Terminated; (partly) merged to -current
    923 Start Date:	28 March 2000
    924 End Date:
    925 Base Tag:	minoura-xpg4dl-base
    926 Maintainer:	Minoura Makoto <minoura (a] NetBSD.org>
    927 Scope:		basesrc, syssrc, sharesrc
    928 Notes:		Citrus Project is developing dynamically-loadable, codeset-
    929 		independent locale subsystem.  Part of the implementation
    930 		(LC_CTYPE) called XPG4DL is now integrated to -current.
    931 
    932 Branch:		mjf-ufs-trans
    933 Description:	filesystem transactions for ufs
    934 Status:		Active
    935 Start Date:	12 March 2007
    936 End Date:
    937 Base Tag:	mjf-ufs-trans-base
    938 Maintainer:	Matt Fleming <mjf (a] NetBSD.org>
    939 Scope:		kernel
    940 Notes:
    941 
    942 Branch:		mrg-vm-swap
    943 Description:	dynamic swap allocation, swap-to-files support
    944 Status:		Terminated; abondoned for mrg-vm-swap2
    945 Start Date:	12 February 1997
    946 End Date:	15 March 1997
    947 Base Tag:	[none]
    948 Maintainer:	Matthew R. Green <mrg (a] NetBSD.org>
    949 Scope:		kernel
    950 Notes:
    951 
    952 Branch:		mrg-vm-swap2
    953 Description:	dynamic swap allocation, swap-to-files support
    954 Status:		Terminated; merged to -current
    955 Start Date:	4 May 1997
    956 End Date:	12 June 1997
    957 Base Tag:	mrg-vm-swap2-base
    958 Maintainer:	Matthew R. Green <mrg (a] NetBSD.org>
    959 Scope:		kernel
    960 Notes:
    961 
    962 Branch:		nathanw_sa
    963 Description:	Scheduler activations
    964 Status:		Terminated; merged to -current
    965 Start Date:	5 March 2001
    966 End Date:	18 January 2003
    967 Base Tag:	nathanw_sa_base
    968 Maintainer:	Nathan Williams <nathanw (a] NetBSD.org>
    969 Scope:		kernel, libc, libkvm, libpthread, libpthread_dbg, include, 
    970 		bin/ps usr.bin/systat usr.bin/top usr.bin/w
    971 		gnu/dist/toolchain/gdb gnu/usr.bin/gdb
    972 Notes:		The idea of scheduler activations is described in the
    973 		classic paper by Anderson et al., in ACM Transactions
    974 		a on Computer Systems volume 10 issue 1 (1992),which
    975 		can be found at
    976 		http://www.acm.org/pubs/citations/journals/tocs/1992-10-1/p53-anderson/
    977 		Many ideas in the implementation are based on the
    978 		implementation of scheduler activations added to Mach
    979 		3.0 and described by Davis et al. in the University of
    980 		Washington CS tech report 92-08-93, which can be found
    981 		at
    982 		ftp://ftp.cs.washington.edu/tr/1992/08/UW-CSE-92-08-03.PS.Z
    983 
    984 		My USENIX paper on the subject can be found at
    985 		http://web.mit.edu/nathanw/www/usenix/
    986 
    987 		Please consult with the maintainer before committing
    988 		to this branch.
    989 		Other tags starting with nathanw_sa reserved for
    990 		branch management and are not guaranteed to be stable.
    991 
    992 		Trunk tagged with "nathanw_sa_before_merge" prior to
    993 		merging branch down to trunk.  Branch tagged with
    994 		"nathanw_sa_end" to indicate the ending revision of
    995 		the branch.
    996 
    997 Branch:		perseant-lfsv2
    998 Description:	LFS incompatible on-disk data structure changes
    999 Status:		Terminated
   1000 Start Date:	27 June 2001
   1001 End Date:	16 July 2001
   1002 Base Tag:	perseant-lfsv2-base
   1003 Maintainer:	Konrad Schroder <perseant (a] NetBSD.org>
   1004 Scope:		basesrc/{sbin/*lfs,libexec/lfs_cleanerd,usr.sbin/dumplfs}, syssrc/sys/ufs
   1005 Notes:		This branch should be short-lived, I expect to merge as soon
   1006 		as the data structures required for unremove are in and tested.
   1007 
   1008 Branch:		thorpej-devvp
   1009 Description:	replace dev_t with struct vnode * in devsw entry points
   1010 Status:		Terminated
   1011 Start Date:	Sep 6 2001
   1012 End Date:	???
   1013 Base Tag:	thorpej-devvp-base
   1014 Maintainer:	Jason Thorpe <thorpej (a] NetBSD.org>
   1015 Scope:		syssrc
   1016 Notes:		Kernels built from this branch are not expected
   1017 		to function correctly at this time.
   1018 
   1019 		Ports known to compile on this branch:
   1020 			alpha
   1021 			i386
   1022 
   1023 Branch:		peter-altq
   1024 Description:	New ALTQ framework:
   1025 		- sync with KAME sources
   1026 		- share mtag/name mapping functions
   1027 		- separate altq + pf attachment
   1028 Status:		Terminated; merged to -current
   1029 Start Date:	March 16, 2006
   1030 End Date:	October 12, 2006
   1031 Base Tag:	peter-altq-base
   1032 Maintainer:	Peter Postma <peter (a] NetBSD.org>,
   1033 		Martin Husemann <martin (a] NetBSD.org>,
   1034 		Matthias Scheler <tron (a] NetBSD.org>
   1035 Scope:		dist/pf dist/ipf distrib/sets/lists sys usr.sbin/altq
   1036 Notes:		Only the first item in the description was finished
   1037 		in this branch.
   1038 
   1039 Branch:		sommerfeld_i386mp_1
   1040 Description:	Multiprocessor support for i386 using Intel MP BIOS.
   1041 Status:		Terminated; merged to -current
   1042 Start Date:	21 Feb 2000
   1043 End Date:	01 Oct 2002
   1044 Base Tag:	sommerfeld_i386mpbase_1
   1045 Maintainer:	Bill Sommerfeld <sommerfeld (a] NetBSD.org>
   1046 Scope:		sys/arch/i386
   1047 Notes:
   1048 		Code committed to the branch has booted to multiuser 
   1049 		on at least one system.
   1050 
   1051 		Not guaranteed to compile against mainline since -current
   1052 		may have changed incompatibly with the last branch update;
   1053 		use "cvs update -D" to roll-back the rest of the tree to match.
   1054 
   1055 		Please get explicit permission from the maintainer 
   1056 		before each commit, or your changes will be backed out.
   1057 		Other tags starting with sommerfeld_ are private to 
   1058 		the developer and are guaranteed to be unstable.
   1059 		Only the maintainer should move tags.
   1060 
   1061 		Note that this branch uses a DIFFERENT scheme for 
   1062 		synching with the mainline.  the maintainer uses some private
   1063 		scripts for keeping them in synch; if you make commits 
   1064 		to the branch to "resynchronize" things, you'll
   1065 		probably do it wrong; instead, ask the maintainer to
   1066 		resynchronize things.
   1067 
   1068 		See sys/arch/i386/TODO on the branch for a list of known
   1069 		issues with the branch.
   1070 
   1071 Branch:		thorpej-mips-cache
   1072 Description:	overhaul MIPS cache support code
   1073 Status:		Terminated; merged to -current
   1074 Start Date:	Oct 23 2001
   1075 End Date:	Nov 14 2001
   1076 Base Tag:	thorpej-mips-cache-base
   1077 Scope:		syssrc
   1078 Notes:		This branch needs more debugging, testing, and more
   1079 		ports need to be converted to the new world order.
   1080 
   1081 		The following processors have had cache ops
   1082 		written:
   1083 
   1084 			* R2000/R3000 (cache_r3k) -- light testing,
   1085 			  needs to be beat on a lot more to make
   1086 			  sure it's working.
   1087 
   1088 			* R4000/R4400 (cache_r4k) -- mhitch (a] NetBSD.org
   1089 			  tracked down a bug, which has been fixed.
   1090 
   1091 			  Confirmed working on R4000-with-L2.
   1092 
   1093 			  Confirmed working on R4400-no-L2 and
   1094 			  R4400-with-L2.
   1095 
   1096 			* R4600/R5000 (cache_r5k) -- shin (a] NetBSD.org
   1097 			  has committed fixes to this code.
   1098 
   1099 			  Confirmed working on R4600 v2 (SGI IP-22 with
   1100 			  no SysAD L2 cache).
   1101 
   1102 			  Confirmed working on RM5260 (Algorithmics P-5064).
   1103 
   1104 			* TX39 (cache_tx39) -- uch (a] NetBSD.org has
   1105 			  committed fixes to this code.  Awaiting
   1106 			  confirmation that it is working properly.
   1107 
   1108 			* R5900 (cache_r5900) -- uch (a] NetBSD.org has
   1109 			  written this code and tested it on a
   1110 			  PlayStation 2.
   1111 
   1112 		The following ports have been updated to compile (and
   1113 		use optimized-for-processor bus_dma routines).  Those
   1114 		that have been tested and work are marked with [WORKING].
   1115 
   1116 			* algor		[WORKING]
   1117 
   1118 			* arc		[WORKING]
   1119 
   1120 			* pmax		[WORKING]
   1121 
   1122 			* playstation2	[WORKING]
   1123 					Needs optimized bus_dmamap_sync().
   1124 
   1125 			* hpcmips	[need verification that this is working]
   1126 					Needs optimized bus_dmamap_sync().
   1127 
   1128 			* sgimips	[WORKING]
   1129 					Needs optimized bus_dmamap_sync().
   1130 
   1131 			* cobalt	[need testing]
   1132 
   1133 			* mipsco	[need testing]
   1134 
   1135 			* newsmips	[need testing]
   1136 
   1137 Branch:		thorpej_scsipi
   1138 Description:	SCSI/ATAPI midlayer rewrite.
   1139 Status:		Terminated; merged to -current
   1140 Start Date:
   1141 End Date:	Apr 25 2001
   1142 Base Tag:	thorpej_scsipi_base, thorpej_scsipi_nbase
   1143 Maintainer:	Manuel Bouyer <bouyer (a] NetBSD.org>,
   1144 		Jason Thorpe <thorpej (a] NetBSD.org>
   1145 Scope:		syssrc
   1146 Notes:		When a change from -current is pulled up please move the
   1147 		thorpej_scsipi_base tag to the revision you're syncing with.
   1148 		thorpej_scsipi_nbase is private to maintainer (only
   1149 		used when syncing the whole branch with HEAD).
   1150 		Just before the merge, syssrc has been tagged with
   1151 		thorpej_scsipi_beforemerge
   1152 
   1153 Branch:		thorpej-signal
   1154 Description:	?
   1155 Status:		?
   1156 Start Date:
   1157 End Date:
   1158 Base Tag:	thorpej-signal-base
   1159 Maintainer:	Jason Thorpe <thorpej (a] NetBSD.org>
   1160 Scope:		kernel
   1161 Notes:
   1162 
   1163 Branch:		thorpej-setroot
   1164 Description:	?
   1165 Status:		Terminated; merged to -current
   1166 Start Date:
   1167 End Date:
   1168 Base Tag:
   1169 Maintainer:	Jason Thorpe <thorpej (a] NetBSD.org>
   1170 Scope:		kernel
   1171 Notes:
   1172 
   1173 Branch:		simonb-timecounters
   1174 Description:	Port FreeBSD timecounters to NetBSD
   1175 Status:		Terminated
   1176 Start Date:	Sat Feb 04 2006
   1177 End Date:	Wed Jun 07 2006
   1178 Base Tag:	simonb-timecounters-base
   1179 Maintainer:	Simon Burge <simonb (a] NetBSD.org>,
   1180 		Frank Kardel <kardel (a] NetBSD.org>
   1181 Scope:		sys, sbin/savecore, usr.bin/vmstat, usr.sbin/ntp
   1182 Notes:		early (partial conversion) commit to -current
   1183 		ok'ed by core@ on 20060605 for testing and further
   1184 		simplified conversion
   1185 
   1186 Branch:		wrstuden-devbsize
   1187 Description:	Modify buffer cache to deal with different devices having
   1188 		different block sizes. Also DEV_BSIZE would go away.
   1189 Status:		Terminated
   1190 Start Date:	Aug or Sept 1999
   1191 End Date:	1 Apr 2000
   1192 Base tag:	wrstuden-devbsize-base
   1193 Maintainer:	Bill Studenmund <wrstuden (a] NetBSD.org>
   1194 Scope:		kernel
   1195 Notes:		No longer active due to lack of time, and introduction
   1196 		of UBC. In terms of UBC, the primary cache for
   1197 		file data is the VM cache, which needs to operate
   1198 		in terms of VM pages. As no existing device has native
   1199 		pages the same size as our VM pages, there already is
   1200 		a mapping going on between the VM system and the
   1201 		underlying blocks. So it would be easier and cleaner
   1202 		to adjust that to deal w/ different block sizes.
   1203 		Also with UBC, all i/o is in terms of bytes at an offset
   1204 		with a certain length, so the exact block size isn't a big
   1205 		deal.
   1206 
   1207 		Any other wrstuden-devbsize tag may (and should) go away.
   1208 
   1209 Branch:		yamt-idlelwp
   1210 Description:	idle lwp, and some changes depending on it.
   1211 
   1212 		1. separate context switching and thread scheduling.
   1213 		   (cf. gmcgarry_ctxsw)
   1214 		2. implement idle lwp.
   1215 		3. clean up related MD/MI interfaces.
   1216 		4. make scheduler(s) modular.
   1217 
   1218 Status:		Terminated; merged to -current
   1219 Start Date:	Fri Feb 17 2007
   1220 End Date:	Thu May 17 2007
   1221 Base Tag:	yamt-idlelwp-base8
   1222 Maintainer:	YAMAMOTO Takashi <yamt (a] NetBSD.org>
   1223 Scope:		src/sys  (src/common is tagged but not branched)
   1224 Notes:		
   1225 		Status of ports:
   1226 		  alpha			[ Done, UP tested, MP not tested ]
   1227 		  i386			[ Done, tested ]
   1228 		  amd64			[ Done, tested ]
   1229 		  mips			[ Done, both MIPS1 and MIPS3 tested]
   1230 		  sparc			[ Done, UP tested, MP might have
   1231 					  some problem after newlock2 merge ]
   1232 		  sparc64		[ Done, tested ]
   1233 		  arm			[ Done, SA1 tested. See PR 36548 ]
   1234 		  macppc/powerpc	[ Done, OEA tested ]
   1235 		  hppa			[ Done, tested ]
   1236 		  sh3			[ Done, tested ]
   1237 		  vax			[ Done, UP tested, MP untested ]
   1238 		  m68k			[ Done, tested on several ports ]
   1239 		  ns32k			[ broken ]
   1240 		  ia64			[ broken ]
   1241 		  pdp10			[ broken ]
   1242 
   1243 		How to adapt a port?
   1244 
   1245 		- unify cpu_switch, cpu_exit, cpu_switchto into
   1246 		  a single cpu_switchto.  see cpu_switchto.9.
   1247 
   1248 		- implement cpu_idle.  see cpu_idle.9.
   1249 
   1250 		- add a flag argument to cpu_need_resched.
   1251 		  handle RESCHED_IMMED flag, which means "cause a preemption
   1252 		  as soon as possible."  eg. in the case of MULTIPROCESSOR,
   1253 		  send an IPI to the target cpu.
   1254 
   1255 		- "curlwp == NULL" is not a valid check for idle state anymore.
   1256 		  use "(curlwp->l_flag & LW_IDLE) != 0" instead.  curlwp is
   1257 		  almost always non-NULL, with exceptions like early on boot.
   1258 
   1259 		- remove idle pcbs.
   1260 
   1261 		- (if MULTIPROCESSOR) tweak processor trampoline code.
   1262 
   1263 		- (if MULTIPROCESSOR) call mi_cpu_attach when attaching
   1264 		  secondary processors.
   1265 
   1266 		- (if schedhz!=0) call schedclock regardless of the value of
   1267 		  curlwp.
   1268 
   1269 		- of course, update MD users of scheduler/switching API.
   1270 
   1271 Branch:		yamt-km, yamt-km-doc
   1272 Description:	simplify/improve kernel memory management and bootstrap
   1273 Status:		Terminated; merged to -current
   1274 Start Date:	Tue Jan 25 2005
   1275 End Date:	Fri Apr  1 2005
   1276 Base Tag:	yamt-km-base{,2,3,4}, yamt-km-doc-base
   1277 Maintainer:	YAMAMOTO Takashi <yamt (a] NetBSD.org>
   1278 Scope:		yamt-km: src/sys
   1279 		yamt-km-doc: src/share/man/man9/uvm.9
   1280 Notes:		http://mail-index.NetBSD.org/tech-kern/2004/12/25/0005.html
   1281 
   1282 		the followings are per-port status.
   1283 		(account names mean "tested by".)
   1284 
   1285 		works enough to go to multiuser:
   1286 			alpha, i386, xen (yamt@)
   1287 			pc532 (simonb@)
   1288 			alpha, i386, mac68k, macppc, pmax, shark,
   1289 			    sparc, sparc64, sun3, x68k (chs@)
   1290 			cobalt, dreamcast, hp300, news68k, newsmips,
   1291 			    sun3x (tsutsui@)
   1292 			amiga (mhitch@)
   1293 			cats, hp700 (skrll@)
   1294 			xen (bouyer@)
   1295 
   1296 		known to have the same problem as trunk:
   1297 			vax (chs@, stuck while running kvm_mkdb)
   1298 
   1299 		known to have a problem:
   1300 			luna68k (and, if any, other m68k ports which use TTR)
   1301 			needs to be revisited.
   1302 			-> for luna68k, although not tested,
   1303 			   Sysmap has been moved to avoid kva conflict with
   1304 			   I/O ranges.
   1305 
   1306 		buildable:
   1307 			src/sys/arch/acorn26/conf/GENERIC
   1308 			src/sys/arch/acorn32/conf/GENERIC
   1309 			src/sys/arch/algor/conf/P6032
   1310 			src/sys/arch/alpha/conf/GENERIC
   1311 			src/sys/arch/alpha/conf/GENERIC.MP
   1312 			src/sys/arch/amd64/conf/GENERIC
   1313 			src/sys/arch/amd64/conf/GENERIC.MP
   1314 			src/sys/arch/amiga/conf/GENERIC
   1315 			src/sys/arch/arc/conf/GENERIC
   1316 			src/sys/arch/atari/conf/MILAN-PCIIDE
   1317 			src/sys/arch/bebox/conf/GENERIC
   1318 			src/sys/arch/cats/conf/GENERIC
   1319 			src/sys/arch/cesfic/conf/GENERIC
   1320 			src/sys/arch/cobalt/conf/GENERIC
   1321 			src/sys/arch/dreamcast/conf/GENERIC
   1322 			src/sys/arch/evbarm/conf/TS7200
   1323 			src/sys/arch/evbppc/conf/WALNUT
   1324 			src/sys/arch/evbsh3/conf/COMPUTEXEVB
   1325 			src/sys/arch/evbsh5/conf/CAYMAN64
   1326 			src/sys/arch/hp300/conf/GENERIC
   1327 			src/sys/arch/hp700/conf/GENERIC
   1328 			src/sys/arch/hpcarm/conf/JORNADA728
   1329 			src/sys/arch/hpcmips/conf/GENERIC
   1330 			src/sys/arch/hpcsh/conf/GENERIC
   1331 			src/sys/arch/hpcsh/conf/HPW650PA
   1332 			src/sys/arch/i386/conf/GENERIC
   1333 			src/sys/arch/i386/conf/GENERIC.MP
   1334 			src/sys/arch/i386/conf/XEN0
   1335 			src/sys/arch/i386/conf/XENU
   1336 			src/sys/arch/ibmnws/conf/GENERIC
   1337 			src/sys/arch/iyonix/conf/GENERIC
   1338 			src/sys/arch/luna68k/conf/GENERIC
   1339 			src/sys/arch/mac68k/conf/GENERIC
   1340 			src/sys/arch/macppc/conf/GENERIC
   1341 			src/sys/arch/macppc/conf/GENERIC.MP
   1342 			src/sys/arch/mipsco/conf/GENERIC
   1343 			src/sys/arch/mmeye/conf/GENERIC
   1344 			src/sys/arch/mvme68k/conf/GENERIC
   1345 			src/sys/arch/netwinder/conf/GENERIC
   1346 			src/sys/arch/news68k/conf/GENERIC
   1347 			src/sys/arch/newsmips/conf/GENERIC
   1348 			src/sys/arch/next68k/conf/GENERIC
   1349 			src/sys/arch/ofppc/conf/GENERIC
   1350 			src/sys/arch/pc532/conf/GENERIC
   1351 			src/sys/arch/pmax/conf/GENERIC
   1352 			src/sys/arch/prep/conf/GENERIC
   1353 			src/sys/arch/sandpoint/conf/GENERIC
   1354 			src/sys/arch/sbmips/conf/GENERIC
   1355 			src/sys/arch/sgimips/conf/GENERIC32_IP3x
   1356 			src/sys/arch/shark/conf/GENERIC
   1357 			src/sys/arch/sparc/conf/GENERIC
   1358 			src/sys/arch/sparc/conf/GENERIC.MP
   1359 			src/sys/arch/sparc64/conf/GENERIC
   1360 			src/sys/arch/sparc64/conf/GENERIC.MP
   1361 			src/sys/arch/sun2/conf/GENERIC
   1362 			src/sys/arch/sun3/conf/GENERIC
   1363 			src/sys/arch/vax/conf/GENERIC
   1364 			src/sys/arch/vax/conf/GENERIC.MP
   1365 			src/sys/arch/x68k/conf/GENERIC
   1366 
   1367 			src/sys/arch/playstation2/conf/GENERIC
   1368 
   1369 Branch:		yamt-pdpolicy
   1370 Description:	play with page replacement policy
   1371 		- separate page replacement policy from the rest of kernel
   1372 		- implement alternative replacement policy
   1373 		- related read-ahead adjustment?
   1374 Status:		Terminated; merged to -current
   1375 Start Date:	Sun Mar  5 2006
   1376 End Date:	Sat Sep 16 2006
   1377 Base Tag:	yamt-pdpolicy-base9
   1378 Maintainer:	YAMAMOTO Takashi <yamt (a] NetBSD.org>
   1379 Scope:		src/sys  (src/common is tagged but not branched)
   1380 Notes:		
   1381 
   1382 Branch:		yamt-readahead
   1383 Description:	play with file readahead
   1384 Status:		Terminated; merged to -current
   1385 Start Date:	Mon Nov 14 2005
   1386 End Date:	Wed Nov 30 2005
   1387 Base Tag:	yamt-readahead-base3
   1388 Maintainer:	YAMAMOTO Takashi <yamt (a] NetBSD.org>
   1389 Scope:		src/sys
   1390 Notes:		
   1391 
   1392 Branch:		yamt-uio_vmspace
   1393 Description:	uio_lwp/uio_segflg -> uio_vmspace
   1394 Status:		Terminated; merged to -current
   1395 Start Date:	Mon Dec 31 2005
   1396 End Date:	Wed Mar  1 2006
   1397 Base Tag:	yamt-uio_vmspace-base5
   1398 Maintainer:	YAMAMOTO Takashi <yamt (a] NetBSD.org>
   1399 Scope:		src/sys
   1400 Notes:		
   1401 
   1402 Branch:		yamt-splraiseipl
   1403 Description:	finish implementing splraiseipl (and makeiplcookie).
   1404 		http://mail-index.NetBSD.org/tech-kern/2006/07/01/0000.html
   1405 
   1406 		- completes workqueue(9) and netbt.
   1407 		- fix PR/33218.
   1408 
   1409 Status:		Terminated; merged to -current
   1410 Start Date:	Mon Sep 18 2006
   1411 End Date:	Fri Dec 22 2006
   1412 Base Tag:	yamt-splraiseipl-base5
   1413 Maintainer:	YAMAMOTO Takashi <yamt (a] NetBSD.org>
   1414 Scope:		src/sys  (src/common is tagged but not branched)
   1415 Notes:		
   1416 		tested (by who):
   1417 			alpha		(yamt)
   1418 			alpha		(pavel)
   1419 			amd64		(reported privately)
   1420 			cobalt		(tsutsui)
   1421 			ews4800mips	(tsutsui)
   1422 			hp300		(tsutsui)
   1423 			hpcarm		(reported privately)
   1424 			i386		(yamt)
   1425 			macppc		(tsutsui)
   1426 			news68k		(tsutsui)
   1427 			sgimips(IP32)	(tsutsui)
   1428 			sparc(sun4c)	(tsutsui)
   1429 			sun2		(tsutsui)
   1430 			sun3		(tsutsui)
   1431 			sun3x		(tsutsui)
   1432 			xen		(yamt)
   1433 
   1434 		compile-tested:
   1435 			acorn26
   1436 			acorn32
   1437 			algor
   1438 			amiga
   1439 			arc
   1440 			atari
   1441 			bebox
   1442 			cats
   1443 			cesfic
   1444 			dreamcast
   1445 			evbarm
   1446 			evbmips
   1447 			evbppc(marvell)
   1448 			evbppc(ibm4xx)
   1449 			evbsh3
   1450 			hp700
   1451 			hpcmips
   1452 			hpcsh
   1453 			ia64
   1454 			ibmnws
   1455 			iyonix
   1456 			landisk
   1457 			luna68k
   1458 			mac68k
   1459 			mmeye
   1460 			mvme68k
   1461 			mvmeppc
   1462 			mipsco
   1463 			netwinder
   1464 			newsmips
   1465 			next68k
   1466 			ofppc
   1467 			pc532
   1468 			pmax
   1469 			pmppc
   1470 			prep
   1471 			sandpoint
   1472 			sbmips
   1473 			shark
   1474 			sparc
   1475 			sparc64
   1476 			vax
   1477 			x68k
   1478 			zaurus
   1479 
   1480 		not tested:
   1481 			pdp10 (i don't know how to build)
   1482 			sh5 (not buildable with an unrelated problem.)
   1483 
   1484     compile  CAYMAN64/netbsd32_sa.o
   1485     cc1: warnings being treated as errors
   1486     /exports/nbsd/src/sys/compat/netbsd32/netbsd32_sa.c: In function 'netbsd32_sa_ucsp':
   1487     /exports/nbsd/src/sys/compat/netbsd32/netbsd32_sa.c:126: warning: implicit declaration of function '_UC_MACHINE32_SP'
   1488     --- netbsd32_sa.o ---
   1489     *** [netbsd32_sa.o] Error code 1
   1490     1 error
   1491 
   1492 		notyet:
   1493 			amigappc
   1494 			playstation2
   1495 
   1496 Branch:		yamt-vop
   1497 Description:	remove several VOPs
   1498 Status:		Terminated; merged to -current
   1499 Start Date:	Wed Oct 19 2005
   1500 End Date:	Wed Nov  2 2005
   1501 Base Tag:	yamt-vop-base3
   1502 Maintainer:	YAMAMOTO Takashi <yamt (a] NetBSD.org>
   1503 Scope:		src/sys
   1504 Notes:		http://mail-index.NetBSD.org/tech-kern/2005/09/27/0000.html
   1505 
   1506 Branch:		yamt-x86pmap
   1507 Description:	merge i386 and amd64 pmap
   1508 Status:		Terminated; merged to -current
   1509 Start Date:	Mon Sep 24 2007
   1510 End Date:	Fri Oct 19 2007
   1511 Base Tag:	yamt-x86pmap-base4
   1512 Maintainer:	YAMAMOTO Takashi <yamt (a] NetBSD.org>
   1513 Scope:		src/sys  (src/common is tagged but not branched)
   1514 Notes:		
   1515 
   1516 Branch:		gdamore-uart
   1517 Description:	Add register table support to com driver.
   1518 Status:		Active
   1519 Start Date:	14 June 2006
   1520 End Date:	13 July 2006
   1521 Base Tag:	gdamore-uart-base
   1522 Maintainer:	Garrett D'Amore <gdamore (a] NetBSD.org>
   1523 Scope:		kernel
   1524 Notes:		Results in consolidation of Alchemy (mips/dev/alchemy/aucom.c)
   1525 		com support, and also removes a nasty hack from Atheros com.
   1526 
   1527 ########################################################################
   1528 # Other:
   1529 ########################################################################
   1530 
   1531 Branch:		magnum
   1532 Description:	?
   1533 Status:		?
   1534 Start Date:
   1535 End Date:
   1536 Base Tag:	magnum-base
   1537 Maintainer:	?
   1538 Scope:		kernel
   1539 Notes:
   1540 
   1541