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