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