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