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