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