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