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