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