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