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