BRANCHES revision 1.166
1#	$NetBSD: BRANCHES,v 1.166 2007/03/24 01:24:01 rmind 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:	?
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:		Active
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:		Active
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:		Active
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:		Active
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:		Active
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
207########################################################################
208# Individual developers' branches (Active/Dormant):
209########################################################################
210
211Branch:		ad-audiomp
212Description:	Add MP locking to the audio drivers
213Status:		Active
214Start Date:	28 Febuary 2007
215End Date:
216Base Tag:	ad-audiomp-base
217Maintainer:	Andrew Doran <ad@NetBSD.org>
218Scope:		kernel
219Notes:		Making the audio drivers MP safe is necessary before efforts
220		can be made to make the VM system MP safe. About 1/2 of the
221		drivers are converted, the remaining 1/2 need more changes.
222
223		As of import this is snapshot of work in progress and so
224		may not compile; in particular the midi changes are very
225		much "in progress". The audio component has been tested
226		and verified to work with emuxki and auvia. There may
227		be a locking issue in the ac97 code at boot.
228
229		The are two locks per device instance, an ISR lock and
230		a character device lock. The ISR lock replaces calls to
231		splaudio()/splx(), and will be held across calls to device
232		methods which were called at splaudio() before (e.g.
233		trigger_output). The character device lock is held across
234		calls to nearly all of the methods, excluding some only
235		used for initializtion, e.g. get_locks. This needs to be
236		documented at merge time.
237
238		To test on a multi way x86 system, search for "mpsafe" in
239		x86/x86/intr.c and change IPL_SCHED to IPL_AUDIO. Run a job
240		that will acquire the ISR lock (depends on the hardware, but
241		"while true; do mixerctl -a > /dev/null; done" may suffice).
242		Play audio, run lockstat and verify that that there is
243		contention on the ISR lock.
244
245Branch:		bjh21-hydra
246Description:	Simtec Hydra support and ARM SMP in general
247Status:		Dormant
248Start Date:	18 Oct 2002
249End Date:
250Base Tag:	bjh21-hydra-base
251Maintainer:	Ben Harris <bjh21@NetBSD.org>
252Scope:		sys/arch/arm sys/arch/acorn32
253Notes:		This code was on a branch because it involves changes to
254		cpuswitch.S which would otherwise make merging the
255		nathanw_sa branch difficult.
256
257Branch:		gmcgarry_ctxsw
258Description:	Separate scheduler from context-switch code
259Status:		Dormant
260Start Date:	18 December 2002
261End Date:
262Base Tag:	gmcgarry_ctxsw_base
263Maintainer:	Gregory McGarry <gmcgarry@NetBSD.org>
264Scope:		kernel
265Notes:		Removing knowledge of the schedular and its run queues
266		from the machine-dependent context switch code is the
267		first step in cleaning up the scheduler.  It is necessary
268		for the newlock branch, making the scheduler SMP friendly,
269		adding real-time scheduler extensions, and reducing the
270		number of code paths for LWP and proc switching.
271
272Branch:		gmcgarry_ucred
273Description:	Integrate and encapsulate user credentials
274Status:		Dormant
275Start Date:	18 December 2002
276End Date:
277Base Tag:	gmcgarry_ucred_base
278Maintainer:	Gregory McGarry <gmcgarry@NetBSD.org>
279Scope:		kernel
280Notes:		merge pcred and ucred and poolify
281
282Branch:		kame
283Description:	KAME Project
284Status:		Dormant
285Start Date:	28 Jun 1999
286End Date:
287Base Tag:
288Maintainer:	Jun-ichiro itojun Hagino <itojun@NetBSD.org>
289Scope:		kernel
290Notes:		http://www.kame.net
291		Used for "reference" purposes for early part of KAME
292		integration effort.  The branch is not actively used, as I
293		(itojun) use patch(1) and diff(1) for the KAME syncs.
294
295Branch:		kent-audio2
296Description:	In-kernel audio mixer
297Status:		Active
298Start Date:	Sun Jan 16 2005
299End Date:	
300Base Tag:	kent-audio2-base
301Maintainer:	TAMURA Kent <kent@NetBSD.org>
302Scope:		kernel (audio device drivers)
303Notes:		http://mail-index.netbsd.org/tech-kern/2004/12/03/0007.html
304		Please consult with the maintainer before committing
305		to this branch.
306		This branch is not expected to be compilable yet.
307
308Branch:		matt-timespec
309Description:	Convert the kernel to struct timespec as its primary time
310		storage mechanism.
311Status:		Active
312Start Date:	2005-02-19
313End Date:
314Base Tag:	
315Maintainer:	Matt Thomas <matt@NetBSD.org>
316Scope:		kernel
317Notes:	
318
319Branch:		newlock
320Description:	New locking primitives, based on Solaris's
321Status:		Terminated
322Start Date:	March 9, 2002
323End Date:	Febuary 12, 2007
324Base Tag:	newlock-base
325Maintainer:	Jason R. Thorpe <thorpej@NetBSD.org>
326Scope:		Kernel
327Notes:		The goal is to replace the existing lockmgr() and
328		simple_lock() based locking mechanisms with the
329		primitives found in Solaris: mutexes and rwlocks.
330		Superseeded by the newlock2 branch.
331
332Branch:		newlock2
333Description:	New locking primitives, based on Solaris's
334Status:		Terminated
335Start Date:	September 9, 2006
336End Date:	Febuary 12, 2007
337Base Tag:	newlock2-base
338Maintainer:	Andrew Doran <ad@NetBSD.org>
339Scope:		Kernel
340Notes:		As per the newlock branch, however given the amount of time
341		the original branch has lain dormant, a new one has been
342		created.  Goals:
343		- Implement new locking primitives on most-used ports.
344		- Minor locking improvements.
345		- Remove spinlockmgr().
346
347Branch:	  	pkgviews
348Description:  	package views, enabling multiple conflicting packages to co-exist
349Status:		Active
350Start Date:	22 July 2002
351End Date:
352Base Tag:	pkgviews
353Maintainer:	Alistair Crooks <agc@NetBSD.org>
354Scope:		pkgsrc, basesrc/usr.sbin/pkg_install
355Notes:		A more flexible infrastructure for third-party packages by
356		allowing multiple conflicting packages and versions to co-exist
357		within the same tree
358
359Branch:		rpaulo-netinet-merge-pcb
360Description:	merge in6pcb with inpcb
361Status:		Dormant
362Start Date:	Wed Feb 01 2006
363End Date:	
364Base Tag:	rpaulo-netinet-merge-pcb-base
365Maintainer:	Rui Paulo <rpaulo@NetBSD.org>
366Scope:		src/sys
367Notes:		No longer active due to the lack of time. If you plan to
368		continue this branch, sys/netinet/in_pcb.h already contains
369		the proposed structure layout (which was roughly discussed
370		in the tech-net mailing list).
371		I also defined INP_*() macros to mimicate FreeBSD's inpcb
372		locking style, but currently they do nothing and are not
373		yet called at the correct places (needs discussion about
374		kernel fine-grained locking).
375		To continue this branch, one needs to read all the relevant
376		inpcb/in6pcb source files and change the function names,
377		structure names, structure fileds according to the new
378		layout (in6pcb is gone).
379		Don't try to build a kernel from this branch because it won't
380		work. The missing pieces required to do a complete build
381		were not committed because they were incomplete and generated
382		panics.
383		You shouldn't need to worry about KAME syncs because
384		they did most of them by now.
385		After the work is done, you are required to test the branch
386		(before the merge to -current) with an interop IPv6 test.
387		More info at: http://www.tahi.org/
388
389Branch:		rtr-xorg-branch
390Description:	xorg & static build alterations to src/x11
391Status:		Active
392Start Date:	Nov 15 2004
393End Date:	
394Base tag:	rtr-xorg-branch-base
395Maintainer:	Tyler R. Retzlaff <rtr@NetBSD.org>
396Scope:		x11
397		distrib/sets/lists
398		share/mk/bsd.x11.mk
399		share/mk/bsd.own.mk
400		etc/mtree/NetBSD.dist
401Notes:		Requires parts of xsrc/xfree (HEAD)
402		xsrc/local, xsrc/xfree/xc/programs/Xserver/hw/netbsd
403		Requires xorg (XORG-6_8_1)
404
405Branch:		thorpej-devvp
406Description:	replace dev_t with struct vnode * in devsw entry points
407Status:		Active
408Start Date:	Sep 6 2001
409End Date:
410Base Tag:	thorpej-devvp-base
411Maintainer:	Jason Thorpe <thorpej@NetBSD.org>
412Scope:		syssrc
413Notes:		Kernels built from this branch are not expected
414		to function correctly at this time.
415
416		Ports known to compile on this branch:
417			alpha
418			i386
419
420Branch:		vmlocking
421Description:	Make memory allocators and trap handling MP safe
422Status:		Active
423Start Date:	13 March 2007
424End Date:
425Base Tag:	vmlocking-base
426Maintainer:	Andrew Doran <ad@NetBSD.org>
427Scope:		kernel
428Notes:
429		- Replace all simplelocks with mutexes
430		- Remove spinlockmgr
431		- Make memory allocators MP safe
432		- Make trap handling MP safe: push kernel lock acquire
433		  back into pager ops.
434
435		Only i386 is currently update.  Most per architecture
436		changes need to be made in the pmap module.  LFS is not
437		currently stable due interaction between the pagedaemon (?)
438		and the HOLDRELE() in lfs_segment.c.  It may trash your
439		filesystem..
440
441		Most of the locks replaced are now sleep/adaptive locks or
442		spin locks at IPL_VM.  Assuming audio interrupt handlers
443		are made MP safe there are far fewer potential deadlocks
444		against the kernel lock.
445
446		v_interlock becomes an adaptive mutex so now acquring
447		it can potentially block, similarly for other locks
448		that were before simplelocks.  This needs to be audited
449		carefully.
450
451		Use vnodes in general needs to be audited, as vnodes can
452		now be inspected without the kernel lock held.
453
454		Acquiring locks in the pmap module can now block, meaning
455		that the current pmap, cpu or lazy pmap status can change
456		out from underneath the requestor.  This also needs to be
457		audited.
458
459		Currently, i386 has the necessary modifications, and has
460		trap handling and a few calls to allocators out from under
461		the kernel lock.  There are still problems that need to be
462		debugged.
463
464		Need to check that whenever a lock is initialized, it is
465		also destroyed.
466
467		Lots of testing required.
468
469Branch:		yamt-idlelwp
470Description:	idle lwp, and some changes depending on it.
471
472		1. separate context switching and thread scheduling.
473		   (cf. gmcgarry_ctxsw)
474		2. implement idle lwp.
475		3. clean up related MD/MI interfaces.
476		4. implement interrupt LWPs.
477		5. make scheduler(s) modular.
478
479Status:		Active
480Start Date:	Fri Feb 17 2007
481End Date:	
482Base Tag:	yamt-idlelwp-base3
483Maintainer:	YAMAMOTO Takashi <yamt@NetBSD.org>
484Scope:		src/sys  (src/common is tagged but not branched)
485Notes:		
486		Status of ports (minimal goals):
487		  alpha				[ Done ]
488		  i386				[ Done, tested ]
489		  amd64				[ Done ]
490		  mips				[ WIP ]
491		  sparc				[ Not yet ]
492		  sparc64			[ Not yet ]
493		  arm				[ Not yet ]
494		  macppc/powerpc	[ Not yet ]
495		  hppa				[ WIP ]
496
497		How to adapt a port?
498
499		- unify cpu_switch, cpu_exit, cpu_switchto into
500		  a single cpu_switchto.  see cpu_switchto.9.
501
502		- implement cpu_idle.  see cpu_idle.9.
503
504		- add a flag argument to cpu_need_resched.
505		  handle RESCHED_IMMED flag, which means "cause a preemption
506		  as soon as possible."  eg. in the case of MULTIPROCESSOR,
507		  send an IPI to the target cpu.
508
509		- "curlwp == NULL" is not a valid check for idle state anymore.
510		  use "(curlwp->l_flag & LW_IDLE) != 0" instead.  curlwp is
511		  almost always non-NULL, with exceptions like early on boot.
512
513		- remove idle pcbs.
514
515		- (if MULTIPROCESSOR) allocate idle lwps for non-primary
516		  processors by calling create_idle_lwp.  tweak processor
517		  trampoline code.
518
519		- (if schedhz!=0) call schedclock regardless of the value of
520		  curlwp.
521
522		- of course, update MD users of scheduler/switching API.
523
524Branch:		yamt-lazymbuf
525Description:	implement and evaluate lazy mapping of mbuf external data pages
526		it's intended as the first step of larger changes.
527			1. support operations (esp. bus_dma load) on
528			   unmapped mbuf.
529			2. unify mbuf and buf.
530			   (or, at least some parts of them)
531			3. then it should be trivial to implement
532			   i/o coalescing, etc.
533Status:		Active
534Start Date:	Wed Jul  6 2005
535End Date:	
536Base Tag:	yamt-lazymbuf-base4
537Maintainer:	YAMAMOTO Takashi <yamt@NetBSD.org>
538Scope:		src/sys  (src/common is tagged but not branched)
539Notes:		
540
541Branch:		reinoud-bufcleanup
542Description:	implement and evaluate struct buf usage cleanup strategies.
543		Ideas currently in mind (preference for b):
544		a)
545			1. use of bio_ops per buffer.
546			2. allow chaining/overloading of functions in bio_ops
547			   and provide some private context.
548			3. extend the bio_ops with commenly used functionality
549			   like pending action counting, custom context passing,
550			   last minute processing of buffer data, buffer cache
551			   etc.
552			4. investigate the use of the kcont()
553			   continuation-passing framework for async io
554			   completion notification for bufs
555			...
556		b)
557			1. all sequencing use of B_CALL replaced by
558			   device-threads, if possible generic code around BUFQ
559			2. possibly use kcont() for async IO finished signalling
560			3. counter of pending and queued actions requestable
561			   by IOCTL interface?
562			4. implement `last minute buffer fixup' calls and maybe
563			   even finished I/O calls as vnode operations
564			...
565Status:		Active
566Start Date:	Thu Mar 15 2007
567End Date:
568Base Tag:	reinoud-bufcleanup-base
569Maintainer:	Reinoud Zandijk <reinoud@NetBSD.org>
570Scope:		src/sys and src/common
571Notes:		Used as expiriment sandbox and if successful hopefully one day
572		to be intergrated.
573
574
575########################################################################
576# Individual developers' branches (Terminated):
577########################################################################
578
579Branch:		bouyer-scsipi
580Description:	Integration of atapi support
581Status:		Terminated
582Start Date:
583End Date:
584Base Tag:
585Maintainer:	Manuel Bouyer <bouyer@NetBSD.org>
586Scope:		kernel
587Notes:		Superseded by thorpej_scsipi
588
589Branch:		bouyer-xen2
590Description:	update xen port to xen 2.0, with support for domain0 operations
591Status:		Terminated
592Start Date:	Dec 13 2004
593End Date:	Mar 10 2005
594Base Tag:	netbsd-2-base
595Maintainer:	Manuel Bouyer <bouyer@NetBSD.org>
596Scope:		src/sys/arch/xen
597Notes:
598
599Branch: 	chap-midi
600Description:	Renovation of MIDI support
601Status: 	Terminated; merged to -current
602Start Date:	19 May 2006
603End Date:	30 Jun 2006
604Base Tag:	chap-midi-base
605Maintainer:	Chapman Flack <chap@NetBSD.org>
606Scope:		sys, share/man, usr.bin
607Notes:
608
609Branch:		chs-ubc
610Description:	Unified Buffer Cache
611Status:		Terminated
612Start Date:
613End Date:
614Base Tag:	chs-ubc-base
615Maintainer:	Chuck Silvers <chs@NetBSD.org>
616Scope:		kernel
617Notes:
618
619Branch:		chs-ubc2
620Description:	 Unified Buffer Cache
621Status:		Terminated; merged to -current
622Start Date:
623End Date:
624Base Tag:	chs-ubc2-base, chs-ubc2-newbase
625Maintainer:	Chuck Silvers <chs@NetBSD.org>
626Scope:		kernel
627Notes:
628
629Branch:		cjs-build-against-obj-dir
630Description:	?
631Status:		?
632Start Date:
633End Date:
634Base Tag:
635Maintainer:	Curt Sampson <cjs@NetBSD.org>
636Scope:		Entire tree.
637Notes:
638
639Branch:		eeh-paddr_t
640Description:	use separate types for virtual vs. physical addresses
641Status:		Terminated; merged to -current
642Start Date:
643End Date:
644Base Tag:	eeh-paddr_t-base
645Maintainer:	Eduardo Horvath <eeh@NetBSD.org>
646Scope:		kernel
647Notes:		This is needed to support 32-bit kernels on sparc64.
648
649Branch:		elad-kernelauth
650Description:	Native NetBSD implementation of Apple's kernel authorization
651		based on TN2127. This is a "clean-room" implementation to
652		avoid any licensing issues.
653Status:		Terminated; merged to -current
654Start Date:	Tue Mar	 7 2006
655End Date:	Mon May 15 2006
656Base Tag:	elad-kernelauth-base
657Maintainer:	Elad Efrat <elad@NetBSD.org>
658Scope:		src/sys, src/share/man/man9/Makefile,
659		src/share/man/man9/kauth.h, src/distrib/sets/lists/comp/mi
660Notes:
661
662Branch:		fvdl-softdep
663Description:	FFS soft dependencies
664Status:		Terminated; merged to -current
665Start Date:
666End Date:
667Base Tag:	fvdl-softdep-base
668Maintainer:	Frank van der Linden <fvdl@NetBSD.org>
669Scope:		kernel
670Notes:
671
672Branch:		gehenna-devsw
673Description:	auto-generation of devsw table
674Status:		Terminated
675Start Date:	16 May 2002
676End Date:	6 Sep 2002
677Base Tag:	gehenna-devsw-base
678Maintainer:	MAEKAWA Masahide <gehenna@NetBSD.org>
679Scope:		syssrc
680Notes:		The goal is to get rid of the existing device switch tables in
681		port-dependent conf.c and to generate them dynamically by
682		config(8).
683
684Branch:		is-newarp
685Description:	ARP for non-Ethernet
686Status:		Terminated; merged before NetBSD 1.3
687Start Date:	1996/10/13
688End Date:	1997/03/15
689Base Tag:	is-newarp-base
690Maintainer:	Ignatios Souvatzis <is@NetBSD.org>
691Scope:		kernel
692Notes:
693
694Branch:		kenh-if-detach
695Description:	Interface detach support.
696Status:		?
697Start Date:
698End Date:
699Base Tag:	kenh-if-detach-base
700Maintainer:	Ken Hornstein <kenh@NetBSD.org>
701Scope:		kernel
702Notes:
703
704Branch:		kent-audio1
705Description:	Audio converter pipeline
706Status:		Terminated; merged to -current
707Start Date:	Tue Dec  7 2004
708End Date:	Tue Jan 11 2005
709Base Tag:	kent-audio1-base
710Maintainer:	TAMURA Kent <kent@NetBSD.org>
711Scope:		kernel (audio device drivers)
712Notes:		http://mail-index.netbsd.org/tech-kern/2004/12/03/0007.html
713		Please consult with the maintainer before committing
714		to this branch.
715
716Branch:		kqueue
717Description:	kqueue kernel event notification mechanism (from FreeBSD)
718Status:		Terminated; merged to -current
719Start Date:	Tue Jul 10 23:08:38 EST 2001
720End Date:	Tue Oct 24 09:14:14 GMT 2002
721Base Tag:	kqueue-base
722Maintainer:	Jaromir Dolecek <jdolecek@NetBSD.org>
723Scope:		kernel, libc/sys, share/man/man9, usr.bin/fstat
724Notes:		Integration of FreeBSD's kqueue(2) mechanism, with various
725		local internal changes to better suit NetBSD, and
726		enhancements such as looking up filters by name or
727		number, and dynamic registration of "user" filters.
728		The work is complete as is, but is awaiting more
729		feedback from various kernel gurus before going mainline.
730
731Branch:		ktrace-lwp
732Description:	ktrace support for lwp ids.
733Status:		Terminated; merged to -current
734Start Date:	Wed Jul  2 15:27:30 UTC 2003
735End Date:	Sun Dec 11 12:25:29 UTC 2005
736Base Tag:	ktrace-lwp-base
737Maintainer:	Darren Reed <darrenr@NetBSD.org>
738Scope:		sys
739Notes:		
740
741Branch:		marc-pcmcia
742Description:	PCMCIA support
743Status:		Terminated; merged to -current
744Start Date:
745End Date:
746Base Tag:	marc-pcmcia-base, marc-pcmcia-bp
747Maintainer:	Marc Horowitz <marc@NetBSD.org>
748Scope:		kernel
749Notes:
750
751Branch:		minoura_x68k_bus_h
752Description:	bus_space(9) and bus_dma(9) implementation for x68k
753Status:		Terminated; merged to -current
754Start Date:	23 Dec 1998
755End Date:	16 Mar 1999
756Base Tag:	minoura_x68k_bus_h-base
757Maintainer:	Minoura Makoto <minoura@NetBSD.org>
758Scope:		sys/arch/x68k
759Notes:
760
761Branch:		minoura-xpg4dl
762Description:	Citrus Project locale subsystem
763Status:		Terminated; (partly) merged to -current
764Start Date:	28 March 2000
765End Date:
766Base Tag:	minoura-xpg4dl-base
767Maintainer:	Minoura Makoto <minoura@NetBSD.org>
768Scope:		basesrc, syssrc, sharesrc
769Notes:		Citrus Project is developing dynamically-loadable, codeset-
770		independent locale subsystem.  Part of the implementation
771		(LC_CTYPE) called XPG4DL is now integrated to -current.
772
773Branch:		mjf-ufs-trans
774Description:	filesystem transactions for ufs
775Status:		Active
776Start Date:	12 March 2007
777End Date:
778Base Tag:	mjf-ufs-trans-base
779Maintainer:	Matt Fleming <mjf@NetBSD.org>
780Scope:		kernel
781Notes:
782
783Branch:		mrg-vm-swap
784Description:	dynamic swap allocation, swap-to-files support
785Status:		Terminated; abondoned for mrg-vm-swap2
786Start Date:	12 February 1997
787End Date:	15 March 1997
788Base Tag:	[none]
789Maintainer:	Matthew R. Green <mrg@NetBSD.org>
790Scope:		kernel
791Notes:
792
793Branch:		mrg-vm-swap2
794Description:	dynamic swap allocation, swap-to-files support
795Status:		Terminated; merged to -current
796Start Date:	4 May 1997
797End Date:	12 June 1997
798Base Tag:	mrg-vm-swap2-base
799Maintainer:	Matthew R. Green <mrg@NetBSD.org>
800Scope:		kernel
801Notes:
802
803Branch:		nathanw_sa
804Description:	Scheduler activations
805Status:		Terminated; merged to -current
806Start Date:	5 March 2001
807End Date:	18 January 2003
808Base Tag:	nathanw_sa_base
809Maintainer:	Nathan Williams <nathanw@NetBSD.org>
810Scope:		kernel, libc, libkvm, libpthread, libpthread_dbg, include, 
811		bin/ps usr.bin/systat usr.bin/top usr.bin/w
812		gnu/dist/toolchain/gdb gnu/usr.bin/gdb
813Notes:		The idea of scheduler activations is described in the
814		classic paper by Anderson et al., in ACM Transactions
815		a on Computer Systems volume 10 issue 1 (1992),which
816		can be found at
817		http://www.acm.org/pubs/citations/journals/tocs/1992-10-1/p53-anderson/
818		Many ideas in the implementation are based on the
819		implementation of scheduler activations added to Mach
820		3.0 and described by Davis et al. in the University of
821		Washington CS tech report 92-08-93, which can be found
822		at
823		ftp://ftp.cs.washington.edu/tr/1992/08/UW-CSE-92-08-03.PS.Z
824
825		My USENIX paper on the subject can be found at
826		http://web.mit.edu/nathanw/www/usenix/
827
828		Please consult with the maintainer before committing
829		to this branch.
830		Other tags starting with nathanw_sa reserved for
831		branch management and are not guaranteed to be stable.
832
833		Trunk tagged with "nathanw_sa_before_merge" prior to
834		merging branch down to trunk.  Branch tagged with
835		"nathanw_sa_end" to indicate the ending revision of
836		the branch.
837
838Branch:		perseant-lfsv2
839Description:	LFS incompatible on-disk data structure changes
840Status:		Terminated
841Start Date:	27 June 2001
842End Date:	16 July 2001
843Base Tag:	perseant-lfsv2-base
844Maintainer:	Konrad Schroder <perseant@NetBSD.org>
845Scope:		basesrc/{sbin/*lfs,libexec/lfs_cleanerd,usr.sbin/dumplfs}, syssrc/sys/ufs
846Notes:		This branch should be short-lived, I expect to merge as soon
847		as the data structures required for unremove are in and tested.
848
849Branch:		peter-altq
850Description:	New ALTQ framework:
851		- sync with KAME sources
852		- share mtag/name mapping functions
853		- separate altq + pf attachment
854Status:		Terminated; merged to -current
855Start Date:	March 16, 2006
856End Date:	October 12, 2006
857Base Tag:	peter-altq-base
858Maintainer:	Peter Postma <peter@NetBSD.org>,
859		Martin Husemann <martin@NetBSD.org>,
860		Matthias Scheler <tron@NetBSD.org>
861Scope:		dist/pf dist/ipf distrib/sets/lists sys usr.sbin/altq
862Notes:		Only the first item in the description was finished
863		in this branch.
864
865Branch:		sommerfeld_i386mp_1
866Description:	Multiprocessor support for i386 using Intel MP BIOS.
867Status:		Terminated; merged to -current
868Start Date:	21 Feb 2000
869End Date:	01 Oct 2002
870Base Tag:	sommerfeld_i386mpbase_1
871Maintainer:	Bill Sommerfeld <sommerfeld@NetBSD.org>
872Scope:		sys/arch/i386
873Notes:
874		Code committed to the branch has booted to multiuser 
875		on at least one system.
876
877		Not guaranteed to compile against mainline since -current
878		may have changed incompatibly with the last branch update;
879		use "cvs update -D" to roll-back the rest of the tree to match.
880
881		Please get explicit permission from the maintainer 
882		before each commit, or your changes will be backed out.
883		Other tags starting with sommerfeld_ are private to 
884		the developer and are guaranteed to be unstable.
885		Only the maintainer should move tags.
886
887		Note that this branch uses a DIFFERENT scheme for 
888		synching with the mainline.  the maintainer uses some private
889		scripts for keeping them in synch; if you make commits 
890		to the branch to "resynchronize" things, you'll
891		probably do it wrong; instead, ask the maintainer to
892		resynchronize things.
893
894		See sys/arch/i386/TODO on the branch for a list of known
895		issues with the branch.
896
897Branch:		thorpej-mips-cache
898Description:	overhaul MIPS cache support code
899Status:		Terminated; merged to -current
900Start Date:	Oct 23 2001
901End Date:	Nov 14 2001
902Base Tag:	thorpej-mips-cache-base
903Scope:		syssrc
904Notes:		This branch needs more debugging, testing, and more
905		ports need to be converted to the new world order.
906
907		The following processors have had cache ops
908		written:
909
910			* R2000/R3000 (cache_r3k) -- light testing,
911			  needs to be beat on a lot more to make
912			  sure it's working.
913
914			* R4000/R4400 (cache_r4k) -- mhitch@NetBSD.org
915			  tracked down a bug, which has been fixed.
916
917			  Confirmed working on R4000-with-L2.
918
919			  Confirmed working on R4400-no-L2 and
920			  R4400-with-L2.
921
922			* R4600/R5000 (cache_r5k) -- shin@NetBSD.org
923			  has committed fixes to this code.
924
925			  Confirmed working on R4600 v2 (SGI IP-22 with
926			  no SysAD L2 cache).
927
928			  Confirmed working on RM5260 (Algorithmics P-5064).
929
930			* TX39 (cache_tx39) -- uch@NetBSD.org has
931			  committed fixes to this code.  Awaiting
932			  confirmation that it is working properly.
933
934			* R5900 (cache_r5900) -- uch@NetBSD.org has
935			  written this code and tested it on a
936			  PlayStation 2.
937
938		The following ports have been updated to compile (and
939		use optimized-for-processor bus_dma routines).  Those
940		that have been tested and work are marked with [WORKING].
941
942			* algor		[WORKING]
943
944			* arc		[WORKING]
945
946			* pmax		[WORKING]
947
948			* playstation2	[WORKING]
949					Needs optimized bus_dmamap_sync().
950
951			* hpcmips	[need verification that this is working]
952					Needs optimized bus_dmamap_sync().
953
954			* sgimips	[WORKING]
955					Needs optimized bus_dmamap_sync().
956
957			* cobalt	[need testing]
958
959			* mipsco	[need testing]
960
961			* newsmips	[need testing]
962
963Branch:		thorpej_scsipi
964Description:	SCSI/ATAPI midlayer rewrite.
965Status:		Terminated; merged to -current
966Start Date:
967End Date:	Apr 25 2001
968Base Tag:	thorpej_scsipi_base, thorpej_scsipi_nbase
969Maintainer:	Manuel Bouyer <bouyer@NetBSD.org>,
970		Jason Thorpe <thorpej@NetBSD.org>
971Scope:		syssrc
972Notes:		When a change from -current is pulled up please move the
973		thorpej_scsipi_base tag to the revision you're syncing with.
974		thorpej_scsipi_nbase is private to maintainer (only
975		used when syncing the whole branch with HEAD).
976		Just before the merge, syssrc has been tagged with
977		thorpej_scsipi_beforemerge
978
979Branch:		thorpej-signal
980Description:	?
981Status:		?
982Start Date:
983End Date:
984Base Tag:	thorpej-signal-base
985Maintainer:	Jason Thorpe <thorpej@NetBSD.org>
986Scope:		kernel
987Notes:
988
989Branch:		thorpej-setroot
990Description:	?
991Status:		Terminated; merged to -current
992Start Date:
993End Date:
994Base Tag:
995Maintainer:	Jason Thorpe <thorpej@NetBSD.org>
996Scope:		kernel
997Notes:
998
999Branch:		simonb-timecounters
1000Description:	Port FreeBSD timecounters to NetBSD
1001Status:		Terminated
1002Start Date:	Sat Feb 04 2006
1003End Date:	Wed Jun 07 2006
1004Base Tag:	simonb-timecounters-base
1005Maintainer:	Simon Burge <simonb@NetBSD.org>,
1006		Frank Kardel <kardel@NetBSD.org>
1007Scope:		sys, sbin/savecore, usr.bin/vmstat, usr.sbin/ntp
1008Notes:		early (partial conversion) commit to -current
1009		ok'ed by core@ on 20060605 for testing and further
1010		simplified conversion
1011
1012Branch:		wrstuden-devbsize
1013Description:	Modify buffer cache to deal with different devices having
1014		different block sizes. Also DEV_BSIZE would go away.
1015Status:		Terminated
1016Start Date:	Aug or Sept 1999
1017End Date:	1 Apr 2000
1018Base tag:	wrstuden-devbsize-base
1019Maintainer:	Bill Studenmund <wrstuden@NetBSD.org>
1020Scope:		kernel
1021Notes:		No longer active due to lack of time, and introduction
1022		of UBC. In terms of UBC, the primary cache for
1023		file data is the VM cache, which needs to operate
1024		in terms of VM pages. As no existing device has native
1025		pages the same size as our VM pages, there already is
1026		a mapping going on between the VM system and the
1027		underlying blocks. So it would be easier and cleaner
1028		to adjust that to deal w/ different block sizes.
1029		Also with UBC, all i/o is in terms of bytes at an offset
1030		with a certain length, so the exact block size isn't a big
1031		deal.
1032
1033		Any other wrstuden-devbsize tag may (and should) go away.
1034
1035Branch:		yamt-km, yamt-km-doc
1036Description:	simplify/improve kernel memory management and bootstrap
1037Status:		Terminated; merged to -current
1038Start Date:	Tue Jan 25 2005
1039End Date:	Fri Apr  1 2005
1040Base Tag:	yamt-km-base{,2,3,4}, yamt-km-doc-base
1041Maintainer:	YAMAMOTO Takashi <yamt@NetBSD.org>
1042Scope:		yamt-km: src/sys
1043		yamt-km-doc: src/share/man/man9/uvm.9
1044Notes:		http://mail-index.NetBSD.org/tech-kern/2004/12/25/0005.html
1045
1046		the followings are per-port status.
1047		(account names mean "tested by".)
1048
1049		works enough to go to multiuser:
1050			alpha, i386, xen (yamt@)
1051			pc532 (simonb@)
1052			alpha, i386, mac68k, macppc, pmax, shark,
1053			    sparc, sparc64, sun3, x68k (chs@)
1054			cobalt, dreamcast, hp300, news68k, newsmips,
1055			    sun3x (tsutsui@)
1056			amiga (mhitch@)
1057			cats, hp700 (skrll@)
1058			xen (bouyer@)
1059
1060		known to have the same problem as trunk:
1061			vax (chs@, stuck while running kvm_mkdb)
1062
1063		known to have a problem:
1064			luna68k (and, if any, other m68k ports which use TTR)
1065			needs to be revisited.
1066			-> for luna68k, although not tested,
1067			   Sysmap has been moved to avoid kva conflict with
1068			   I/O ranges.
1069
1070		buildable:
1071			src/sys/arch/acorn26/conf/GENERIC
1072			src/sys/arch/acorn32/conf/GENERIC
1073			src/sys/arch/algor/conf/P6032
1074			src/sys/arch/alpha/conf/GENERIC
1075			src/sys/arch/alpha/conf/GENERIC.MP
1076			src/sys/arch/amd64/conf/GENERIC
1077			src/sys/arch/amd64/conf/GENERIC.MP
1078			src/sys/arch/amiga/conf/GENERIC
1079			src/sys/arch/arc/conf/GENERIC
1080			src/sys/arch/atari/conf/MILAN-PCIIDE
1081			src/sys/arch/bebox/conf/GENERIC
1082			src/sys/arch/cats/conf/GENERIC
1083			src/sys/arch/cesfic/conf/GENERIC
1084			src/sys/arch/cobalt/conf/GENERIC
1085			src/sys/arch/dreamcast/conf/GENERIC
1086			src/sys/arch/evbarm/conf/TS7200
1087			src/sys/arch/evbppc/conf/WALNUT
1088			src/sys/arch/evbsh3/conf/COMPUTEXEVB
1089			src/sys/arch/evbsh5/conf/CAYMAN64
1090			src/sys/arch/hp300/conf/GENERIC
1091			src/sys/arch/hp700/conf/GENERIC
1092			src/sys/arch/hpcarm/conf/JORNADA728
1093			src/sys/arch/hpcmips/conf/GENERIC
1094			src/sys/arch/hpcsh/conf/GENERIC
1095			src/sys/arch/hpcsh/conf/HPW650PA
1096			src/sys/arch/i386/conf/GENERIC
1097			src/sys/arch/i386/conf/GENERIC.MP
1098			src/sys/arch/i386/conf/XEN0
1099			src/sys/arch/i386/conf/XENU
1100			src/sys/arch/ibmnws/conf/GENERIC
1101			src/sys/arch/iyonix/conf/GENERIC
1102			src/sys/arch/luna68k/conf/GENERIC
1103			src/sys/arch/mac68k/conf/GENERIC
1104			src/sys/arch/macppc/conf/GENERIC
1105			src/sys/arch/macppc/conf/GENERIC.MP
1106			src/sys/arch/mipsco/conf/GENERIC
1107			src/sys/arch/mmeye/conf/GENERIC
1108			src/sys/arch/mvme68k/conf/GENERIC
1109			src/sys/arch/netwinder/conf/GENERIC
1110			src/sys/arch/news68k/conf/GENERIC
1111			src/sys/arch/newsmips/conf/GENERIC
1112			src/sys/arch/next68k/conf/GENERIC
1113			src/sys/arch/ofppc/conf/GENERIC
1114			src/sys/arch/pc532/conf/GENERIC
1115			src/sys/arch/pmax/conf/GENERIC
1116			src/sys/arch/prep/conf/GENERIC
1117			src/sys/arch/sandpoint/conf/GENERIC
1118			src/sys/arch/sbmips/conf/GENERIC
1119			src/sys/arch/sgimips/conf/GENERIC32_IP3x
1120			src/sys/arch/shark/conf/GENERIC
1121			src/sys/arch/sparc/conf/GENERIC
1122			src/sys/arch/sparc/conf/GENERIC.MP
1123			src/sys/arch/sparc64/conf/GENERIC
1124			src/sys/arch/sparc64/conf/GENERIC.MP
1125			src/sys/arch/sun2/conf/GENERIC
1126			src/sys/arch/sun3/conf/GENERIC
1127			src/sys/arch/vax/conf/GENERIC
1128			src/sys/arch/vax/conf/GENERIC.MP
1129			src/sys/arch/x68k/conf/GENERIC
1130
1131			src/sys/arch/playstation2/conf/GENERIC
1132
1133Branch:		yamt-pdpolicy
1134Description:	play with page replacement policy
1135		- separate page replacement policy from the rest of kernel
1136		- implement alternative replacement policy
1137		- related read-ahead adjustment?
1138Status:		Terminated; merged to -current
1139Start Date:	Sun Mar  5 2006
1140End Date:	Sat Sep 16 2006
1141Base Tag:	yamt-pdpolicy-base9
1142Maintainer:	YAMAMOTO Takashi <yamt@NetBSD.org>
1143Scope:		src/sys  (src/common is tagged but not branched)
1144Notes:		
1145
1146Branch:		yamt-readahead
1147Description:	play with file readahead
1148Status:		Terminated; merged to -current
1149Start Date:	Mon Nov 14 2005
1150End Date:	Wed Nov 30 2005
1151Base Tag:	yamt-readahead-base3
1152Maintainer:	YAMAMOTO Takashi <yamt@NetBSD.org>
1153Scope:		src/sys
1154Notes:		
1155
1156Branch:		yamt-uio_vmspace
1157Description:	uio_lwp/uio_segflg -> uio_vmspace
1158Status:		Terminated; merged to -current
1159Start Date:	Mon Dec 31 2005
1160End Date:	Wed Mar  1 2006
1161Base Tag:	yamt-uio_vmspace-base5
1162Maintainer:	YAMAMOTO Takashi <yamt@NetBSD.org>
1163Scope:		src/sys
1164Notes:		
1165
1166Branch:		yamt-splraiseipl
1167Description:	finish implementing splraiseipl (and makeiplcookie).
1168		http://mail-index.NetBSD.org/tech-kern/2006/07/01/0000.html
1169
1170		- completes workqueue(9) and netbt.
1171		- fix PR/33218.
1172
1173Status:		Terminated; merged to -current
1174Start Date:	Mon Sep 18 2006
1175End Date:	Fri Dec 22 2006
1176Base Tag:	yamt-splraiseipl-base5
1177Maintainer:	YAMAMOTO Takashi <yamt@NetBSD.org>
1178Scope:		src/sys  (src/common is tagged but not branched)
1179Notes:		
1180		tested (by who):
1181			alpha		(yamt)
1182			alpha		(pavel)
1183			amd64		(reported privately)
1184			cobalt		(tsutsui)
1185			ews4800mips	(tsutsui)
1186			hp300		(tsutsui)
1187			hpcarm		(reported privately)
1188			i386		(yamt)
1189			macppc		(tsutsui)
1190			news68k		(tsutsui)
1191			sgimips(IP32)	(tsutsui)
1192			sparc(sun4c)	(tsutsui)
1193			sun2		(tsutsui)
1194			sun3		(tsutsui)
1195			sun3x		(tsutsui)
1196			xen		(yamt)
1197
1198		compile-tested:
1199			acorn26
1200			acorn32
1201			algor
1202			amiga
1203			arc
1204			atari
1205			bebox
1206			cats
1207			cesfic
1208			dreamcast
1209			evbarm
1210			evbmips
1211			evbppc(marvell)
1212			evbppc(ibm4xx)
1213			evbsh3
1214			hp700
1215			hpcmips
1216			hpcsh
1217			ia64
1218			ibmnws
1219			iyonix
1220			landisk
1221			luna68k
1222			mac68k
1223			mmeye
1224			mvme68k
1225			mvmeppc
1226			mipsco
1227			netwinder
1228			newsmips
1229			next68k
1230			ofppc
1231			pc532
1232			pmax
1233			pmppc
1234			prep
1235			sandpoint
1236			sbmips
1237			shark
1238			sparc
1239			sparc64
1240			vax
1241			x68k
1242			zaurus
1243
1244		not tested:
1245			pdp10 (i don't know how to build)
1246			sh5 (not buildable with an unrelated problem.)
1247
1248    compile  CAYMAN64/netbsd32_sa.o
1249    cc1: warnings being treated as errors
1250    /exports/nbsd/src/sys/compat/netbsd32/netbsd32_sa.c: In function 'netbsd32_sa_ucsp':
1251    /exports/nbsd/src/sys/compat/netbsd32/netbsd32_sa.c:126: warning: implicit declaration of function '_UC_MACHINE32_SP'
1252    --- netbsd32_sa.o ---
1253    *** [netbsd32_sa.o] Error code 1
1254    1 error
1255
1256		notyet:
1257			amigappc
1258			playstation2
1259
1260Branch:		yamt-vop
1261Description:	remove several VOPs
1262Status:		Terminated; merged to -current
1263Start Date:	Wed Oct 19 2005
1264End Date:	Wed Nov  2 2005
1265Base Tag:	yamt-vop-base3
1266Maintainer:	YAMAMOTO Takashi <yamt@NetBSD.org>
1267Scope:		src/sys
1268Notes:		http://mail-index.NetBSD.org/tech-kern/2005/09/27/0000.html
1269
1270Branch:		gdamore-uart
1271Description:	Add register table support to com driver.
1272Status:		Active
1273Start Date:	14 June 2006
1274End Date:	13 July 2006
1275Base Tag:	gdamore-uart-base
1276Maintainer:	Garrett D'Amore <gdamore@NetBSD.org>
1277Scope:		kernel
1278Notes:		Results in consolidation of Alchemy (mips/dev/alchemy/aucom.c)
1279		com support, and also removes a nasty hack from Atheros com.
1280
1281########################################################################
1282# Other:
1283########################################################################
1284
1285Branch:		magnum
1286Description:	?
1287Status:		?
1288Start Date:
1289End Date:
1290Base Tag:	magnum-base
1291Maintainer:	?
1292Scope:		kernel
1293Notes:
1294
1295