BRANCHES revision 1.277
1#	$NetBSD: BRANCHES,v 1.277 2009/04/30 07:14:47 skrll 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:		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:		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
207Branch:		netbsd-5
208Description:	The NetBSD 5 release branch
209Status:		Active
210Start Date:	31 Oct 2008
211End Date:
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
218########################################################################
219# Individual developers' branches (Active/Dormant):
220########################################################################
221
222Branch:		ad-audiomp
223Description:	Add MP locking to the audio drivers
224Status:		Terminated
225Start Date:	28 February 2007
226End Date:	7 December 2008
227Base Tag:	ad-audiomp-base
228Maintainer:	Andrew Doran <ad@NetBSD.org>
229Scope:		kernel
230Notes:		Making the audio drivers MP safe is necessary before efforts
231		can be made to make the VM system MP safe. About 1/2 of the
232		drivers are converted, the remaining 1/2 need more changes.
233
234		As of import this is snapshot of work in progress and so
235		may not compile; in particular the midi changes are very
236		much "in progress". The audio component has been tested
237		and verified to work with emuxki and auvia. There may
238		be a locking issue in the ac97 code at boot.
239
240		The are two locks per device instance, an ISR lock and
241		a character device lock. The ISR lock replaces calls to
242		splaudio()/splx(), and will be held across calls to device
243		methods which were called at splaudio() before (e.g.
244		trigger_output). The character device lock is held across
245		calls to nearly all of the methods, excluding some only
246		used for initialization, e.g. get_locks. This needs to be
247		documented at merge time.
248
249		To test on a multi way x86 system, search for "mpsafe" in
250		x86/x86/intr.c and change IPL_SCHED to IPL_AUDIO. Run a job
251		that will acquire the ISR lock (depends on the hardware, but
252		"while true; do mixerctl -a > /dev/null; done" may suffice).
253		Play audio, run lockstat and verify that that there is
254		contention on the ISR lock.
255
256Branch:		ad-audiomp2
257Description:	Add MP locking to the audio drivers
258Status:		Active
259Start Date:	7 December 2008
260End Date:	
261Base Tag:	ad-audiomp2-base
262Maintainer:	Andrew Doran <ad@NetBSD.org>
263Scope:		kernel
264Notes:		Ressurect ad-audiomp, make the audio drivers MP safe.
265
266Branch:		bjh21-hydra
267Description:	Simtec Hydra support and ARM SMP in general
268Status:		Dormant
269Start Date:	18 Oct 2002
270End Date:
271Base Tag:	bjh21-hydra-base
272Maintainer:	Ben Harris <bjh21@NetBSD.org>
273Scope:		sys/arch/arm sys/arch/acorn32
274Notes:		This code was on a branch because it involves changes to
275		cpuswitch.S which would otherwise make merging the
276		nathanw_sa branch difficult.
277
278Branch:		chris-arm-intr-rework
279Description:	Rework arm interrupt handling code
280Status:		Active
281Start Date:	11 Aug 2007
282End Date:
283Base Tag:	chris-arm-intr-rework-base
284Maintainer:	Chris Gilbert <chris@NetBSD.org>
285Scope:		sys/arch/arm sys/arch/cats (other arm archs to follow)
286Notes:		Rework arm interrupt code to provide a shared set of interrupt
287		routines, and allow improvements to be shared across all arm
288		based hardware.
289
290Branch:		cube-autoconf
291Description:	Renovate autoconf(9) API
292Status:		Active
293Start Date:	11 Dec 2007
294End Date:
295Base Tag:	cube-autoconf-base
296Maintainer:	Quentin Garnier <cube@NetBSD.org>
297Scope:		kernel usr.bin/config (and some other userland bits)
298Notes:		Address a number of issues the current autoconf(9) API has.
299
300Branch:		gmcgarry_ctxsw
301Description:	Separate scheduler from context-switch code
302Status:		Dormant
303Start Date:	18 December 2002
304End Date:
305Base Tag:	gmcgarry_ctxsw_base
306Maintainer:	Gregory McGarry <gmcgarry@NetBSD.org>
307Scope:		kernel
308Notes:		Removing knowledge of the scheduler and its run queues
309		from the machine-dependent context switch code is the
310		first step in cleaning up the scheduler.  It is necessary
311		for the newlock branch, making the scheduler SMP friendly,
312		adding real-time scheduler extensions, and reducing the
313		number of code paths for LWP and proc switching.
314
315Branch:		gmcgarry_ucred
316Description:	Integrate and encapsulate user credentials
317Status:		Dormant
318Start Date:	18 December 2002
319End Date:
320Base Tag:	gmcgarry_ucred_base
321Maintainer:	Gregory McGarry <gmcgarry@NetBSD.org>
322Scope:		kernel
323Notes:		merge pcred and ucred and poolify
324
325Branch:		hpcarm-cleanup
326Description:	Fix build problems for hpcarm
327Status:		Active
328Start Date:	31 July 2007
329End Date:
330Base Tag:	hpcarm-cleanup-base
331Maintainer:	Robert Swindells <rjs@NetBSD.org>
332Scope:		kernel
333Notes:		Modify SA11x0 interrupt code to match PXA2x0 equivalent.
334
335Branch:		itohy-usb1
336Description:	USB stack overhaul, mostly DMA related
337Status:		Active
338Start Date:	22 May 2007
339End Date:
340Base Tag:	itohy-usb1-base
341Maintainer:	ITOH Yasufumi <itohy@NetBSD.org>
342Scope:		kernel
343Notes:		To check out the kernel source tree,
344		1. check out checkout script
345			cvs checkout -ritohy-usb1 src/sys/dev/usb/filelist
346		2. update files in the branch
347			sh -e src/sys/dev/usb/filelist
348
349Branch:		jym-xensuspend
350Description:	Implement xm save/restore/migrate for NetBSD domU
351Status:		Active
352Start Date:	2009-02-08
353End Date:
354Base Tag:	jym-xensuspend-base
355Maintainer:	Jean-Yves Migeon <jym@NetBSD.org>
356Scope:		kernel
357Notes:		This branch contains the code required to support the Xen
358		save/restore/migrate facilities. It affects domU frontend
359		drivers (xbd, xennet, xencons, hypervisor), autoconf(9)
360		machinery, as well as MD code (mostly pmap(9)).
361
362Branch:		kame
363Description:	KAME Project
364Status:		Dormant
365Start Date:	28 Jun 1999
366End Date:
367Base Tag:
368Maintainer:	Jun-ichiro itojun Hagino <itojun@NetBSD.org>
369Scope:		kernel
370Notes:		http://www.kame.net
371		Used for "reference" purposes for early part of KAME
372		integration effort.  The branch is not actively used, as I
373		(itojun) use patch(1) and diff(1) for the KAME syncs.
374
375Branch:		keiichi-mipv6
376Description:	Developing Mobile IPv6 function
377Status:		Active
378Start Date:	21 Feb 2008
379End Date:	
380Base Tag:	keiichi-mipv6-base
381Maintainer:	Keiichi Shima <keiichi@netbsd.org>
382Scope:		sys, sbin, libc/net, distrib/sets, share/man/
383Notes:		http://www.mobileip.jp/
384		Work on developing Mobile IPv6/NEMO BS functions and
385		related MIPv6 based advanced functions on NetBSD.
386		Please consult keiichi for joining this activity.
387
388Branch:		kent-audio2
389Description:	In-kernel audio mixer
390Status:		Active
391Start Date:	Sun Jan 16 2005
392End Date:	
393Base Tag:	kent-audio2-base
394Maintainer:	TAMURA Kent <kent@NetBSD.org>
395Scope:		kernel (audio device drivers)
396Notes:		http://mail-index.netbsd.org/tech-kern/2004/12/03/0007.html
397		Please consult with the maintainer before committing
398		to this branch.
399		This branch is not expected to be compilable yet.
400
401Branch:		matt-timespec
402Description:	Convert the kernel to struct timespec as its primary time
403		storage mechanism.
404Status:		Inactive
405Start Date:	2005-02-19
406End Date:
407Base Tag:	
408Maintainer:	Matt Thomas <matt@NetBSD.org>
409Scope:		kernel
410Notes:	
411
412Branch:		matt-mips64
413Description:	Rototill the mips code to support LP64 mips and N32/N64 ABIs
414Status:		Active
415Start Date:	2007-07-17
416End Date:
417Base Tag:	matt-mips64-base
418Maintainer:	Matt Thomas <matt@NetBSD.org>
419Scope:		kernel & userland
420Notes:	
421
422Branch:		mjf-devfs2
423Description:	device file system supporting dynamic device nodes
424Status:		Active
425Start Date:	21 February 2008
426End Date:
427Base Tag:	mjf-devfs2-base
428Maintainer:	Matt Fleming <mjf@NetBSD.org>
429Scope:		kernel and userland
430Notes:		This branch will move away from the static device nodes that
431		are created with MAKEDEV scripts and allow nodes to be created
432		and removed dynamically as devices are attached and detached
433		from the machine.
434
435Branch:		mjf-ufs-trans
436Description:	file system transactions for ufs
437Status:		Active
438Start Date:	12 March 2007
439End Date:
440Base Tag:	mjf-ufs-trans-base
441Maintainer:	Matt Fleming <mjf@NetBSD.org>
442Scope:		kernel
443Notes:
444
445Branch:		nick-hppapmap
446Description:	Update of hppa pmap with OpenBSD code.
447Status: 	Terminated; merged to -current
448Start Date:	27 October 2008
449End Date:	30 April 2009
450Base Tag:	nick-hppapmap-base3
451Maintainer:	Nick Hudson <skrll@NetBSD.org>
452Scope:		sys/
453Notes:		Port of the OpenBSD pmap including support for PA2.0 CPUs in
454		32-bit mode.
455
456Branch:		nick-net80211-sync
457Description:	sync of net80211 with FreeBSD
458Status:		Active
459Start Date:	21 February 2008
460End Date:
461Base Tag:	nick-net80211-base
462Maintainer:	Nick Hudson <skrll@NetBSD.org>
463Scope:		sys/
464Notes:		Sync'ing net80211 with FreeBSD and drivers update. The branch is
465		currently only the kernel, but will likely extend to some userland
466		areas.
467
468Branch:	  	pkgviews
469Description:  	package views, enabling multiple conflicting packages to co-exist
470Status:		Active
471Start Date:	22 July 2002
472End Date:
473Base Tag:	pkgviews
474Maintainer:	Alistair Crooks <agc@NetBSD.org>
475Scope:		pkgsrc, basesrc/usr.sbin/pkg_install
476Notes:		A more flexible infrastructure for third-party packages by
477		allowing multiple conflicting packages and versions to co-exist
478		within the same tree
479
480Branch:		rpaulo-netinet-merge-pcb
481Description:	merge in6pcb with inpcb
482Status:		Dormant
483Start Date:	Wed Feb 01 2006
484End Date:	
485Base Tag:	rpaulo-netinet-merge-pcb-base
486Maintainer:	Rui Paulo <rpaulo@NetBSD.org>
487Scope:		src/sys
488Notes:		No longer active due to the lack of time. If you plan to
489		continue this branch, sys/netinet/in_pcb.h already contains
490		the proposed structure layout (which was roughly discussed
491		in the tech-net mailing list).
492		I also defined INP_*() macros to mimicate FreeBSD's inpcb
493		locking style, but currently they do nothing and are not
494		yet called at the correct places (needs discussion about
495		kernel fine-grained locking).
496		To continue this branch, one needs to read all the relevant
497		inpcb/in6pcb source files and change the function names,
498		structure names, structure fields according to the new
499		layout (in6pcb is gone).
500		Don't try to build a kernel from this branch because it won't
501		work. The missing pieces required to do a complete build
502		were not committed because they were incomplete and generated
503		panics.
504		You shouldn't need to worry about KAME syncs because
505		they did most of them by now.
506		After the work is done, you are required to test the branch
507		(before the merge to -current) with an interop IPv6 test.
508		More info at: http://www.tahi.org/
509
510Branch:		rtr-xorg-branch
511Description:	xorg & static build alterations to src/x11
512Status:		Active
513Start Date:	Nov 15 2004
514End Date:	
515Base tag:	rtr-xorg-branch-base
516Maintainer:	Tyler R. Retzlaff <rtr@NetBSD.org>
517Scope:		x11
518		distrib/sets/lists
519		share/mk/bsd.x11.mk
520		share/mk/bsd.own.mk
521		etc/mtree/NetBSD.dist
522Notes:		Requires parts of xsrc/xfree (HEAD)
523		xsrc/local, xsrc/xfree/xc/programs/Xserver/hw/netbsd
524		Requires xorg (XORG-6_8_1)
525
526Branch:  	wrstuden-fixsa
527Description:	Fix a number of issues present with Scheduler Activations.
528Status: 	Active
529Start Date:	15 May 2007
530End Date:
531Base Tag:	wrstuden-fixsa-base
532Maintainer:	Bill Stouder-Studenmund <wrstuden@NetBSD.org>
533Scope:		src, though all the interesting stuff is in the kernel
534		or lib/libpthread or maybe gdb.
535Notes:		This branch is based off of the netbsd-4 branch!
536		This branch is intended to stage improvements for the
537		Scheduler Activations system for NetBSD 4. Improvements
538		include not allocating memory while preparing to tsleep(),
539		reducing inappropriate upcall delivery (hopefully also
540		eliminating the need to mlock stacks), and being
541		able to pthread_kill() running threads. At this date,
542		most goals have been achieved. This branch also includes
543		fixes to gdb to support working with threaded apps.
544
545Branch:  	wrstuden-revivesa
546Description:	Fix a number of issues present with Scheduler Activations.
547Status: 	Active
548Start Date:	10 May 2008
549End Date:
550Base Tag:	wrstuden-revivesa-base
551Maintainer:	Bill Stouder-Studenmund <wrstuden@NetBSD.org>
552Scope:		src, though all the interesting stuff is in the kernel
553Notes:		This branch is intended to revive Scheduler Activations
554		in -current in the 5.0 era. This branch's main goal is
555		to re-add syscall compatability so that SA-based libpthread
556		programs can run with a -current kernel. 1:1 threading will
557		remain the NetBSD-default. This branch will re-add necessary
558		upcall support, and will also serve as a chance to clean
559		out cruft that had accumulated in the implementation over
560		time.
561
562Branch:		yamt-kmem
563Description:	
564		- separate kernel va allocation from kernel fault handling.
565		- make kmem_alloc interrupt-safe.
566Status:		Active
567Start Date:	Sun Dec  9 2007
568End Date:	
569Base Tag:	yamt-kmem-base3
570Maintainer:	YAMAMOTO Takashi <yamt@NetBSD.org>
571Scope:		src/sys  (src/common is tagged but not branched)
572Notes:		
573		todo:
574		- investigate if PMAP_PREFER equivalent can be done
575		  with vmem_xalloc.  find a tester with hardware for it.
576		- g/c replaced code, including kmapent and malloc.
577		- consider to remove other submaps.  eg. mb_map
578
579Branch:		yamt-nfs-mp
580Description:	make nfs client mp-safe
581Status:		Active
582Start Date:	Sun Apr 27 2008
583End Date:	
584Base Tag:	yamt-nfs-mp-base2
585Maintainer:	YAMAMOTO Takashi <yamt@NetBSD.org>
586Scope:		src/sys  (src/common is tagged but not branched)
587Notes:		
588
589Branch:		reinoud-bufcleanup
590Description:	implement and evaluate struct buf usage cleanup strategies.
591		Ideas currently in mind (preference for b):
592		a)
593			1. use of bio_ops per buffer.
594			2. allow chaining/overloading of functions in bio_ops
595			   and provide some private context.
596			3. extend the bio_ops with commonly used functionality
597			   like pending action counting, custom context passing,
598			   last minute processing of buffer data, buffer cache
599			   etc.
600			4. investigate the use of the kcont()
601			   continuation-passing framework for async io
602			   completion notification for bufs
603			...
604		b)
605			1. all sequencing use of B_CALL replaced by
606			   device-threads, if possible generic code around BUFQ
607			2. possibly use kcont() for async IO finished signaling
608			3. counter of pending and queued actions requestable
609			   by IOCTL interface?
610			4. implement `last minute buffer fixup' calls and maybe
611			   even finished I/O calls as vnode operations
612			...
613Status:		Active
614Start Date:	Thu Mar 15 2007
615End Date:
616Base Tag:	reinoud-bufcleanup-base
617Maintainer:	Reinoud Zandijk <reinoud@NetBSD.org>
618Scope:		src/sys and src/common
619Notes:		Used as experiment sandbox and if successful hopefully one day
620		to be integrated.
621
622Branch:		thorpej-atomic
623Description:	Implementation of an atomic memory operations API modeled
624		after the one in Solaris 10.
625Status:		Active
626Start Date:	Apr 11 2007
627End Date:
628Base tag:	thorpej-atomic-base
629Maintainer:	Jason Thorpe <thorpej@netbsd.org>
630Scope:		src/common
631		src/sys
632Notes:		Base atomic primitives need to be implemented for
633		all of the supported architectures:
634
635		alpha		DONE
636		arm		DONE
637		hppa
638		i386		DONE
639		ia64
640		m68k		DONE (except for 68010)
641		mips
642		ns32k
643		powerpc		DONE except for membar_*()
644		powerpc64	DONE except for membar_*()
645		sh3
646		sparc		DONE except for membar_*()
647		sparc64		DONE except for membar_*()
648		vax
649		x86_64		DONE
650
651		Tested:
652
653		alpha		NO
654		arm		NO
655		hppa		NO
656		i386		NO
657		ia64		NO
658		m68k		NO
659		mips		NO
660		ns32k		NO
661		powerpc		NO
662		powerpc64	NO
663		sh3		NO
664		sparc		NO
665		sparc64		NO
666		vax		NO
667		x86_64		NO
668
669		TODO:
670
671		all		- Need to replace mb_*() with membar_*().
672
673				- Audit MUTEX_CAS() and RWLOCK_CAS() uses
674				  to see of membar_enter() is required here.
675
676				- Talk to ad@ -- figure out of non-atomic
677				  mutex / rwlock release is actually safe.
678
679		arm		- Consider using a RAS technique like
680				  MIPS uses for _lock_cas() and the mutex
681				  stubs.  Possibly do more than one atomic
682				  op as a RAS.  Possibly implement mutex
683				  stubs using the technique.
684
685		m68k		- Need to do 68010 support.
686		
687		i386		- Need to change when x86_patch() is called
688				  so we can test ncpus.
689
690		powerpc		- Figure out if we need barriers in the
691				  atomic ops themselves (hopefully not!)
692
693		x86_64		- Need to change when x86_patch() is called
694				  so we can test ncpus.
695
696########################################################################
697# Individual developers' branches (Terminated):
698########################################################################
699
700Branch:		bouyer-scsipi
701Description:	Integration of atapi support
702Status:		Terminated
703Start Date:
704End Date:
705Base Tag:
706Maintainer:	Manuel Bouyer <bouyer@NetBSD.org>
707Scope:		kernel
708Notes:		Superseded by thorpej_scsipi
709
710Branch:		bouyer-xen2
711Description:	update xen port to xen 2.0, with support for domain0 operations
712Status:		Terminated
713Start Date:	Dec 13 2004
714End Date:	Mar 10 2005
715Base Tag:	netbsd-2-base
716Maintainer:	Manuel Bouyer <bouyer@NetBSD.org>
717Scope:		src/sys/arch/xen
718Notes:
719
720Branch:		bouyer-xenamd64
721Description:	add amd64 support to Xen and rework some parts to share more code between Xen and others
722Status:		Terminated
723Start Date:	18 Oct 2007
724End Date:	22 Nov 2007
725Base Tag:	bouyer-xenamd64-base
726Maintainer:	Manuel Bouyer <bouyer@NetBSD.org>
727Scope:		kernel
728Notes:		
729
730Branch:		bouyer-xeni386
731Description:	switch xen on i386 to the x86 pmap and the xen/x86/x86_xpmap.c bootstrap, and add i386 PAE support
732Status:		Terminated
733Start Date:	10 Dec 2007
734End Date:	23 Jan 2008
735Base Tag:	bouyer-xeni386-base
736Maintainer:	Manuel Bouyer <bouyer@NetBSD.org>
737Scope:		kernel
738Notes:		
739
740Branch: 	chap-midi
741Description:	Renovation of MIDI support
742Status: 	Terminated; merged to -current
743Start Date:	19 May 2006
744End Date:	30 Jun 2006
745Base Tag:	chap-midi-base
746Maintainer:	Chapman Flack <chap@NetBSD.org>
747Scope:		sys, share/man, usr.bin
748Notes:
749
750Branch:		chs-ubc
751Description:	Unified Buffer Cache
752Status:		Terminated
753Start Date:
754End Date:
755Base Tag:	chs-ubc-base
756Maintainer:	Chuck Silvers <chs@NetBSD.org>
757Scope:		kernel
758Notes:
759
760Branch:		chs-ubc2
761Description:	 Unified Buffer Cache
762Status:		Terminated; merged to -current
763Start Date:
764End Date:
765Base Tag:	chs-ubc2-base, chs-ubc2-newbase
766Maintainer:	Chuck Silvers <chs@NetBSD.org>
767Scope:		kernel
768Notes:
769
770Branch:		cjs-build-against-obj-dir
771Description:	?
772Status:		?
773Start Date:
774End Date:
775Base Tag:
776Maintainer:	Curt Sampson <cjs@NetBSD.org>
777Scope:		Entire tree.
778Notes:
779
780Branch:		eeh-paddr_t
781Description:	use separate types for virtual vs. physical addresses
782Status:		Terminated; merged to -current
783Start Date:
784End Date:
785Base Tag:	eeh-paddr_t-base
786Maintainer:	Eduardo Horvath <eeh@NetBSD.org>
787Scope:		kernel
788Notes:		This is needed to support 32-bit kernels on sparc64.
789
790Branch:		elad-kernelauth
791Description:	Native NetBSD implementation of Apple's kernel authorization
792		based on TN2127. This is a "clean-room" implementation to
793		avoid any licensing issues.
794Status:		Terminated; merged to -current
795Start Date:	Tue Mar	 7 2006
796End Date:	Mon May 15 2006
797Base Tag:	elad-kernelauth-base
798Maintainer:	Elad Efrat <elad@NetBSD.org>
799Scope:		src/sys, src/share/man/man9/Makefile,
800		src/share/man/man9/kauth.h, src/distrib/sets/lists/comp/mi
801Notes:
802
803Branch:		fvdl-softdep
804Description:	FFS soft dependencies
805Status:		Terminated; merged to -current
806Start Date:
807End Date:
808Base Tag:	fvdl-softdep-base
809Maintainer:	Frank van der Linden <fvdl@NetBSD.org>
810Scope:		kernel
811Notes:
812
813Branch:		gehenna-devsw
814Description:	auto-generation of devsw table
815Status:		Terminated
816Start Date:	16 May 2002
817End Date:	6 Sep 2002
818Base Tag:	gehenna-devsw-base
819Maintainer:	MAEKAWA Masahide <gehenna@NetBSD.org>
820Scope:		syssrc
821Notes:		The goal is to get rid of the existing device switch tables in
822		port-dependent conf.c and to generate them dynamically by
823		config(8).
824
825Branch:         haad-dm
826Description:    Add support for LVM to NetBSD
827Status:         Terminated; merged with -current
828Start Date:     7 July 2008
829End Date:	19 December 2008
830Base Tag:       haad-dm-base
831Maintainer:     Adam Hamsik <haad@NetBSD.org>
832Scope:          kernel
833Notes:          LVM support is based on Linux lvm2tools, 
834                libdevmapper library and NetBSD device-mapper
835                driver. 
836
837Branch:		is-newarp
838Description:	ARP for non-Ethernet
839Status:		Terminated; merged before NetBSD 1.3
840Start Date:	1996/10/13
841End Date:	1997/03/15
842Base Tag:	is-newarp-base
843Maintainer:	Ignatios Souvatzis <is@NetBSD.org>
844Scope:		kernel
845Notes:
846
847Branch:		jmcneill-pm
848Description:	Power management framework overhaul, ACPI improvements
849Status:		Terminated; merged before NetBSD 5.0
850Start Date:	3 Aug 2007
851End Date:	9 Dec 2007
852Base Tag:	jmcneill-pm-base
853Maintainer:	Jared D. McNeill <jmcneill@NetBSD.org>
854Scope:		kernel
855Notes:		
856
857Branch:		kenh-if-detach
858Description:	Interface detach support.
859Status:		?
860Start Date:
861End Date:
862Base Tag:	kenh-if-detach-base
863Maintainer:	Ken Hornstein <kenh@NetBSD.org>
864Scope:		kernel
865Notes:
866
867Branch:		kent-audio1
868Description:	Audio converter pipeline
869Status:		Terminated; merged to -current
870Start Date:	Tue Dec  7 2004
871End Date:	Tue Jan 11 2005
872Base Tag:	kent-audio1-base
873Maintainer:	TAMURA Kent <kent@NetBSD.org>
874Scope:		kernel (audio device drivers)
875Notes:		http://mail-index.netbsd.org/tech-kern/2004/12/03/0007.html
876		Please consult with the maintainer before committing
877		to this branch.
878
879Branch:		kqueue
880Description:	kqueue kernel event notification mechanism (from FreeBSD)
881Status:		Terminated; merged to -current
882Start Date:	Tue Jul 10 23:08:38 EST 2001
883End Date:	Tue Oct 24 09:14:14 GMT 2002
884Base Tag:	kqueue-base
885Maintainer:	Jaromir Dolecek <jdolecek@NetBSD.org>
886Scope:		kernel, libc/sys, share/man/man9, usr.bin/fstat
887Notes:		Integration of FreeBSD's kqueue(2) mechanism, with various
888		local internal changes to better suit NetBSD, and
889		enhancements such as looking up filters by name or
890		number, and dynamic registration of "user" filters.
891		The work is complete as is, but is awaiting more
892		feedback from various kernel gurus before going mainline.
893
894Branch:		ktrace-lwp
895Description:	ktrace support for lwp ids.
896Status:		Terminated; merged to -current
897Start Date:	Wed Jul  2 15:27:30 UTC 2003
898End Date:	Sun Dec 11 12:25:29 UTC 2005
899Base Tag:	ktrace-lwp-base
900Maintainer:	Darren Reed <darrenr@NetBSD.org>
901Scope:		sys
902Notes:		
903
904Branch:		marc-pcmcia
905Description:	PCMCIA support
906Status:		Terminated; merged to -current
907Start Date:
908End Date:
909Base Tag:	marc-pcmcia-base, marc-pcmcia-bp
910Maintainer:	Marc Horowitz <marc@NetBSD.org>
911Scope:		kernel
912Notes:
913
914Branch:		matt-armv6
915Description:	Rototill the arm code to support features present in the
916		v6 of the ARM Architecture.  Additionally, clean up things
917		along the way to use common practices.
918Status:		Terminated; merged to -current
919Start Date:	2007-08-27
920End Date:	2008-04-27
921Base Tag:	matt-armv6-base
922Maintainer:	Matt Thomas <matt@NetBSD.org>
923Scope:		kernel & userland
924Notes:	
925
926Branch:		minoura_x68k_bus_h
927Description:	bus_space(9) and bus_dma(9) implementation for x68k
928Status:		Terminated; merged to -current
929Start Date:	23 Dec 1998
930End Date:	16 Mar 1999
931Base Tag:	minoura_x68k_bus_h-base
932Maintainer:	Minoura Makoto <minoura@NetBSD.org>
933Scope:		sys/arch/x68k
934Notes:
935
936Branch:		minoura-xpg4dl
937Description:	Citrus Project locale subsystem
938Status:		Terminated; (partly) merged to -current
939Start Date:	28 March 2000
940End Date:
941Base Tag:	minoura-xpg4dl-base
942Maintainer:	Minoura Makoto <minoura@NetBSD.org>
943Scope:		basesrc, syssrc, sharesrc
944Notes:		Citrus Project is developing dynamically-loadable, codeset-
945		independent locale subsystem.  Part of the implementation
946		(LC_CTYPE) called XPG4DL is now integrated to -current.
947
948Branch:		mjf-devfs
949Description:	device file system supporting dynamic device nodes
950Status:		Terminated
951Start Date:	12 November 2007
952End Date:	21 February 2008
953Base Tag:	mjf-devfs-base
954Maintainer:	Matt Fleming <mjf@NetBSD.org>
955Scope:		kernel and userland
956Notes:		This branch will move away from the static device nodes that
957		are created with MAKEDEV scripts and allow nodes to be created
958		and removed dynamically as devices are attached and detached
959		from the machine.
960
961Branch:		mrg-vm-swap
962Description:	dynamic swap allocation, swap-to-files support
963Status:		Terminated; abandoned for mrg-vm-swap2
964Start Date:	12 February 1997
965End Date:	15 March 1997
966Base Tag:	[none]
967Maintainer:	Matthew R. Green <mrg@NetBSD.org>
968Scope:		kernel
969Notes:
970
971Branch:		mrg-vm-swap2
972Description:	dynamic swap allocation, swap-to-files support
973Status:		Terminated; merged to -current
974Start Date:	4 May 1997
975End Date:	12 June 1997
976Base Tag:	mrg-vm-swap2-base
977Maintainer:	Matthew R. Green <mrg@NetBSD.org>
978Scope:		kernel
979Notes:
980
981Branch:		nathanw_sa
982Description:	Scheduler activations
983Status:		Terminated; merged to -current
984Start Date:	5 March 2001
985End Date:	18 January 2003
986Base Tag:	nathanw_sa_base
987Maintainer:	Nathan Williams <nathanw@NetBSD.org>
988Scope:		kernel, libc, libkvm, libpthread, libpthread_dbg, include, 
989		bin/ps usr.bin/systat usr.bin/top usr.bin/w
990		gnu/dist/toolchain/gdb gnu/usr.bin/gdb
991Notes:		The idea of scheduler activations is described in the
992		classic paper by Anderson et al., in ACM Transactions
993		a on Computer Systems volume 10 issue 1 (1992),which
994		can be found at
995		http://www.acm.org/pubs/citations/journals/tocs/1992-10-1/p53-anderson/
996		Many ideas in the implementation are based on the
997		implementation of scheduler activations added to Mach
998		3.0 and described by Davis et al. in the University of
999		Washington CS tech report 92-08-93, which can be found
1000		at
1001		ftp://ftp.cs.washington.edu/tr/1992/08/UW-CSE-92-08-03.PS.Z
1002
1003		My USENIX paper on the subject can be found at
1004		http://web.mit.edu/nathanw/www/usenix/
1005
1006		Please consult with the maintainer before committing
1007		to this branch.
1008		Other tags starting with nathanw_sa reserved for
1009		branch management and are not guaranteed to be stable.
1010
1011		Trunk tagged with "nathanw_sa_before_merge" prior to
1012		merging branch down to trunk.  Branch tagged with
1013		"nathanw_sa_end" to indicate the ending revision of
1014		the branch.
1015
1016Branch:		newlock
1017Description:	New locking primitives, based on Solaris's
1018Status:		Terminated
1019Start Date:	March 9, 2002
1020End Date:	February 12, 2007
1021Base Tag:	newlock-base
1022Maintainer:	Jason R. Thorpe <thorpej@NetBSD.org>
1023Scope:		Kernel
1024Notes:		The goal is to replace the existing lockmgr() and
1025		simple_lock() based locking mechanisms with the
1026		primitives found in Solaris: mutexes and rwlocks.
1027		Superseded by the newlock2 branch.
1028
1029Branch:		newlock2
1030Description:	New locking primitives, based on Solaris's
1031Status:		Terminated
1032Start Date:	September 9, 2006
1033End Date:	February 12, 2007
1034Base Tag:	newlock2-base
1035Maintainer:	Andrew Doran <ad@NetBSD.org>
1036Scope:		Kernel
1037Notes:		As per the newlock branch, however given the amount of time
1038		the original branch has lain dormant, a new one has been
1039		created.  Goals:
1040		- Implement new locking primitives on most-used ports.
1041		- Minor locking improvements.
1042		- Remove spinlockmgr().
1043
1044Branch:		nick-csl-alignment
1045Description:	Provide correctly aligned __cpu_simple_lock_t for hppa
1046Status:		Terminated
1047Start Date:	2007-07-18
1048End Date:
1049Base Tag:	nick-csl-alignment-base5
1050Maintainer:	Nick Hudson <skrll@NetBSD.org>
1051Scope:		sys, lib/libpthread, lib/libpthread_dbg
1052Notes:	
1053
1054Branch:		perseant-lfsv2
1055Description:	LFS incompatible on-disk data structure changes
1056Status:		Terminated
1057Start Date:	27 June 2001
1058End Date:	16 July 2001
1059Base Tag:	perseant-lfsv2-base
1060Maintainer:	Konrad Schroder <perseant@NetBSD.org>
1061Scope:		basesrc/{sbin/*lfs,libexec/lfs_cleanerd,usr.sbin/dumplfs}, syssrc/sys/ufs
1062Notes:		This branch should be short-lived, I expect to merge as soon
1063		as the data structures required for unremove are in and tested.
1064
1065Branch:		ppcoea-renovation
1066Description:	General renovation and cleanup of all OEA PowerPC ports.
1067Status:		Terminated; merged to -current
1068Start Date:	30 April 2007
1069End Date:	15 October 2007
1070Base Tag:	ppcoea-renovation-base
1071Maintainer:	Tim Rightnour <garbled@netbsd.org>
1072Scope:		src/sys/arch
1073Notes:		This branch is for a general cleanup of all OEA-based PowerPC
1074		ports. OEA (Operating Environment Architecture) PowerPC refers
1075		to the 601, 603, 604, and similar chips.  Specifically, not the
1076		403/401 and other embedded chips. The general concept is to get
1077		them all compiling, and sharing as much code as possible.  All
1078		developers are welcome to commit to this branch.
1079
1080Branch:		thorpej-devvp
1081Description:	replace dev_t with struct vnode * in devsw entry points
1082Status:		Terminated
1083Start Date:	Sep 6 2001
1084End Date:	???
1085Base Tag:	thorpej-devvp-base
1086Maintainer:	Jason Thorpe <thorpej@NetBSD.org>
1087Scope:		syssrc
1088Notes:		Kernels built from this branch are not expected
1089		to function correctly at this time.
1090
1091		Ports known to compile on this branch:
1092			alpha
1093			i386
1094
1095Branch:		peter-altq
1096Description:	New ALTQ framework:
1097		- sync with KAME sources
1098		- share mtag/name mapping functions
1099		- separate altq + pf attachment
1100Status:		Terminated; merged to -current
1101Start Date:	March 16, 2006
1102End Date:	October 12, 2006
1103Base Tag:	peter-altq-base
1104Maintainer:	Peter Postma <peter@NetBSD.org>,
1105		Martin Husemann <martin@NetBSD.org>,
1106		Matthias Scheler <tron@NetBSD.org>
1107Scope:		dist/pf dist/ipf distrib/sets/lists sys usr.sbin/altq
1108Notes:		Only the first item in the description was finished
1109		in this branch.
1110
1111Branch:		sommerfeld_i386mp_1
1112Description:	Multiprocessor support for i386 using Intel MP BIOS.
1113Status:		Terminated; merged to -current
1114Start Date:	21 Feb 2000
1115End Date:	01 Oct 2002
1116Base Tag:	sommerfeld_i386mpbase_1
1117Maintainer:	Bill Sommerfeld <sommerfeld@NetBSD.org>
1118Scope:		sys/arch/i386
1119Notes:
1120		Code committed to the branch has booted to multiuser 
1121		on at least one system.
1122
1123		Not guaranteed to compile against mainline since -current
1124		may have changed incompatibly with the last branch update;
1125		use "cvs update -D" to roll-back the rest of the tree to match.
1126
1127		Please get explicit permission from the maintainer 
1128		before each commit, or your changes will be backed out.
1129		Other tags starting with sommerfeld_ are private to 
1130		the developer and are guaranteed to be unstable.
1131		Only the maintainer should move tags.
1132
1133		Note that this branch uses a DIFFERENT scheme for 
1134		syncing with the mainline.  the maintainer uses some private
1135		scripts for keeping them in sync; if you make commits 
1136		to the branch to "resynchronize" things, you'll
1137		probably do it wrong; instead, ask the maintainer to
1138		resynchronize things.
1139
1140		See sys/arch/i386/TODO on the branch for a list of known
1141		issues with the branch.
1142
1143Branch:		thorpej-mips-cache
1144Description:	overhaul MIPS cache support code
1145Status:		Terminated; merged to -current
1146Start Date:	Oct 23 2001
1147End Date:	Nov 14 2001
1148Base Tag:	thorpej-mips-cache-base
1149Scope:		syssrc
1150Notes:		This branch needs more debugging, testing, and more
1151		ports need to be converted to the new world order.
1152
1153		The following processors have had cache ops
1154		written:
1155
1156			* R2000/R3000 (cache_r3k) -- light testing,
1157			  needs to be beat on a lot more to make
1158			  sure it's working.
1159
1160			* R4000/R4400 (cache_r4k) -- mhitch@NetBSD.org
1161			  tracked down a bug, which has been fixed.
1162
1163			  Confirmed working on R4000-with-L2.
1164
1165			  Confirmed working on R4400-no-L2 and
1166			  R4400-with-L2.
1167
1168			* R4600/R5000 (cache_r5k) -- shin@NetBSD.org
1169			  has committed fixes to this code.
1170
1171			  Confirmed working on R4600 v2 (SGI IP-22 with
1172			  no SysAD L2 cache).
1173
1174			  Confirmed working on RM5260 (Algorithmics P-5064).
1175
1176			* TX39 (cache_tx39) -- uch@NetBSD.org has
1177			  committed fixes to this code.  Awaiting
1178			  confirmation that it is working properly.
1179
1180			* R5900 (cache_r5900) -- uch@NetBSD.org has
1181			  written this code and tested it on a
1182			  PlayStation 2.
1183
1184		The following ports have been updated to compile (and
1185		use optimized-for-processor bus_dma routines).  Those
1186		that have been tested and work are marked with [WORKING].
1187
1188			* algor		[WORKING]
1189
1190			* arc		[WORKING]
1191
1192			* pmax		[WORKING]
1193
1194			* playstation2	[WORKING]
1195					Needs optimized bus_dmamap_sync().
1196
1197			* hpcmips	[need verification that this is working]
1198					Needs optimized bus_dmamap_sync().
1199
1200			* sgimips	[WORKING]
1201					Needs optimized bus_dmamap_sync().
1202
1203			* cobalt	[need testing]
1204
1205			* mipsco	[need testing]
1206
1207			* newsmips	[need testing]
1208
1209Branch:		thorpej_scsipi
1210Description:	SCSI/ATAPI midlayer rewrite.
1211Status:		Terminated; merged to -current
1212Start Date:
1213End Date:	Apr 25 2001
1214Base Tag:	thorpej_scsipi_base, thorpej_scsipi_nbase
1215Maintainer:	Manuel Bouyer <bouyer@NetBSD.org>,
1216		Jason Thorpe <thorpej@NetBSD.org>
1217Scope:		syssrc
1218Notes:		When a change from -current is pulled up please move the
1219		thorpej_scsipi_base tag to the revision you're syncing with.
1220		thorpej_scsipi_nbase is private to maintainer (only
1221		used when syncing the whole branch with HEAD).
1222		Just before the merge, syssrc has been tagged with
1223		thorpej_scsipi_beforemerge
1224
1225Branch:		thorpej-signal
1226Description:	?
1227Status:		?
1228Start Date:
1229End Date:
1230Base Tag:	thorpej-signal-base
1231Maintainer:	Jason Thorpe <thorpej@NetBSD.org>
1232Scope:		kernel
1233Notes:
1234
1235Branch:		thorpej-setroot
1236Description:	?
1237Status:		Terminated; merged to -current
1238Start Date:
1239End Date:
1240Base Tag:
1241Maintainer:	Jason Thorpe <thorpej@NetBSD.org>
1242Scope:		kernel
1243Notes:
1244
1245Branch:		simonb-timecounters
1246Description:	Port FreeBSD timecounters to NetBSD
1247Status:		Terminated
1248Start Date:	Sat Feb 04 2006
1249End Date:	Wed Jun 07 2006
1250Base Tag:	simonb-timecounters-base
1251Maintainer:	Simon Burge <simonb@NetBSD.org>,
1252		Frank Kardel <kardel@NetBSD.org>
1253Scope:		sys, sbin/savecore, usr.bin/vmstat, usr.sbin/ntp
1254Notes:		early (partial conversion) commit to -current
1255		ok'ed by core@ on 20060605 for testing and further
1256		simplified conversion
1257
1258Branch:		simonb-wapbl
1259Description:	Wasabi's journaling filesystem support
1260Status:		Terminated; merged to -current
1261Start Date:	Tue Jun 10 2008
1262End Date:	Thu Jul 31 2008
1263Base Tag:	simonb-wapbl-base
1264Maintainer:	Simon Burge <simonb@NetBSD.org>
1265Scope:		src/distrib/sets/lists/comp src/distrib/utils/sysinst
1266		src/include
1267		src/sbin/fsck_ffs src/sbin/fsdb src/sbin/mount_ffs
1268		src/sbin/tunefs src/usr.sbin/dumpfs src/sys
1269Notes:		Still has a number of issues:
1270		 - Some heavy workload performance issues on SMP machines.
1271		   Work around this issue by turning on WAPBL_DEBUG_SERIALIZE
1272		   in rev 1.1.2.11 of vfs_wapbl.c.
1273		 - Removing large files (sparse only?) takes a long time.
1274		   Eg, a file created with
1275		      dd if=/dev/zero of=foox bs=1 count=1 seek=11261748520550
1276		   takes 0:00.00 to remove on my test box without logging and
1277		   0:22.25 to remove with logging.  No disk IO during this...
1278		 - sysinst should use in-fs logs now, not end-of-partition logs.
1279
1280Branch:		vmlocking
1281Description:	Make VM and file system framework MP safe
1282Status:		Terminated
1283Start Date:	13 March 2007
1284End Date:	4 December 2007
1285Base Tag:	vmlocking-base
1286Maintainer:	Andrew Doran <ad@NetBSD.org>
1287Scope:		kernel
1288Notes:		Superseded by vmlocking2 branch.
1289
1290Branch:		vmlocking2
1291Description:	Make VM and file system framework MP safe
1292Status:		Terminated
1293Start Date:	4 December 2007
1294End Date:	2 January 2008
1295Base Tag:	vmlocking2-base3
1296Maintainer:	Andrew Doran <ad@NetBSD.org>
1297Scope:		kernel
1298Notes:		Goals:
1299
1300		- Make VM system / trap handling MP safe.
1301		- Replace simplelocks with mutexes.
1302		- Make file system framework MP safe.
1303
1304		Status by architecture:
1305
1306		  alpha		done
1307		  i386		done
1308		  amd64		done
1309		  mips		done
1310		  sparc		need pmap/trap locking changes	
1311		  sparc64	done
1312		  arm		done
1313		  powerpc	done
1314		  hppa		done
1315		  sh3		done
1316		  m68k		done
1317		  xen		need pmap/trap locking changes
1318
1319		Remaining MI work to do:
1320
1321		- Check aliased vnode handling. There may be problems.
1322
1323		Remaining problems:
1324
1325		- LFS stalls due to v_numoutput leak.
1326
1327Branch:		wrstuden-devbsize
1328Description:	Modify buffer cache to deal with different devices having
1329		different block sizes. Also DEV_BSIZE would go away.
1330Status:		Terminated
1331Start Date:	Aug or Sept 1999
1332End Date:	1 Apr 2000
1333Base tag:	wrstuden-devbsize-base
1334Maintainer:	Bill Studenmund <wrstuden@NetBSD.org>
1335Scope:		kernel
1336Notes:		No longer active due to lack of time, and introduction
1337		of UBC. In terms of UBC, the primary cache for
1338		file data is the VM cache, which needs to operate
1339		in terms of VM pages. As no existing device has native
1340		pages the same size as our VM pages, there already is
1341		a mapping going on between the VM system and the
1342		underlying blocks. So it would be easier and cleaner
1343		to adjust that to deal w/ different block sizes.
1344		Also with UBC, all i/o is in terms of bytes at an offset
1345		with a certain length, so the exact block size isn't a big
1346		deal.
1347
1348		Any other wrstuden-devbsize tag may (and should) go away.
1349
1350Branch:		yamt-idlelwp
1351Description:	idle lwp, and some changes depending on it.
1352
1353		1. separate context switching and thread scheduling.
1354		   (cf. gmcgarry_ctxsw)
1355		2. implement idle lwp.
1356		3. clean up related MD/MI interfaces.
1357		4. make scheduler(s) modular.
1358
1359Status:		Terminated; merged to -current
1360Start Date:	Fri Feb 17 2007
1361End Date:	Thu May 17 2007
1362Base Tag:	yamt-idlelwp-base8
1363Maintainer:	YAMAMOTO Takashi <yamt@NetBSD.org>
1364Scope:		src/sys  (src/common is tagged but not branched)
1365Notes:		
1366		Status of ports:
1367		  alpha			[ Done, UP tested, MP not tested ]
1368		  i386			[ Done, tested ]
1369		  amd64			[ Done, tested ]
1370		  mips			[ Done, both MIPS1 and MIPS3 tested]
1371		  sparc			[ Done, UP tested, MP might have
1372					  some problem after newlock2 merge ]
1373		  sparc64		[ Done, tested ]
1374		  arm			[ Done, SA1 tested. See PR 36548 ]
1375		  macppc/powerpc	[ Done, OEA tested ]
1376		  hppa			[ Done, tested ]
1377		  sh3			[ Done, tested ]
1378		  vax			[ Done, UP tested, MP untested ]
1379		  m68k			[ Done, tested on several ports ]
1380		  ns32k			[ broken ]
1381		  ia64			[ broken ]
1382		  pdp10			[ broken ]
1383
1384		How to adapt a port?
1385
1386		- unify cpu_switch, cpu_exit, cpu_switchto into
1387		  a single cpu_switchto.  see cpu_switchto.9.
1388
1389		- implement cpu_idle.  see cpu_idle.9.
1390
1391		- add a flag argument to cpu_need_resched.
1392		  handle RESCHED_IMMED flag, which means "cause a preemption
1393		  as soon as possible."  eg. in the case of MULTIPROCESSOR,
1394		  send an IPI to the target cpu.
1395
1396		- "curlwp == NULL" is not a valid check for idle state anymore.
1397		  use "(curlwp->l_flag & LW_IDLE) != 0" instead.  curlwp is
1398		  almost always non-NULL, with exceptions like early on boot.
1399
1400		- remove idle pcbs.
1401
1402		- (if MULTIPROCESSOR) tweak processor trampoline code.
1403
1404		- (if MULTIPROCESSOR) call mi_cpu_attach when attaching
1405		  secondary processors.
1406
1407		- (if schedhz!=0) call schedclock regardless of the value of
1408		  curlwp.
1409
1410		- of course, update MD users of scheduler/switching API.
1411
1412Branch:		yamt-lazymbuf
1413Description:	change the way to share mbuf external storage so that
1414		it can work without kernel_lock.
1415Status:		Terminated; merged to -current
1416Start Date:	Wed Jul  6 2005
1417End Date:	Mon Mar 24 2008
1418Base Tag:	yamt-lazymbuf-base14
1419Maintainer:	YAMAMOTO Takashi <yamt@NetBSD.org>
1420Scope:		src/sys  (src/common is tagged but not branched)
1421Notes:		
1422
1423Branch:		yamt-km, yamt-km-doc
1424Description:	simplify/improve kernel memory management and bootstrap
1425Status:		Terminated; merged to -current
1426Start Date:	Tue Jan 25 2005
1427End Date:	Fri Apr  1 2005
1428Base Tag:	yamt-km-base{,2,3,4}, yamt-km-doc-base
1429Maintainer:	YAMAMOTO Takashi <yamt@NetBSD.org>
1430Scope:		yamt-km: src/sys
1431		yamt-km-doc: src/share/man/man9/uvm.9
1432Notes:		http://mail-index.NetBSD.org/tech-kern/2004/12/25/0005.html
1433
1434		the followings are per-port status.
1435		(account names mean "tested by".)
1436
1437		works enough to go to multiuser:
1438			alpha, i386, xen (yamt@)
1439			pc532 (simonb@)
1440			alpha, i386, mac68k, macppc, pmax, shark,
1441			    sparc, sparc64, sun3, x68k (chs@)
1442			cobalt, dreamcast, hp300, news68k, newsmips,
1443			    sun3x (tsutsui@)
1444			amiga (mhitch@)
1445			cats, hp700 (skrll@)
1446			xen (bouyer@)
1447
1448		known to have the same problem as trunk:
1449			vax (chs@, stuck while running kvm_mkdb)
1450
1451		known to have a problem:
1452			luna68k (and, if any, other m68k ports which use TTR)
1453			needs to be revisited.
1454			-> for luna68k, although not tested,
1455			   Sysmap has been moved to avoid kva conflict with
1456			   I/O ranges.
1457
1458		buildable:
1459			src/sys/arch/acorn26/conf/GENERIC
1460			src/sys/arch/acorn32/conf/GENERIC
1461			src/sys/arch/algor/conf/P6032
1462			src/sys/arch/alpha/conf/GENERIC
1463			src/sys/arch/alpha/conf/GENERIC.MP
1464			src/sys/arch/amd64/conf/GENERIC
1465			src/sys/arch/amd64/conf/GENERIC.MP
1466			src/sys/arch/amiga/conf/GENERIC
1467			src/sys/arch/arc/conf/GENERIC
1468			src/sys/arch/atari/conf/MILAN-PCIIDE
1469			src/sys/arch/bebox/conf/GENERIC
1470			src/sys/arch/cats/conf/GENERIC
1471			src/sys/arch/cesfic/conf/GENERIC
1472			src/sys/arch/cobalt/conf/GENERIC
1473			src/sys/arch/dreamcast/conf/GENERIC
1474			src/sys/arch/evbarm/conf/TS7200
1475			src/sys/arch/evbppc/conf/WALNUT
1476			src/sys/arch/evbsh3/conf/COMPUTEXEVB
1477			src/sys/arch/evbsh5/conf/CAYMAN64
1478			src/sys/arch/hp300/conf/GENERIC
1479			src/sys/arch/hp700/conf/GENERIC
1480			src/sys/arch/hpcarm/conf/JORNADA728
1481			src/sys/arch/hpcmips/conf/GENERIC
1482			src/sys/arch/hpcsh/conf/GENERIC
1483			src/sys/arch/hpcsh/conf/HPW650PA
1484			src/sys/arch/i386/conf/GENERIC
1485			src/sys/arch/i386/conf/GENERIC.MP
1486			src/sys/arch/i386/conf/XEN0
1487			src/sys/arch/i386/conf/XENU
1488			src/sys/arch/ibmnws/conf/GENERIC
1489			src/sys/arch/iyonix/conf/GENERIC
1490			src/sys/arch/luna68k/conf/GENERIC
1491			src/sys/arch/mac68k/conf/GENERIC
1492			src/sys/arch/macppc/conf/GENERIC
1493			src/sys/arch/macppc/conf/GENERIC.MP
1494			src/sys/arch/mipsco/conf/GENERIC
1495			src/sys/arch/mmeye/conf/GENERIC
1496			src/sys/arch/mvme68k/conf/GENERIC
1497			src/sys/arch/netwinder/conf/GENERIC
1498			src/sys/arch/news68k/conf/GENERIC
1499			src/sys/arch/newsmips/conf/GENERIC
1500			src/sys/arch/next68k/conf/GENERIC
1501			src/sys/arch/ofppc/conf/GENERIC
1502			src/sys/arch/pc532/conf/GENERIC
1503			src/sys/arch/pmax/conf/GENERIC
1504			src/sys/arch/prep/conf/GENERIC
1505			src/sys/arch/sandpoint/conf/GENERIC
1506			src/sys/arch/sbmips/conf/GENERIC
1507			src/sys/arch/sgimips/conf/GENERIC32_IP3x
1508			src/sys/arch/shark/conf/GENERIC
1509			src/sys/arch/sparc/conf/GENERIC
1510			src/sys/arch/sparc/conf/GENERIC.MP
1511			src/sys/arch/sparc64/conf/GENERIC
1512			src/sys/arch/sparc64/conf/GENERIC.MP
1513			src/sys/arch/sun2/conf/GENERIC
1514			src/sys/arch/sun3/conf/GENERIC
1515			src/sys/arch/vax/conf/GENERIC
1516			src/sys/arch/vax/conf/GENERIC.MP
1517			src/sys/arch/x68k/conf/GENERIC
1518
1519			src/sys/arch/playstation2/conf/GENERIC
1520
1521Branch:		yamt-pdpolicy
1522Description:	play with page replacement policy
1523		- separate page replacement policy from the rest of kernel
1524		- implement alternative replacement policy
1525		- related read-ahead adjustment?
1526Status:		Terminated; merged to -current
1527Start Date:	Sun Mar  5 2006
1528End Date:	Sat Sep 16 2006
1529Base Tag:	yamt-pdpolicy-base9
1530Maintainer:	YAMAMOTO Takashi <yamt@NetBSD.org>
1531Scope:		src/sys  (src/common is tagged but not branched)
1532Notes:		
1533
1534Branch:		yamt-pf42
1535Description:	import newer pf from OpenBSD 4.2
1536Status:		Terminated; merged to -current
1537Start Date:	Sat Apr 19 2008
1538End Date:	Wed Jun 18 2008
1539Base Tag:	yamt-pf42-base4
1540Maintainer:	Peter Postma <peter@NetBSD.org>,
1541		YAMAMOTO Takashi <yamt@NetBSD.org>
1542Scope:		src
1543Notes:		see sys/dist/pf/net/TODO
1544
1545Branch:		yamt-readahead
1546Description:	play with file readahead
1547Status:		Terminated; merged to -current
1548Start Date:	Mon Nov 14 2005
1549End Date:	Wed Nov 30 2005
1550Base Tag:	yamt-readahead-base3
1551Maintainer:	YAMAMOTO Takashi <yamt@NetBSD.org>
1552Scope:		src/sys
1553Notes:		
1554
1555Branch:		yamt-uio_vmspace
1556Description:	uio_lwp/uio_segflg -> uio_vmspace
1557Status:		Terminated; merged to -current
1558Start Date:	Mon Dec 31 2005
1559End Date:	Wed Mar  1 2006
1560Base Tag:	yamt-uio_vmspace-base5
1561Maintainer:	YAMAMOTO Takashi <yamt@NetBSD.org>
1562Scope:		src/sys
1563Notes:		
1564
1565Branch:		yamt-splraiseipl
1566Description:	finish implementing splraiseipl (and makeiplcookie).
1567		http://mail-index.NetBSD.org/tech-kern/2006/07/01/0000.html
1568
1569		- completes workqueue(9) and netbt.
1570		- fix PR/33218.
1571
1572Status:		Terminated; merged to -current
1573Start Date:	Mon Sep 18 2006
1574End Date:	Fri Dec 22 2006
1575Base Tag:	yamt-splraiseipl-base5
1576Maintainer:	YAMAMOTO Takashi <yamt@NetBSD.org>
1577Scope:		src/sys  (src/common is tagged but not branched)
1578Notes:		
1579		tested (by who):
1580			alpha		(yamt)
1581			alpha		(pavel)
1582			amd64		(reported privately)
1583			cobalt		(tsutsui)
1584			ews4800mips	(tsutsui)
1585			hp300		(tsutsui)
1586			hpcarm		(reported privately)
1587			i386		(yamt)
1588			macppc		(tsutsui)
1589			news68k		(tsutsui)
1590			sgimips(IP32)	(tsutsui)
1591			sparc(sun4c)	(tsutsui)
1592			sun2		(tsutsui)
1593			sun3		(tsutsui)
1594			sun3x		(tsutsui)
1595			xen		(yamt)
1596
1597		compile-tested:
1598			acorn26
1599			acorn32
1600			algor
1601			amiga
1602			arc
1603			atari
1604			bebox
1605			cats
1606			cesfic
1607			dreamcast
1608			evbarm
1609			evbmips
1610			evbppc(marvell)
1611			evbppc(ibm4xx)
1612			evbsh3
1613			hp700
1614			hpcmips
1615			hpcsh
1616			ia64
1617			ibmnws
1618			iyonix
1619			landisk
1620			luna68k
1621			mac68k
1622			mmeye
1623			mvme68k
1624			mvmeppc
1625			mipsco
1626			netwinder
1627			newsmips
1628			next68k
1629			ofppc
1630			pc532
1631			pmax
1632			pmppc
1633			prep
1634			sandpoint
1635			sbmips
1636			shark
1637			sparc
1638			sparc64
1639			vax
1640			x68k
1641			zaurus
1642
1643		not tested:
1644			pdp10 (i don't know how to build)
1645			sh5 (not buildable with an unrelated problem.)
1646
1647    compile  CAYMAN64/netbsd32_sa.o
1648    cc1: warnings being treated as errors
1649    /exports/nbsd/src/sys/compat/netbsd32/netbsd32_sa.c: In function 'netbsd32_sa_ucsp':
1650    /exports/nbsd/src/sys/compat/netbsd32/netbsd32_sa.c:126: warning: implicit declaration of function '_UC_MACHINE32_SP'
1651    --- netbsd32_sa.o ---
1652    *** [netbsd32_sa.o] Error code 1
1653    1 error
1654
1655		notyet:
1656			amigappc
1657			playstation2
1658
1659Branch:		yamt-vop
1660Description:	remove several VOPs
1661Status:		Terminated; merged to -current
1662Start Date:	Wed Oct 19 2005
1663End Date:	Wed Nov  2 2005
1664Base Tag:	yamt-vop-base3
1665Maintainer:	YAMAMOTO Takashi <yamt@NetBSD.org>
1666Scope:		src/sys
1667Notes:		http://mail-index.NetBSD.org/tech-kern/2005/09/27/0000.html
1668
1669Branch:		yamt-x86pmap
1670Description:	merge i386 and amd64 pmap
1671Status:		Terminated; merged to -current
1672Start Date:	Mon Sep 24 2007
1673End Date:	Fri Oct 19 2007
1674Base Tag:	yamt-x86pmap-base4
1675Maintainer:	YAMAMOTO Takashi <yamt@NetBSD.org>
1676Scope:		src/sys  (src/common is tagged but not branched)
1677Notes:		
1678
1679Branch:		gdamore-uart
1680Description:	Add register table support to com driver.
1681Status:		Active
1682Start Date:	14 June 2006
1683End Date:	13 July 2006
1684Base Tag:	gdamore-uart-base
1685Maintainer:	Garrett D'Amore <gdamore@NetBSD.org>
1686Scope:		kernel
1687Notes:		Results in consolidation of Alchemy (mips/dev/alchemy/aucom.c)
1688		com support, and also removes a nasty hack from Atheros com.
1689
1690Branch:		christos-time_t
1691Description:	Change time_t and dev_t to 64 bit quantities; fix timeval
1692		and timespec.
1693Status:		merged
1694Start Date:	29 March 2008
1695End Date:	10 January 2009
1696Base Tag:	christos-time_t-base
1697Maintainer:	Christos Zoulas <christos@NetBSD.org>
1698Scope:		kernel, libc, libutil, userland
1699Notes:		Requires a major bump of all libraries except libc, libutil.
1700########################################################################
1701# Other:
1702########################################################################
1703
1704Branch:		magnum
1705Description:	?
1706Status:		?
1707Start Date:
1708End Date:
1709Base Tag:	magnum-base
1710Maintainer:	?
1711Scope:		kernel
1712Notes:
1713
1714