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