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