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