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