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