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