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