BRANCHES revision 1.271
1#	$NetBSD: BRANCHES,v 1.271 2008/12/11 02:25:26 snj 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:         haad-dm
326Description:    Add support for LVM to NetBSD
327Status:         Active
328Start Date:     7 July 2008
329End Date:
330Base Tag:       haad-dm-base
331Maintainer:     Adam Hamsik <haad@NetBSD.org>
332Scope:          kernel
333Notes:          LVM support is based on Linux lvm2tools, 
334                libdevmapper library and NetBSD device-mapper
335                driver. 
336
337Branch:		hpcarm-cleanup
338Description:	Fix build problems for hpcarm
339Status:		Active
340Start Date:	31 July 2007
341End Date:
342Base Tag:	hpcarm-cleanup-base
343Maintainer:	Robert Swindells <rjs@NetBSD.org>
344Scope:		kernel
345Notes:		Modify SA11x0 interrupt code to match PXA2x0 equivalent.
346
347Branch:		itohy-usb1
348Description:	USB stack overhaul, mostly DMA related
349Status:		Active
350Start Date:	22 May 2007
351End Date:
352Base Tag:	itohy-usb1-base
353Maintainer:	ITOH Yasufumi <itohy@NetBSD.org>
354Scope:		kernel
355Notes:		To check out the kernel source tree,
356		1. check out checkout script
357			cvs checkout -ritohy-usb1 src/sys/dev/usb/filelist
358		2. update files in the branch
359			sh -e src/sys/dev/usb/filelist
360
361Branch:		kame
362Description:	KAME Project
363Status:		Dormant
364Start Date:	28 Jun 1999
365End Date:
366Base Tag:
367Maintainer:	Jun-ichiro itojun Hagino <itojun@NetBSD.org>
368Scope:		kernel
369Notes:		http://www.kame.net
370		Used for "reference" purposes for early part of KAME
371		integration effort.  The branch is not actively used, as I
372		(itojun) use patch(1) and diff(1) for the KAME syncs.
373
374Branch:		keiichi-mipv6
375Description:	Developing Mobile IPv6 function
376Status:		Active
377Start Date:	21 Feb 2008
378End Date:	
379Base Tag:	keiichi-mipv6-base
380Maintainer:	Keiichi Shima <keiichi@netbsd.org>
381Scope:		sys, sbin, libc/net, distrib/sets, share/man/
382Notes:		http://www.mobileip.jp/
383		Work on developing Mobile IPv6/NEMO BS functions and
384		related MIPv6 based advanced functions on NetBSD.
385		Please consult keiichi for joining this activity.
386
387Branch:		kent-audio2
388Description:	In-kernel audio mixer
389Status:		Active
390Start Date:	Sun Jan 16 2005
391End Date:	
392Base Tag:	kent-audio2-base
393Maintainer:	TAMURA Kent <kent@NetBSD.org>
394Scope:		kernel (audio device drivers)
395Notes:		http://mail-index.netbsd.org/tech-kern/2004/12/03/0007.html
396		Please consult with the maintainer before committing
397		to this branch.
398		This branch is not expected to be compilable yet.
399
400Branch:		matt-timespec
401Description:	Convert the kernel to struct timespec as its primary time
402		storage mechanism.
403Status:		Inactive
404Start Date:	2005-02-19
405End Date:
406Base Tag:	
407Maintainer:	Matt Thomas <matt@NetBSD.org>
408Scope:		kernel
409Notes:	
410
411Branch:		matt-mips64
412Description:	Rototill the mips code to support LP64 mips and N32/N64 ABIs
413Status:		Active
414Start Date:	2007-07-17
415End Date:
416Base Tag:	matt-mips64-base
417Maintainer:	Matt Thomas <matt@NetBSD.org>
418Scope:		kernel & userland
419Notes:	
420
421Branch:		mjf-devfs2
422Description:	device file system supporting dynamic device nodes
423Status:		Active
424Start Date:	21 February 2008
425End Date:
426Base Tag:	mjf-devfs2-base
427Maintainer:	Matt Fleming <mjf@NetBSD.org>
428Scope:		kernel and userland
429Notes:		This branch will move away from the static device nodes that
430		are created with MAKEDEV scripts and allow nodes to be created
431		and removed dynamically as devices are attached and detached
432		from the machine.
433
434Branch:		mjf-ufs-trans
435Description:	file system transactions for ufs
436Status:		Active
437Start Date:	12 March 2007
438End Date:
439Base Tag:	mjf-ufs-trans-base
440Maintainer:	Matt Fleming <mjf@NetBSD.org>
441Scope:		kernel
442Notes:
443
444Branch:		nick-hppapmap
445Description:	Update of hppa pmap with OpenBSD code.
446Status:		Active
447Start Date:	27 October 2008
448End Date:
449Base Tag:	nick-hppapmap-base
450Maintainer:	Nick Hudson <skrll@NetBSD.org>
451Scope:		sys/
452Notes:		Port of the OpenBSD pmap including support for PA2.0 CPUs in
453		32-bit mode.
454
455Branch:		nick-net80211-sync
456Description:	sync of net80211 with FreeBSD
457Status:		Active
458Start Date:	21 February 2008
459End Date:
460Base Tag:	nick-net80211-base
461Maintainer:	Nick Hudson <skrll@NetBSD.org>
462Scope:		sys/
463Notes:		Sync'ing net80211 with FreeBSD and drivers update. The branch is
464		currently only the kernel, but will likely extend to some userland
465		areas.
466
467Branch:	  	pkgviews
468Description:  	package views, enabling multiple conflicting packages to co-exist
469Status:		Active
470Start Date:	22 July 2002
471End Date:
472Base Tag:	pkgviews
473Maintainer:	Alistair Crooks <agc@NetBSD.org>
474Scope:		pkgsrc, basesrc/usr.sbin/pkg_install
475Notes:		A more flexible infrastructure for third-party packages by
476		allowing multiple conflicting packages and versions to co-exist
477		within the same tree
478
479Branch:		rpaulo-netinet-merge-pcb
480Description:	merge in6pcb with inpcb
481Status:		Dormant
482Start Date:	Wed Feb 01 2006
483End Date:	
484Base Tag:	rpaulo-netinet-merge-pcb-base
485Maintainer:	Rui Paulo <rpaulo@NetBSD.org>
486Scope:		src/sys
487Notes:		No longer active due to the lack of time. If you plan to
488		continue this branch, sys/netinet/in_pcb.h already contains
489		the proposed structure layout (which was roughly discussed
490		in the tech-net mailing list).
491		I also defined INP_*() macros to mimicate FreeBSD's inpcb
492		locking style, but currently they do nothing and are not
493		yet called at the correct places (needs discussion about
494		kernel fine-grained locking).
495		To continue this branch, one needs to read all the relevant
496		inpcb/in6pcb source files and change the function names,
497		structure names, structure fields according to the new
498		layout (in6pcb is gone).
499		Don't try to build a kernel from this branch because it won't
500		work. The missing pieces required to do a complete build
501		were not committed because they were incomplete and generated
502		panics.
503		You shouldn't need to worry about KAME syncs because
504		they did most of them by now.
505		After the work is done, you are required to test the branch
506		(before the merge to -current) with an interop IPv6 test.
507		More info at: http://www.tahi.org/
508
509Branch:		rtr-xorg-branch
510Description:	xorg & static build alterations to src/x11
511Status:		Active
512Start Date:	Nov 15 2004
513End Date:	
514Base tag:	rtr-xorg-branch-base
515Maintainer:	Tyler R. Retzlaff <rtr@NetBSD.org>
516Scope:		x11
517		distrib/sets/lists
518		share/mk/bsd.x11.mk
519		share/mk/bsd.own.mk
520		etc/mtree/NetBSD.dist
521Notes:		Requires parts of xsrc/xfree (HEAD)
522		xsrc/local, xsrc/xfree/xc/programs/Xserver/hw/netbsd
523		Requires xorg (XORG-6_8_1)
524
525Branch:  	wrstuden-fixsa
526Description:	Fix a number of issues present with Scheduler Activations.
527Status: 	Active
528Start Date:	15 May 2007
529End Date:
530Base Tag:	wrstuden-fixsa-base
531Maintainer:	Bill Stouder-Studenmund <wrstuden@NetBSD.org>
532Scope:		src, though all the interesting stuff is in the kernel
533		or lib/libpthread or maybe gdb.
534Notes:		This branch is based off of the netbsd-4 branch!
535		This branch is intended to stage improvements for the
536		Scheduler Activations system for NetBSD 4. Improvements
537		include not allocating memory while preparing to tsleep(),
538		reducing inappropriate upcall delivery (hopefully also
539		eliminating the need to mlock stacks), and being
540		able to pthread_kill() running threads. At this date,
541		most goals have been achieved. This branch also includes
542		fixes to gdb to support working with threaded apps.
543
544Branch:  	wrstuden-revivesa
545Description:	Fix a number of issues present with Scheduler Activations.
546Status: 	Active
547Start Date:	10 May 2008
548End Date:
549Base Tag:	wrstuden-revivesa-base
550Maintainer:	Bill Stouder-Studenmund <wrstuden@NetBSD.org>
551Scope:		src, though all the interesting stuff is in the kernel
552Notes:		This branch is intended to revive Scheduler Activations
553		in -current in the 5.0 era. This branch's main goal is
554		to re-add syscall compatability so that SA-based libpthread
555		programs can run with a -current kernel. 1:1 threading will
556		remain the NetBSD-default. This branch will re-add necessary
557		upcall support, and will also serve as a chance to clean
558		out cruft that had accumulated in the implementation over
559		time.
560
561Branch:		yamt-kmem
562Description:	
563		- separate kernel va allocation from kernel fault handling.
564		- make kmem_alloc interrupt-safe.
565Status:		Active
566Start Date:	Sun Dec  9 2007
567End Date:	
568Base Tag:	yamt-kmem-base3
569Maintainer:	YAMAMOTO Takashi <yamt@NetBSD.org>
570Scope:		src/sys  (src/common is tagged but not branched)
571Notes:		
572		todo:
573		- investigate if PMAP_PREFER equivalent can be done
574		  with vmem_xalloc.  find a tester with hardware for it.
575		- g/c replaced code, including kmapent and malloc.
576		- consider to remove other submaps.  eg. mb_map
577
578Branch:		yamt-nfs-mp
579Description:	make nfs client mp-safe
580Status:		Active
581Start Date:	Sun Apr 27 2008
582End Date:	
583Base Tag:	yamt-nfs-mp-base2
584Maintainer:	YAMAMOTO Takashi <yamt@NetBSD.org>
585Scope:		src/sys  (src/common is tagged but not branched)
586Notes:		
587
588Branch:		reinoud-bufcleanup
589Description:	implement and evaluate struct buf usage cleanup strategies.
590		Ideas currently in mind (preference for b):
591		a)
592			1. use of bio_ops per buffer.
593			2. allow chaining/overloading of functions in bio_ops
594			   and provide some private context.
595			3. extend the bio_ops with commonly used functionality
596			   like pending action counting, custom context passing,
597			   last minute processing of buffer data, buffer cache
598			   etc.
599			4. investigate the use of the kcont()
600			   continuation-passing framework for async io
601			   completion notification for bufs
602			...
603		b)
604			1. all sequencing use of B_CALL replaced by
605			   device-threads, if possible generic code around BUFQ
606			2. possibly use kcont() for async IO finished signaling
607			3. counter of pending and queued actions requestable
608			   by IOCTL interface?
609			4. implement `last minute buffer fixup' calls and maybe
610			   even finished I/O calls as vnode operations
611			...
612Status:		Active
613Start Date:	Thu Mar 15 2007
614End Date:
615Base Tag:	reinoud-bufcleanup-base
616Maintainer:	Reinoud Zandijk <reinoud@NetBSD.org>
617Scope:		src/sys and src/common
618Notes:		Used as experiment sandbox and if successful hopefully one day
619		to be integrated.
620
621Branch:		thorpej-atomic
622Description:	Implementation of an atomic memory operations API modeled
623		after the one in Solaris 10.
624Status:		Active
625Start Date:	Apr 11 2007
626End Date:
627Base tag:	thorpej-atomic-base
628Maintainer:	Jason Thorpe <thorpej@netbsd.org>
629Scope:		src/common
630		src/sys
631Notes:		Base atomic primitives need to be implemented for
632		all of the supported architectures:
633
634		alpha		DONE
635		arm		DONE
636		hppa
637		i386		DONE
638		ia64
639		m68k		DONE (except for 68010)
640		mips
641		ns32k
642		powerpc		DONE except for membar_*()
643		powerpc64	DONE except for membar_*()
644		sh3
645		sparc		DONE except for membar_*()
646		sparc64		DONE except for membar_*()
647		vax
648		x86_64		DONE
649
650		Tested:
651
652		alpha		NO
653		arm		NO
654		hppa		NO
655		i386		NO
656		ia64		NO
657		m68k		NO
658		mips		NO
659		ns32k		NO
660		powerpc		NO
661		powerpc64	NO
662		sh3		NO
663		sparc		NO
664		sparc64		NO
665		vax		NO
666		x86_64		NO
667
668		TODO:
669
670		all		- Need to replace mb_*() with membar_*().
671
672				- Audit MUTEX_CAS() and RWLOCK_CAS() uses
673				  to see of membar_enter() is required here.
674
675				- Talk to ad@ -- figure out of non-atomic
676				  mutex / rwlock release is actually safe.
677
678		arm		- Consider using a RAS technique like
679				  MIPS uses for _lock_cas() and the mutex
680				  stubs.  Possibly do more than one atomic
681				  op as a RAS.  Possibly implement mutex
682				  stubs using the technique.
683
684		m68k		- Need to do 68010 support.
685		
686		i386		- Need to change when x86_patch() is called
687				  so we can test ncpus.
688
689		powerpc		- Figure out if we need barriers in the
690				  atomic ops themselves (hopefully not!)
691
692		x86_64		- Need to change when x86_patch() is called
693				  so we can test ncpus.
694
695########################################################################
696# Individual developers' branches (Terminated):
697########################################################################
698
699Branch:		bouyer-scsipi
700Description:	Integration of atapi support
701Status:		Terminated
702Start Date:
703End Date:
704Base Tag:
705Maintainer:	Manuel Bouyer <bouyer@NetBSD.org>
706Scope:		kernel
707Notes:		Superseded by thorpej_scsipi
708
709Branch:		bouyer-xen2
710Description:	update xen port to xen 2.0, with support for domain0 operations
711Status:		Terminated
712Start Date:	Dec 13 2004
713End Date:	Mar 10 2005
714Base Tag:	netbsd-2-base
715Maintainer:	Manuel Bouyer <bouyer@NetBSD.org>
716Scope:		src/sys/arch/xen
717Notes:
718
719Branch:		bouyer-xenamd64
720Description:	add amd64 support to Xen and rework some parts to share more code between Xen and others
721Status:		Terminated
722Start Date:	18 Oct 2007
723End Date:	22 Nov 2007
724Base Tag:	bouyer-xenamd64-base
725Maintainer:	Manuel Bouyer <bouyer@NetBSD.org>
726Scope:		kernel
727Notes:		
728
729Branch:		bouyer-xeni386
730Description:	switch xen on i386 to the x86 pmap and the xen/x86/x86_xpmap.c bootstrap, and add i386 PAE support
731Status:		Terminated
732Start Date:	10 Dec 2007
733End Date:	23 Jan 2008
734Base Tag:	bouyer-xeni386-base
735Maintainer:	Manuel Bouyer <bouyer@NetBSD.org>
736Scope:		kernel
737Notes:		
738
739Branch: 	chap-midi
740Description:	Renovation of MIDI support
741Status: 	Terminated; merged to -current
742Start Date:	19 May 2006
743End Date:	30 Jun 2006
744Base Tag:	chap-midi-base
745Maintainer:	Chapman Flack <chap@NetBSD.org>
746Scope:		sys, share/man, usr.bin
747Notes:
748
749Branch:		chs-ubc
750Description:	Unified Buffer Cache
751Status:		Terminated
752Start Date:
753End Date:
754Base Tag:	chs-ubc-base
755Maintainer:	Chuck Silvers <chs@NetBSD.org>
756Scope:		kernel
757Notes:
758
759Branch:		chs-ubc2
760Description:	 Unified Buffer Cache
761Status:		Terminated; merged to -current
762Start Date:
763End Date:
764Base Tag:	chs-ubc2-base, chs-ubc2-newbase
765Maintainer:	Chuck Silvers <chs@NetBSD.org>
766Scope:		kernel
767Notes:
768
769Branch:		cjs-build-against-obj-dir
770Description:	?
771Status:		?
772Start Date:
773End Date:
774Base Tag:
775Maintainer:	Curt Sampson <cjs@NetBSD.org>
776Scope:		Entire tree.
777Notes:
778
779Branch:		eeh-paddr_t
780Description:	use separate types for virtual vs. physical addresses
781Status:		Terminated; merged to -current
782Start Date:
783End Date:
784Base Tag:	eeh-paddr_t-base
785Maintainer:	Eduardo Horvath <eeh@NetBSD.org>
786Scope:		kernel
787Notes:		This is needed to support 32-bit kernels on sparc64.
788
789Branch:		elad-kernelauth
790Description:	Native NetBSD implementation of Apple's kernel authorization
791		based on TN2127. This is a "clean-room" implementation to
792		avoid any licensing issues.
793Status:		Terminated; merged to -current
794Start Date:	Tue Mar	 7 2006
795End Date:	Mon May 15 2006
796Base Tag:	elad-kernelauth-base
797Maintainer:	Elad Efrat <elad@NetBSD.org>
798Scope:		src/sys, src/share/man/man9/Makefile,
799		src/share/man/man9/kauth.h, src/distrib/sets/lists/comp/mi
800Notes:
801
802Branch:		fvdl-softdep
803Description:	FFS soft dependencies
804Status:		Terminated; merged to -current
805Start Date:
806End Date:
807Base Tag:	fvdl-softdep-base
808Maintainer:	Frank van der Linden <fvdl@NetBSD.org>
809Scope:		kernel
810Notes:
811
812Branch:		gehenna-devsw
813Description:	auto-generation of devsw table
814Status:		Terminated
815Start Date:	16 May 2002
816End Date:	6 Sep 2002
817Base Tag:	gehenna-devsw-base
818Maintainer:	MAEKAWA Masahide <gehenna@NetBSD.org>
819Scope:		syssrc
820Notes:		The goal is to get rid of the existing device switch tables in
821		port-dependent conf.c and to generate them dynamically by
822		config(8).
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