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