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