BRANCHES revision 1.165
11.165Syamt#	$NetBSD: BRANCHES,v 1.165 2007/03/20 12:17:17 yamt Exp $
21.1Slukem#
31.1Slukem# This file contains a list of branches that exist in the NetBSD CVS
41.1Slukem# tree and their current state.
51.1Slukem#
61.1Slukem# This list is necessarily incomplete.
71.1Slukem# 
81.1Slukem# Within reason, developers may create branch and version tags at any
91.1Slukem# time for any purpose.  To avoid name collisions, private tags should
101.1Slukem# have names which begin with the developer's NetBSD login name
111.1Slukem# followed by a - or _ character (e.g., thorpej_scsipi,
121.1Slukem# thorpej-signal)
131.1Slukem# 
141.1Slukem# Any branch or version tag not listed here should be assumed to be
151.1Slukem# private to the developer who created it.  It is inappropriate for
161.1Slukem# anyone other than that developer to commit, move tags, or otherwise
171.1Slukem# modify the contents of the branch.
181.1Slukem#
191.1Slukem# Please update this file when a new branch is ready for consumption
201.1Slukem# by folks other than the maintainer, or when the use or status of an
211.1Slukem# existing branch changes significantly.
221.1Slukem#
231.1Slukem# Format:
241.1Slukem#   Branch:	  name of branch
251.1Slukem#   Description:  Purpose and intention of the branch
261.1Slukem#   Status:	  Active/Terminated/Dormant
271.1Slukem#   Start Date:	  date first instantiated
281.1Slukem#   End Date:	  date it was Terminated/made_Dormant, if any
291.1Slukem#   Base Tag:	  netbsd-1-5-base, etc.
301.1Slukem#   Maintainer:	  Somebody to blame.
311.1Slukem#   Scope:	  Portion of the tree covered.
321.1Slukem#   Notes:	  Various other info, perhaps explanation of special tags,
331.1Slukem#		  who-may-commit policies, etc.
341.79Sbriggs#
351.79Sbriggs# There are four sections to this file:
361.79Sbriggs#   Release branches
371.79Sbriggs#   Individual developers' branches (Active/Dormant)
381.79Sbriggs#   Individual developers' branches (Terminated), and
391.79Sbriggs#   other
401.79Sbriggs#
411.79Sbriggs# Entries within each section should be alphabetized.
421.79Sbriggs#
431.1Slukem
441.1Slukem
451.1Slukem# Release branches:
461.1Slukem
471.1SlukemBranch:		comdex-fall-1999
481.1SlukemDescription:	Special release branch for pre-1.5 release at
491.1Slukem		Fall 1999 COMDEX.
501.1SlukemStatus:		Terminated
511.1SlukemStart Date:
521.1SlukemEnd Date:
531.1SlukemBase Tag:	comdex-fall-1999-base
541.1SlukemMaintainer:	?
551.1SlukemScope:		Entire tree.
561.1SlukemNotes:
571.1Slukem
581.1SlukemBranch:		netbsd-0-9
591.1SlukemDescription:	The NetBSD 0.9 release branch
601.1SlukemStatus:		Terminated
611.1SlukemStart Date:
621.1SlukemEnd Date:
631.1SlukemBase Tag:	netbsd-0-9-base
641.10SsaloMaintainer:	Release Engineering <releng@NetBSD.org>
651.1SlukemScope:		Entire tree.
661.1SlukemNotes:		Subsidiary tags of: netbsd-0-9-ALPHA, netbsd-0-9-ALPHA2,
671.1Slukem		netbsd-0-9-BETA, netbsd-0-9-RELEASE.
681.1Slukem		Commits restricted to release engineering.
691.1Slukem
701.1SlukemBranch:		netbsd-1-0
711.1SlukemDescription:	The NetBSD 1.0 release branch
721.1SlukemStatus:		Terminated
731.1SlukemStart Date:
741.1SlukemEnd Date:
751.1SlukemBase Tag:	netbsd-1-0-base
761.10SsaloMaintainer:	Release Engineering <releng@NetBSD.org>
771.1SlukemScope:		Entire tree.
781.1SlukemNotes:
791.1Slukem		Commits restricted to release engineering.
801.1Slukem
811.1SlukemBranch:		netbsd-1-1
821.1SlukemDescription:	The NetBSD 1.1 release branch
831.1SlukemStatus:		Terminated
841.1SlukemStart Date:
851.1SlukemEnd Date:
861.1SlukemBase Tag:	netbsd-1-1-base
871.10SsaloMaintainer:	Release Engineering <releng@NetBSD.org>
881.1SlukemScope:		Entire tree.
891.1SlukemNotes:
901.1Slukem		Commits restricted to release engineering.
911.1Slukem
921.1SlukemBranch:		netbsd-1-2
931.1SlukemDescription:	The NetBSD 1.2 release branch
941.1SlukemStatus:		Terminated
951.1SlukemStart Date:
961.1SlukemEnd Date:
971.1SlukemBase Tag:	netbsd-1-2-base
981.10SsaloMaintainer:	Release Engineering <releng@NetBSD.org>
991.1SlukemScope:		Entire tree.
1001.1SlukemNotes:
1011.1Slukem		Commits restricted to release engineering.
1021.1Slukem
1031.1SlukemBranch:		netbsd-1-3
1041.1SlukemDescription:	The NetBSD 1.3 release branch
1051.1SlukemStatus:		Terminated
1061.1SlukemStart Date:
1071.1SlukemEnd Date:
1081.1SlukemBase Tag:	netbsd-1-3-base
1091.10SsaloMaintainer:	Release Engineering <releng@NetBSD.org>
1101.1SlukemScope:		Entire tree.
1111.1SlukemNotes:
1121.1Slukem		Commits restricted to release engineering.
1131.1Slukem
1141.1SlukemBranch:		netbsd-1-4
1151.1SlukemDescription:	The NetBSD 1.4 release branch
1161.13SjmcStatus:		Terminated
1171.1SlukemStart Date:	1 Apr 2000
1181.1SlukemEnd Date:
1191.1SlukemBase Tag:	netbsd-1-4-base
1201.10SsaloMaintainer:	1.4 Release Engineering <releng-1-4@NetBSD.org>
1211.1SlukemScope:		Entire tree.
1221.1SlukemNotes:
1231.1Slukem		Commits restricted to release engineering.
1241.1Slukem
1251.1SlukemBranch:		netbsd-1-5
1261.1SlukemDescription:	The NetBSD 1.5 release branch
1271.37SjmcStatus:		Terminated
1281.1SlukemStart Date:	20 Jun 2000
1291.37SjmcEnd Date:	26 Jan 2005
1301.1SlukemBase Tag:	netbsd-1-5-base
1311.10SsaloMaintainer:	1.5 Release Engineering <releng-1-5@NetBSD.org>
1321.1SlukemScope:		Entire tree.
1331.1SlukemNotes:
1341.1Slukem		Commits restricted to release engineering.
1351.6Slukem
1361.6SlukemBranch:		netbsd-1-6
1371.6SlukemDescription:	The NetBSD 1.6 release branch
1381.91SwizStatus:		Terminated
1391.7SlukemStart Date:	22 May 2002
1401.6SlukemEnd Date:
1411.6SlukemBase Tag:	netbsd-1-6-base
1421.10SsaloMaintainer:	1.6 Release Engineering <releng-1-6@NetBSD.org>
1431.6SlukemScope:		Entire tree.
1441.6SlukemNotes:
1451.6Slukem		Commits restricted to Release Engineering.
1461.1Slukem
1471.88SrizBranch:		netbsd-2
1481.88SrizDescription:    The NetBSD 2 release branch
1491.88SrizStatus:		Active
1501.88SrizStart Date:	23 Dec 2004
1511.88SrizEnd Date:
1521.88SrizBase Tag:	netbsd-2-base
1531.88SrizMaintainer:	2 Release Engineering <releng-2@NetBSD.org>
1541.88SrizScope:		Entire tree. (src + xsrc)
1551.88SrizNotes:
1561.88Sriz		Commits restricted to Release Engineering.
1571.88Sriz
1581.13SjmcBranch:		netbsd-2-0
1591.37SjmcDescription:	Originally the NetBSD 2.0 release branch and now the branch 
1601.37Sjmc		tracking security/critical fixes for the NetBSD 2.0 series
1611.13SjmcStatus:		Active
1621.37SjmcStart Date:	28 Mar 2004 and changed for security/critical function on
1631.37Sjmc       		23 Dec 2004
1641.13SjmcEnd Date:
1651.13SjmcBase Tag:	netbsd-2-0-base
1661.13SjmcMaintainer:	2.0 Release Engineering <releng-2-0@NetBSD.org>
1671.13SjmcScope:		Entire tree. (src + xsrc)
1681.37SjmcNotes:		Branch was re-purposed to security/critical change function
1691.37Sjmc		once 2.0 released. See netbsd-2 for current branch to track
1701.37Sjmc		NetBSD 2 tree.
1711.37Sjmc		Commits restricted to Release Engineering.
1721.37Sjmc
1731.88SrizBranch:		netbsd-2-1
1741.88SrizDescription:	Tracking security/critical fixes for NetBSD 2.1
1751.37SjmcStatus:		Active
1761.88SrizStart Date:     26 Oct 2005 
1771.37SjmcEnd Date:
1781.88SrizBase Tag:	netbsd-2-1-RELEASE
1791.37SjmcMaintainer:	2 Release Engineering <releng-2@NetBSD.org>
1801.37SjmcScope:		Entire tree. (src + xsrc)
1811.88SrizNotes:		Branch contains only security/critical fixes to
1821.88Sriz		NetBSD 2.1.  For new features, use netbsd-2 branch.
1831.13Sjmc		Commits restricted to Release Engineering.
1841.13Sjmc
1851.36SjmcBranch:		netbsd-3
1861.36SjmcDescription:	The NetBSD 3 release branch
1871.36SjmcStatus:		Active
1881.36SjmcStart Date:	16 Mar 2005
1891.36SjmcEnd Date:
1901.36SjmcBase Tag:	netbsd-3-base
1911.37SjmcMaintainer:	3 Release Engineering <releng-3@NetBSD.org>
1921.36SjmcScope:		Entire tree. (src + xsrc)
1931.36SjmcNotes:
1941.36Sjmc		Commits restricted to Release Engineering.
1951.1Slukem
1961.88SrizBranch:		netbsd-4
1971.88SrizDescription:	The NetBSD 4 release branch
1981.51SrizStatus:		Active
1991.88SrizStart Date:	8 Aug 2006
2001.51SrizEnd Date:
2011.88SrizBase Tag:	netbsd-4-base
2021.88SrizMaintainer:	4 Release Engineering <releng-4@NetBSD.org>
2031.51SrizScope:		Entire tree. (src + xsrc)
2041.88SrizNotes:
2051.51Sriz		Commits restricted to Release Engineering.
2061.51Sriz
2071.79Sbriggs########################################################################
2081.79Sbriggs# Individual developers' branches (Active/Dormant):
2091.79Sbriggs########################################################################
2101.4Sbjh21
2111.158SyamtBranch:		ad-audiomp
2121.158SyamtDescription:	Add MP locking to the audio drivers
2131.158SyamtStatus:		Active
2141.161SadStart Date:	28 Febuary 2007
2151.158SyamtEnd Date:
2161.158SyamtBase Tag:	ad-audiomp-base
2171.158SyamtMaintainer:	Andrew Doran <ad@NetBSD.org>
2181.158SyamtScope:		kernel
2191.158SyamtNotes:		Making the audio drivers MP safe is necessary before efforts
2201.158Syamt		can be made to make the VM system MP safe. About 1/2 of the
2211.158Syamt		drivers are converted, the remaining 1/2 need more changes.
2221.158Syamt
2231.158Syamt		As of import this is snapshot of work in progress and so
2241.158Syamt		may not compile; in particular the midi changes are very
2251.158Syamt		much "in progress". The audio component has been tested
2261.158Syamt		and verified to work with emuxki and auvia. There may
2271.158Syamt		be a locking issue in the ac97 code at boot.
2281.158Syamt
2291.158Syamt		The are two locks per device instance, an ISR lock and
2301.158Syamt		a character device lock. The ISR lock replaces calls to
2311.158Syamt		splaudio()/splx(), and will be held across calls to device
2321.158Syamt		methods which were called at splaudio() before (e.g.
2331.158Syamt		trigger_output). The character device lock is held across
2341.158Syamt		calls to nearly all of the methods, excluding some only
2351.158Syamt		used for initializtion, e.g. get_locks. This needs to be
2361.158Syamt		documented at merge time.
2371.158Syamt
2381.158Syamt		To test on a multi way x86 system, search for "mpsafe" in
2391.158Syamt		x86/x86/intr.c and change IPL_SCHED to IPL_AUDIO. Run a job
2401.158Syamt		that will acquire the ISR lock (depends on the hardware, but
2411.158Syamt		"while true; do mixerctl -a > /dev/null; done" may suffice).
2421.158Syamt		Play audio, run lockstat and verify that that there is
2431.158Syamt		contention on the ISR lock.
2441.158Syamt
2451.4Sbjh21Branch:		bjh21-hydra
2461.4Sbjh21Description:	Simtec Hydra support and ARM SMP in general
2471.90Sbjh21Status:		Dormant
2481.4Sbjh21Start Date:	18 Oct 2002
2491.4Sbjh21End Date:
2501.4Sbjh21Base Tag:	bjh21-hydra-base
2511.10SsaloMaintainer:	Ben Harris <bjh21@NetBSD.org>
2521.4Sbjh21Scope:		sys/arch/arm sys/arch/acorn32
2531.90Sbjh21Notes:		This code was on a branch because it involves changes to
2541.4Sbjh21		cpuswitch.S which would otherwise make merging the
2551.90Sbjh21		nathanw_sa branch difficult.
2561.1Slukem
2571.79SbriggsBranch:		gmcgarry_ctxsw
2581.79SbriggsDescription:	Separate scheduler from context-switch code
2591.79SbriggsStatus:		Dormant
2601.79SbriggsStart Date:	18 December 2002
2611.79SbriggsEnd Date:
2621.79SbriggsBase Tag:	gmcgarry_ctxsw_base
2631.79SbriggsMaintainer:	Gregory McGarry <gmcgarry@NetBSD.org>
2641.79SbriggsScope:		kernel
2651.79SbriggsNotes:		Removing knowledge of the schedular and its run queues
2661.79Sbriggs		from the machine-dependent context switch code is the
2671.79Sbriggs		first step in cleaning up the scheduler.  It is necessary
2681.79Sbriggs		for the newlock branch, making the scheduler SMP friendly,
2691.79Sbriggs		adding real-time scheduler extensions, and reducing the
2701.79Sbriggs		number of code paths for LWP and proc switching.
2711.79Sbriggs
2721.79SbriggsBranch:		gmcgarry_ucred
2731.79SbriggsDescription:	Integrate and encapsulate user credentials
2741.79SbriggsStatus:		Dormant
2751.79SbriggsStart Date:	18 December 2002
2761.79SbriggsEnd Date:
2771.79SbriggsBase Tag:	gmcgarry_ucred_base
2781.79SbriggsMaintainer:	Gregory McGarry <gmcgarry@NetBSD.org>
2791.79SbriggsScope:		kernel
2801.79SbriggsNotes:		merge pcred and ucred and poolify
2811.79Sbriggs
2821.79SbriggsBranch:		kame
2831.79SbriggsDescription:	KAME Project
2841.79SbriggsStatus:		Dormant
2851.79SbriggsStart Date:	28 Jun 1999
2861.79SbriggsEnd Date:
2871.79SbriggsBase Tag:
2881.79SbriggsMaintainer:	Jun-ichiro itojun Hagino <itojun@NetBSD.org>
2891.79SbriggsScope:		kernel
2901.79SbriggsNotes:		http://www.kame.net
2911.79Sbriggs		Used for "reference" purposes for early part of KAME
2921.79Sbriggs		integration effort.  The branch is not actively used, as I
2931.79Sbriggs		(itojun) use patch(1) and diff(1) for the KAME syncs.
2941.79Sbriggs
2951.79SbriggsBranch:		kent-audio2
2961.79SbriggsDescription:	In-kernel audio mixer
2971.79SbriggsStatus:		Active
2981.79SbriggsStart Date:	Sun Jan 16 2005
2991.79SbriggsEnd Date:	
3001.79SbriggsBase Tag:	kent-audio2-base
3011.79SbriggsMaintainer:	TAMURA Kent <kent@NetBSD.org>
3021.79SbriggsScope:		kernel (audio device drivers)
3031.79SbriggsNotes:		http://mail-index.netbsd.org/tech-kern/2004/12/03/0007.html
3041.79Sbriggs		Please consult with the maintainer before committing
3051.79Sbriggs		to this branch.
3061.79Sbriggs		This branch is not expected to be compilable yet.
3071.79Sbriggs
3081.79SbriggsBranch:		matt-timespec
3091.79SbriggsDescription:	Convert the kernel to struct timespec as its primary time
3101.79Sbriggs		storage mechanism.
3111.79SbriggsStatus:		Active
3121.79SbriggsStart Date:	2005-02-19
3131.79SbriggsEnd Date:
3141.79SbriggsBase Tag:	
3151.79SbriggsMaintainer:	Matt Thomas <matt@NetBSD.org>
3161.79SbriggsScope:		kernel
3171.79SbriggsNotes:	
3181.79Sbriggs
3191.79SbriggsBranch:		newlock
3201.79SbriggsDescription:	New locking primitives, based on Solaris's
3211.154SadStatus:		Terminated
3221.79SbriggsStart Date:	March 9, 2002
3231.154SadEnd Date:	Febuary 12, 2007
3241.79SbriggsBase Tag:	newlock-base
3251.79SbriggsMaintainer:	Jason R. Thorpe <thorpej@NetBSD.org>
3261.79SbriggsScope:		Kernel
3271.79SbriggsNotes:		The goal is to replace the existing lockmgr() and
3281.79Sbriggs		simple_lock() based locking mechanisms with the
3291.79Sbriggs		primitives found in Solaris: mutexes and rwlocks.
3301.154Sad		Superseeded by the newlock2 branch.
3311.79Sbriggs
3321.94SadBranch:		newlock2
3331.94SadDescription:	New locking primitives, based on Solaris's
3341.154SadStatus:		Terminated
3351.94SadStart Date:	September 9, 2006
3361.154SadEnd Date:	Febuary 12, 2007
3371.94SadBase Tag:	newlock2-base
3381.94SadMaintainer:	Andrew Doran <ad@NetBSD.org>
3391.94SadScope:		Kernel
3401.94SadNotes:		As per the newlock branch, however given the amount of time
3411.94Sad		the original branch has lain dormant, a new one has been
3421.154Sad		created.  Goals:
3431.95Swiz		- Implement new locking primitives on most-used ports.
3441.94Sad		- Minor locking improvements.
3451.94Sad		- Remove spinlockmgr().
3461.94Sad
3471.79SbriggsBranch:	  	pkgviews
3481.79SbriggsDescription:  	package views, enabling multiple conflicting packages to co-exist
3491.79SbriggsStatus:		Active
3501.79SbriggsStart Date:	22 July 2002
3511.79SbriggsEnd Date:
3521.79SbriggsBase Tag:	pkgviews
3531.79SbriggsMaintainer:	Alistair Crooks <agc@NetBSD.org>
3541.79SbriggsScope:		pkgsrc, basesrc/usr.sbin/pkg_install
3551.79SbriggsNotes:		A more flexible infrastructure for third-party packages by
3561.79Sbriggs		allowing multiple conflicting packages and versions to co-exist
3571.79Sbriggs		within the same tree
3581.79Sbriggs
3591.79SbriggsBranch:		rpaulo-netinet-merge-pcb
3601.79SbriggsDescription:	merge in6pcb with inpcb
3611.133SrpauloStatus:		Dormant
3621.79SbriggsStart Date:	Wed Feb 01 2006
3631.79SbriggsEnd Date:	
3641.79SbriggsBase Tag:	rpaulo-netinet-merge-pcb-base
3651.79SbriggsMaintainer:	Rui Paulo <rpaulo@NetBSD.org>
3661.79SbriggsScope:		src/sys
3671.135SrpauloNotes:		No longer active due to the lack of time. If you plan to
3681.135Srpaulo		continue this branch, sys/netinet/in_pcb.h already contains
3691.135Srpaulo		the proposed structure layout (which was roughly discussed
3701.135Srpaulo		in the tech-net mailing list).
3711.135Srpaulo		I also defined INP_*() macros to mimicate FreeBSD's inpcb
3721.135Srpaulo		locking style, but currently they do nothing and are not
3731.135Srpaulo		yet called at the correct places (needs discussion about
3741.135Srpaulo		kernel fine-grained locking).
3751.135Srpaulo		To continue this branch, one needs to read all the relevant
3761.135Srpaulo		inpcb/in6pcb source files and change the function names,
3771.135Srpaulo		structure names, structure fileds according to the new
3781.135Srpaulo		layout (in6pcb is gone).
3791.135Srpaulo		Don't try to build a kernel from this branch because it won't
3801.135Srpaulo		work. The missing pieces required to do a complete build
3811.135Srpaulo		were not committed because they were incomplete and generated
3821.135Srpaulo		panics.
3831.135Srpaulo		You shouldn't need to worry about KAME syncs because
3841.135Srpaulo		they did most of them by now.
3851.135Srpaulo		After the work is done, you are required to test the branch
3861.135Srpaulo		(before the merge to -current) with an interop IPv6 test.
3871.135Srpaulo		More info at: http://www.tahi.org/
3881.79Sbriggs
3891.79SbriggsBranch:		rtr-xorg-branch
3901.79SbriggsDescription:	xorg & static build alterations to src/x11
3911.79SbriggsStatus:		Active
3921.79SbriggsStart Date:	Nov 15 2004
3931.79SbriggsEnd Date:	
3941.79SbriggsBase tag:	rtr-xorg-branch-base
3951.79SbriggsMaintainer:	Tyler R. Retzlaff <rtr@NetBSD.org>
3961.79SbriggsScope:		x11
3971.79Sbriggs		distrib/sets/lists
3981.79Sbriggs		share/mk/bsd.x11.mk
3991.79Sbriggs		share/mk/bsd.own.mk
4001.79Sbriggs		etc/mtree/NetBSD.dist
4011.79SbriggsNotes:		Requires parts of xsrc/xfree (HEAD)
4021.79Sbriggs		xsrc/local, xsrc/xfree/xc/programs/Xserver/hw/netbsd
4031.79Sbriggs		Requires xorg (XORG-6_8_1)
4041.79Sbriggs
4051.79SbriggsBranch:		thorpej-devvp
4061.79SbriggsDescription:	replace dev_t with struct vnode * in devsw entry points
4071.79SbriggsStatus:		Active
4081.79SbriggsStart Date:	Sep 6 2001
4091.79SbriggsEnd Date:
4101.79SbriggsBase Tag:	thorpej-devvp-base
4111.79SbriggsMaintainer:	Jason Thorpe <thorpej@NetBSD.org>
4121.79SbriggsScope:		syssrc
4131.79SbriggsNotes:		Kernels built from this branch are not expected
4141.79Sbriggs		to function correctly at this time.
4151.79Sbriggs
4161.79Sbriggs		Ports known to compile on this branch:
4171.79Sbriggs			alpha
4181.79Sbriggs			i386
4191.79Sbriggs
4201.161SadBranch:		vmlocking
4211.161SadDescription:	Make memory allocators and trap handling MP safe
4221.161SadStatus:		Active
4231.161SadStart Date:	13 March 2007
4241.161SadEnd Date:
4251.161SadBase Tag:	vmlocking-base
4261.161SadMaintainer:	Andrew Doran <ad@NetBSD.org>
4271.161SadScope:		kernel
4281.161SadNotes:
4291.161Sad		- Replace all simplelocks with mutexes
4301.161Sad		- Remove spinlockmgr
4311.161Sad		- Make memory allocators MP safe
4321.162Sad		- Make trap handling MP safe: push kernel lock acquire
4331.162Sad		  back into pager ops.
4341.162Sad
4351.162Sad		Only i386 is currently update.  Most per architecture
4361.162Sad		changes need to be made in the pmap module.  LFS is not
4371.162Sad		currently stable due interaction between the pagedaemon (?)
4381.162Sad		and the HOLDRELE() in lfs_segment.c.  It may trash your
4391.162Sad		filesystem..
4401.161Sad
4411.161Sad		Most of the locks replaced are now sleep/adaptive locks or
4421.161Sad		spin locks at IPL_VM.  Assuming audio interrupt handlers
4431.161Sad		are made MP safe there are far fewer potential deadlocks
4441.161Sad		against the kernel lock.
4451.161Sad
4461.161Sad		v_interlock becomes an adaptive mutex so now acquring
4471.161Sad		it can potentially block, similarly for other locks
4481.161Sad		that were before simplelocks.  This needs to be audited
4491.161Sad		carefully.
4501.161Sad
4511.161Sad		Use vnodes in general needs to be audited, as vnodes can
4521.161Sad		now be inspected without the kernel lock held.
4531.161Sad
4541.161Sad		Acquiring locks in the pmap module can now block, meaning
4551.161Sad		that the current pmap, cpu or lazy pmap status can change
4561.161Sad		out from underneath the requestor.  This also needs to be
4571.161Sad		audited.
4581.161Sad
4591.161Sad		Currently, i386 has the necessary modifications, and has
4601.161Sad		trap handling and a few calls to allocators out from under
4611.161Sad		the kernel lock.  There are still problems that need to be
4621.161Sad		debugged.
4631.161Sad
4641.161Sad		Need to check that whenever a lock is initialized, it is
4651.161Sad		also destroyed.
4661.161Sad
4671.161Sad		Lots of testing required.
4681.161Sad
4691.153SyamtBranch:		yamt-idlelwp
4701.153SyamtDescription:	idle lwp, and some changes depending on it.
4711.153Syamt
4721.153Syamt		1. separate context switching and thread scheduling.
4731.153Syamt		   (cf. gmcgarry_ctxsw)
4741.153Syamt		2. implement idle lwp.
4751.153Syamt		3. clean up related MD/MI interfaces.
4761.154Sad		4. implement interrupt LWPs.
4771.155Srmind		5. make scheduler(s) modular.
4781.153Syamt
4791.153SyamtStatus:		Active
4801.153SyamtStart Date:	Fri Feb 17 2007
4811.153SyamtEnd Date:	
4821.159SrmindBase Tag:	yamt-idlelwp-base3
4831.153SyamtMaintainer:	YAMAMOTO Takashi <yamt@NetBSD.org>
4841.153SyamtScope:		src/sys  (src/common is tagged but not branched)
4851.153SyamtNotes:		
4861.165Syamt		how to adapt a port?
4871.165Syamt
4881.165Syamt		- unify cpu_switch, cpu_exit, cpu_switchto into
4891.165Syamt		  a single cpu_switchto.  see cpu_switchto.9.
4901.165Syamt
4911.165Syamt		- implement cpu_idle.  see cpu_idle.9.
4921.165Syamt
4931.165Syamt		- add a flag argument to cpu_need_resched.
4941.165Syamt		  handle RESCHED_IMMED flag, which means "cause a preemption
4951.165Syamt		  as soon as possible."  eg. in the case of MULTIPROCESSOR,
4961.165Syamt		  send an IPI to the target cpu.
4971.165Syamt
4981.165Syamt		- "curlwp == NULL" is not a valid check for idle state anymore.
4991.165Syamt		  use "(curlwp->l_flag & LW_IDLE) != 0" instead.  curlwp is
5001.165Syamt		  almost always non-NULL, with exceptions like early on boot.
5011.165Syamt
5021.165Syamt		- remove idle pcbs.
5031.165Syamt
5041.165Syamt		- (if MULTIPROCESSOR) allocate idle lwps for non-primary
5051.165Syamt		  processors by calling create_idle_lwp.  tweak processor
5061.165Syamt		  trampoline code.
5071.165Syamt
5081.165Syamt		- (if schedhz!=0) call schedclock regardless of the value of
5091.165Syamt		  curlwp.
5101.165Syamt
5111.165Syamt		- of course, update MD users of scheduler/switching API.
5121.153Syamt
5131.79SbriggsBranch:		yamt-lazymbuf
5141.79SbriggsDescription:	implement and evaluate lazy mapping of mbuf external data pages
5151.92Syamt		it's intended as the first step of larger changes.
5161.92Syamt			1. support operations (esp. bus_dma load) on
5171.92Syamt			   unmapped mbuf.
5181.92Syamt			2. unify mbuf and buf.
5191.92Syamt			   (or, at least some parts of them)
5201.92Syamt			3. then it should be trivial to implement
5211.92Syamt			   i/o coalescing, etc.
5221.79SbriggsStatus:		Active
5231.79SbriggsStart Date:	Wed Jul  6 2005
5241.79SbriggsEnd Date:	
5251.157SyamtBase Tag:	yamt-lazymbuf-base4
5261.79SbriggsMaintainer:	YAMAMOTO Takashi <yamt@NetBSD.org>
5271.152SyamtScope:		src/sys  (src/common is tagged but not branched)
5281.79SbriggsNotes:		
5291.79Sbriggs
5301.163SreinoudBranch:		reinoud-bufcleanup
5311.164SreinoudDescription:	implement and evaluate struct buf usage cleanup strategies.
5321.164Sreinoud		Ideas currently in mind (preference for b):
5331.164Sreinoud		a)
5341.163Sreinoud			1. use of bio_ops per buffer.
5351.163Sreinoud			2. allow chaining/overloading of functions in bio_ops
5361.163Sreinoud			   and provide some private context.
5371.163Sreinoud			3. extend the bio_ops with commenly used functionality
5381.163Sreinoud			   like pending action counting, custom context passing,
5391.163Sreinoud			   last minute processing of buffer data, buffer cache
5401.163Sreinoud			   etc.
5411.163Sreinoud			4. investigate the use of the kcont()
5421.163Sreinoud			   continuation-passing framework for async io
5431.163Sreinoud			   completion notification for bufs
5441.164Sreinoud			...
5451.164Sreinoud		b)
5461.164Sreinoud			1. all sequencing use of B_CALL replaced by
5471.164Sreinoud			   device-threads, if possible generic code around BUFQ
5481.164Sreinoud			2. possibly use kcont() for async IO finished signalling
5491.164Sreinoud			3. counter of pending and queued actions requestable
5501.164Sreinoud			   by IOCTL interface?
5511.164Sreinoud			4. implement `last minute buffer fixup' calls and maybe
5521.164Sreinoud			   even finished I/O calls as vnode operations
5531.164Sreinoud			...
5541.163SreinoudStatus:		Active
5551.163SreinoudStart Date:	Thu Mar 15 2007
5561.163SreinoudEnd Date:
5571.163SreinoudBase Tag:	reinoud-bufcleanup-base
5581.163SreinoudMaintainer:	Reinoud Zandijk <reinoud@NetBSD.org>
5591.163SreinoudScope:		src/sys and src/common
5601.163SreinoudNotes:		Used as expiriment sandbox and if successful hopefully one day
5611.163Sreinoud		to be intergrated.
5621.163Sreinoud
5631.79Sbriggs
5641.79Sbriggs########################################################################
5651.79Sbriggs# Individual developers' branches (Terminated):
5661.79Sbriggs########################################################################
5671.79Sbriggs
5681.1SlukemBranch:		bouyer-scsipi
5691.1SlukemDescription:	Integration of atapi support
5701.1SlukemStatus:		Terminated
5711.1SlukemStart Date:
5721.1SlukemEnd Date:
5731.1SlukemBase Tag:
5741.10SsaloMaintainer:	Manuel Bouyer <bouyer@NetBSD.org>
5751.1SlukemScope:		kernel
5761.1SlukemNotes:		Superseded by thorpej_scsipi
5771.1Slukem
5781.79SbriggsBranch:		bouyer-xen2
5791.79SbriggsDescription:	update xen port to xen 2.0, with support for domain0 operations
5801.79SbriggsStatus:		Terminated
5811.79SbriggsStart Date:	Dec 13 2004
5821.79SbriggsEnd Date:	Mar 10 2005
5831.79SbriggsBase Tag:	netbsd-2-base
5841.79SbriggsMaintainer:	Manuel Bouyer <bouyer@NetBSD.org>
5851.79SbriggsScope:		src/sys/arch/xen
5861.79SbriggsNotes:
5871.79Sbriggs
5881.87SchapBranch: 	chap-midi
5891.87SchapDescription:	Renovation of MIDI support
5901.87SchapStatus: 	Terminated; merged to -current
5911.87SchapStart Date:	19 May 2006
5921.87SchapEnd Date:	30 Jun 2006
5931.87SchapBase Tag:	chap-midi-base
5941.87SchapMaintainer:	Chapman Flack <chap@NetBSD.org>
5951.87SchapScope:		sys, share/man, usr.bin
5961.87SchapNotes:
5971.87Schap
5981.1SlukemBranch:		chs-ubc
5991.44SchsDescription:	Unified Buffer Cache
6001.44SchsStatus:		Terminated
6011.1SlukemStart Date:
6021.1SlukemEnd Date:
6031.1SlukemBase Tag:	chs-ubc-base
6041.10SsaloMaintainer:	Chuck Silvers <chs@NetBSD.org>
6051.1SlukemScope:		kernel
6061.1SlukemNotes:
6071.1Slukem
6081.1SlukemBranch:		chs-ubc2
6091.44SchsDescription:	 Unified Buffer Cache
6101.44SchsStatus:		Terminated; merged to -current
6111.1SlukemStart Date:
6121.1SlukemEnd Date:
6131.1SlukemBase Tag:	chs-ubc2-base, chs-ubc2-newbase
6141.10SsaloMaintainer:	Chuck Silvers <chs@NetBSD.org>
6151.1SlukemScope:		kernel
6161.1SlukemNotes:
6171.1Slukem
6181.1SlukemBranch:		cjs-build-against-obj-dir
6191.1SlukemDescription:	?
6201.1SlukemStatus:		?
6211.1SlukemStart Date:
6221.1SlukemEnd Date:
6231.1SlukemBase Tag:
6241.10SsaloMaintainer:	Curt Sampson <cjs@NetBSD.org>
6251.1SlukemScope:		Entire tree.
6261.1SlukemNotes:
6271.1Slukem
6281.1SlukemBranch:		eeh-paddr_t
6291.44SchsDescription:	use separate types for virtual vs. physical addresses
6301.44SchsStatus:		Terminated; merged to -current
6311.1SlukemStart Date:
6321.1SlukemEnd Date:
6331.1SlukemBase Tag:	eeh-paddr_t-base
6341.10SsaloMaintainer:	Eduardo Horvath <eeh@NetBSD.org>
6351.1SlukemScope:		kernel
6361.44SchsNotes:		This is needed to support 32-bit kernels on sparc64.
6371.1Slukem
6381.79SbriggsBranch:		elad-kernelauth
6391.79SbriggsDescription:	Native NetBSD implementation of Apple's kernel authorization
6401.79Sbriggs		based on TN2127. This is a "clean-room" implementation to
6411.79Sbriggs		avoid any licensing issues.
6421.79SbriggsStatus:		Terminated; merged to -current
6431.79SbriggsStart Date:	Tue Mar	 7 2006
6441.79SbriggsEnd Date:	Mon May 15 2006
6451.79SbriggsBase Tag:	elad-kernelauth-base
6461.79SbriggsMaintainer:	Elad Efrat <elad@NetBSD.org>
6471.79SbriggsScope:		src/sys, src/share/man/man9/Makefile,
6481.79Sbriggs		src/share/man/man9/kauth.h, src/distrib/sets/lists/comp/mi
6491.79SbriggsNotes:
6501.79Sbriggs
6511.1SlukemBranch:		fvdl-softdep
6521.1SlukemDescription:	FFS soft dependencies
6531.44SchsStatus:		Terminated; merged to -current
6541.1SlukemStart Date:
6551.1SlukemEnd Date:
6561.1SlukemBase Tag:	fvdl-softdep-base
6571.10SsaloMaintainer:	Frank van der Linden <fvdl@NetBSD.org>
6581.1SlukemScope:		kernel
6591.1SlukemNotes:
6601.1Slukem
6611.1SlukemBranch:		gehenna-devsw
6621.1SlukemDescription:	auto-generation of devsw table
6631.1SlukemStatus:		Terminated
6641.1SlukemStart Date:	16 May 2002
6651.1SlukemEnd Date:	6 Sep 2002
6661.1SlukemBase Tag:	gehenna-devsw-base
6671.10SsaloMaintainer:	MAEKAWA Masahide <gehenna@NetBSD.org>
6681.1SlukemScope:		syssrc
6691.1SlukemNotes:		The goal is to get rid of the existing device switch tables in
6701.1Slukem		port-dependent conf.c and to generate them dynamically by
6711.1Slukem		config(8).
6721.8Sgmcgarry
6731.1SlukemBranch:		is-newarp
6741.23SisDescription:	ARP for non-Ethernet
6751.23SisStatus:		Terminated; merged before NetBSD 1.3
6761.23SisStart Date:	1996/10/13
6771.23SisEnd Date:	1997/03/15
6781.1SlukemBase Tag:	is-newarp-base
6791.10SsaloMaintainer:	Ignatios Souvatzis <is@NetBSD.org>
6801.1SlukemScope:		kernel
6811.1SlukemNotes:
6821.1Slukem
6831.1SlukemBranch:		kenh-if-detach
6841.1SlukemDescription:	Interface detach support.
6851.1SlukemStatus:		?
6861.1SlukemStart Date:
6871.1SlukemEnd Date:
6881.1SlukemBase Tag:	kenh-if-detach-base
6891.10SsaloMaintainer:	Ken Hornstein <kenh@NetBSD.org>
6901.1SlukemScope:		kernel
6911.1SlukemNotes:
6921.1Slukem
6931.16SkentBranch:		kent-audio1
6941.16SkentDescription:	Audio converter pipeline
6951.18SkentStatus:		Terminated; merged to -current
6961.16SkentStart Date:	Tue Dec  7 2004
6971.17SkentEnd Date:	Tue Jan 11 2005
6981.17SkentBase Tag:	kent-audio1-base
6991.17SkentMaintainer:	TAMURA Kent <kent@NetBSD.org>
7001.17SkentScope:		kernel (audio device drivers)
7011.17SkentNotes:		http://mail-index.netbsd.org/tech-kern/2004/12/03/0007.html
7021.17Skent		Please consult with the maintainer before committing
7031.17Skent		to this branch.
7041.17Skent
7051.1SlukemBranch:		kqueue
7061.1SlukemDescription:	kqueue kernel event notification mechanism (from FreeBSD)
7071.5SjdolecekStatus:		Terminated; merged to -current
7081.1SlukemStart Date:	Tue Jul 10 23:08:38 EST 2001
7091.5SjdolecekEnd Date:	Tue Oct 24 09:14:14 GMT 2002
7101.1SlukemBase Tag:	kqueue-base
7111.1SlukemMaintainer:	Jaromir Dolecek <jdolecek@NetBSD.org>
7121.1SlukemScope:		kernel, libc/sys, share/man/man9, usr.bin/fstat
7131.1SlukemNotes:		Integration of FreeBSD's kqueue(2) mechanism, with various
7141.1Slukem		local internal changes to better suit NetBSD, and
7151.1Slukem		enhancements such as looking up filters by name or
7161.1Slukem		number, and dynamic registration of "user" filters.
7171.1Slukem		The work is complete as is, but is awaiting more
7181.1Slukem		feedback from various kernel gurus before going mainline.
7191.11Sskrll
7201.11SskrllBranch:		ktrace-lwp
7211.11SskrllDescription:	ktrace support for lwp ids.
7221.59SskrllStatus:		Terminated; merged to -current
7231.11SskrllStart Date:	Wed Jul  2 15:27:30 UTC 2003
7241.59SskrllEnd Date:	Sun Dec 11 12:25:29 UTC 2005
7251.11SskrllBase Tag:	ktrace-lwp-base
7261.12SgrantMaintainer:	Darren Reed <darrenr@NetBSD.org>
7271.11SskrllScope:		sys
7281.11SskrllNotes:		
7291.1Slukem
7301.1SlukemBranch:		marc-pcmcia
7311.1SlukemDescription:	PCMCIA support
7321.1SlukemStatus:		Terminated; merged to -current
7331.1SlukemStart Date:
7341.1SlukemEnd Date:
7351.1SlukemBase Tag:	marc-pcmcia-base, marc-pcmcia-bp
7361.10SsaloMaintainer:	Marc Horowitz <marc@NetBSD.org>
7371.1SlukemScope:		kernel
7381.1SlukemNotes:
7391.1Slukem
7401.1SlukemBranch:		minoura_x68k_bus_h
7411.1SlukemDescription:	bus_space(9) and bus_dma(9) implementation for x68k
7421.1SlukemStatus:		Terminated; merged to -current
7431.1SlukemStart Date:	23 Dec 1998
7441.1SlukemEnd Date:	16 Mar 1999
7451.1SlukemBase Tag:	minoura_x68k_bus_h-base
7461.10SsaloMaintainer:	Minoura Makoto <minoura@NetBSD.org>
7471.1SlukemScope:		sys/arch/x68k
7481.1SlukemNotes:
7491.1Slukem
7501.1SlukemBranch:		minoura-xpg4dl
7511.1SlukemDescription:	Citrus Project locale subsystem
7521.1SlukemStatus:		Terminated; (partly) merged to -current
7531.1SlukemStart Date:	28 March 2000
7541.1SlukemEnd Date:
7551.1SlukemBase Tag:	minoura-xpg4dl-base
7561.10SsaloMaintainer:	Minoura Makoto <minoura@NetBSD.org>
7571.1SlukemScope:		basesrc, syssrc, sharesrc
7581.1SlukemNotes:		Citrus Project is developing dynamically-loadable, codeset-
7591.1Slukem		independent locale subsystem.  Part of the implementation
7601.1Slukem		(LC_CTYPE) called XPG4DL is now integrated to -current.
7611.1Slukem
7621.160SmjfBranch:		mjf-ufs-trans
7631.160SmjfDescription:	filesystem transactions for ufs
7641.160SmjfStatus:		Active
7651.160SmjfStart Date:	12 March 2007
7661.160SmjfEnd Date:
7671.160SmjfBase Tag:	mjf-ufs-trans-base
7681.160SmjfMaintainer:	Matt Fleming <mjf@NetBSD.org>
7691.160SmjfScope:		kernel
7701.160SmjfNotes:
7711.160Smjf
7721.1SlukemBranch:		mrg-vm-swap
7731.49SmrgDescription:	dynamic swap allocation, swap-to-files support
7741.49SmrgStatus:		Terminated; abondoned for mrg-vm-swap2
7751.49SmrgStart Date:	12 February 1997
7761.49SmrgEnd Date:	15 March 1997
7771.49SmrgBase Tag:	[none]
7781.49SmrgMaintainer:	Matthew R. Green <mrg@NetBSD.org>
7791.49SmrgScope:		kernel
7801.49SmrgNotes:
7811.49Smrg
7821.49SmrgBranch:		mrg-vm-swap2
7831.49SmrgDescription:	dynamic swap allocation, swap-to-files support
7841.49SmrgStatus:		Terminated; merged to -current
7851.49SmrgStart Date:	4 May 1997
7861.49SmrgEnd Date:	12 June 1997
7871.49SmrgBase Tag:	mrg-vm-swap2-base
7881.10SsaloMaintainer:	Matthew R. Green <mrg@NetBSD.org>
7891.1SlukemScope:		kernel
7901.1SlukemNotes:
7911.1Slukem
7921.1SlukemBranch:		nathanw_sa
7931.1SlukemDescription:	Scheduler activations
7941.44SchsStatus:		Terminated; merged to -current
7951.1SlukemStart Date:	5 March 2001
7961.9SthorpejEnd Date:	18 January 2003
7971.1SlukemBase Tag:	nathanw_sa_base
7981.10SsaloMaintainer:	Nathan Williams <nathanw@NetBSD.org>
7991.1SlukemScope:		kernel, libc, libkvm, libpthread, libpthread_dbg, include, 
8001.1Slukem		bin/ps usr.bin/systat usr.bin/top usr.bin/w
8011.1Slukem		gnu/dist/toolchain/gdb gnu/usr.bin/gdb
8021.1SlukemNotes:		The idea of scheduler activations is described in the
8031.1Slukem		classic paper by Anderson et al., in ACM Transactions
8041.1Slukem		a on Computer Systems volume 10 issue 1 (1992),which
8051.1Slukem		can be found at
8061.1Slukem		http://www.acm.org/pubs/citations/journals/tocs/1992-10-1/p53-anderson/
8071.1Slukem		Many ideas in the implementation are based on the
8081.1Slukem		implementation of scheduler activations added to Mach
8091.1Slukem		3.0 and described by Davis et al. in the University of
8101.1Slukem		Washington CS tech report 92-08-93, which can be found
8111.1Slukem		at
8121.1Slukem		ftp://ftp.cs.washington.edu/tr/1992/08/UW-CSE-92-08-03.PS.Z
8131.1Slukem
8141.1Slukem		My USENIX paper on the subject can be found at
8151.1Slukem		http://web.mit.edu/nathanw/www/usenix/
8161.1Slukem
8171.1Slukem		Please consult with the maintainer before committing
8181.1Slukem		to this branch.
8191.1Slukem		Other tags starting with nathanw_sa reserved for
8201.1Slukem		branch management and are not guaranteed to be stable.
8211.9Sthorpej
8221.9Sthorpej		Trunk tagged with "nathanw_sa_before_merge" prior to
8231.9Sthorpej		merging branch down to trunk.  Branch tagged with
8241.9Sthorpej		"nathanw_sa_end" to indicate the ending revision of
8251.9Sthorpej		the branch.
8261.1Slukem
8271.1SlukemBranch:		perseant-lfsv2
8281.1SlukemDescription:	LFS incompatible on-disk data structure changes
8291.1SlukemStatus:		Terminated
8301.1SlukemStart Date:	27 June 2001
8311.1SlukemEnd Date:	16 July 2001
8321.1SlukemBase Tag:	perseant-lfsv2-base
8331.10SsaloMaintainer:	Konrad Schroder <perseant@NetBSD.org>
8341.1SlukemScope:		basesrc/{sbin/*lfs,libexec/lfs_cleanerd,usr.sbin/dumplfs}, syssrc/sys/ufs
8351.1SlukemNotes:		This branch should be short-lived, I expect to merge as soon
8361.1Slukem		as the data structures required for unremove are in and tested.
8371.1Slukem
8381.118SpeterBranch:		peter-altq
8391.118SpeterDescription:	New ALTQ framework:
8401.118Speter		- sync with KAME sources
8411.118Speter		- share mtag/name mapping functions
8421.118Speter		- separate altq + pf attachment
8431.118SpeterStatus:		Terminated; merged to -current
8441.118SpeterStart Date:	March 16, 2006
8451.118SpeterEnd Date:	October 12, 2006
8461.118SpeterBase Tag:	peter-altq-base
8471.118SpeterMaintainer:	Peter Postma <peter@NetBSD.org>,
8481.118Speter		Martin Husemann <martin@NetBSD.org>,
8491.118Speter		Matthias Scheler <tron@NetBSD.org>
8501.118SpeterScope:		dist/pf dist/ipf distrib/sets/lists sys usr.sbin/altq
8511.118SpeterNotes:		Only the first item in the description was finished
8521.118Speter		in this branch.
8531.118Speter
8541.1SlukemBranch:		sommerfeld_i386mp_1
8551.1SlukemDescription:	Multiprocessor support for i386 using Intel MP BIOS.
8561.3SsommerfeStatus:		Terminated; merged to -current
8571.1SlukemStart Date:	21 Feb 2000
8581.2SfvdlEnd Date:	01 Oct 2002
8591.1SlukemBase Tag:	sommerfeld_i386mpbase_1
8601.10SsaloMaintainer:	Bill Sommerfeld <sommerfeld@NetBSD.org>
8611.1SlukemScope:		sys/arch/i386
8621.1SlukemNotes:
8631.1Slukem		Code committed to the branch has booted to multiuser 
8641.1Slukem		on at least one system.
8651.1Slukem
8661.1Slukem		Not guaranteed to compile against mainline since -current
8671.1Slukem		may have changed incompatibly with the last branch update;
8681.1Slukem		use "cvs update -D" to roll-back the rest of the tree to match.
8691.1Slukem
8701.1Slukem		Please get explicit permission from the maintainer 
8711.1Slukem		before each commit, or your changes will be backed out.
8721.1Slukem		Other tags starting with sommerfeld_ are private to 
8731.1Slukem		the developer and are guaranteed to be unstable.
8741.1Slukem		Only the maintainer should move tags.
8751.1Slukem
8761.1Slukem		Note that this branch uses a DIFFERENT scheme for 
8771.1Slukem		synching with the mainline.  the maintainer uses some private
8781.1Slukem		scripts for keeping them in synch; if you make commits 
8791.1Slukem		to the branch to "resynchronize" things, you'll
8801.1Slukem		probably do it wrong; instead, ask the maintainer to
8811.1Slukem		resynchronize things.
8821.1Slukem
8831.1Slukem		See sys/arch/i386/TODO on the branch for a list of known
8841.1Slukem		issues with the branch.
8851.1Slukem
8861.1SlukemBranch:		thorpej-mips-cache
8871.1SlukemDescription:	overhaul MIPS cache support code
8881.1SlukemStatus:		Terminated; merged to -current
8891.1SlukemStart Date:	Oct 23 2001
8901.1SlukemEnd Date:	Nov 14 2001
8911.1SlukemBase Tag:	thorpej-mips-cache-base
8921.1SlukemScope:		syssrc
8931.1SlukemNotes:		This branch needs more debugging, testing, and more
8941.1Slukem		ports need to be converted to the new world order.
8951.1Slukem
8961.1Slukem		The following processors have had cache ops
8971.1Slukem		written:
8981.1Slukem
8991.1Slukem			* R2000/R3000 (cache_r3k) -- light testing,
9001.1Slukem			  needs to be beat on a lot more to make
9011.1Slukem			  sure it's working.
9021.1Slukem
9031.10Ssalo			* R4000/R4400 (cache_r4k) -- mhitch@NetBSD.org
9041.1Slukem			  tracked down a bug, which has been fixed.
9051.1Slukem
9061.1Slukem			  Confirmed working on R4000-with-L2.
9071.1Slukem
9081.1Slukem			  Confirmed working on R4400-no-L2 and
9091.1Slukem			  R4400-with-L2.
9101.1Slukem
9111.10Ssalo			* R4600/R5000 (cache_r5k) -- shin@NetBSD.org
9121.1Slukem			  has committed fixes to this code.
9131.1Slukem
9141.1Slukem			  Confirmed working on R4600 v2 (SGI IP-22 with
9151.1Slukem			  no SysAD L2 cache).
9161.1Slukem
9171.1Slukem			  Confirmed working on RM5260 (Algorithmics P-5064).
9181.1Slukem
9191.10Ssalo			* TX39 (cache_tx39) -- uch@NetBSD.org has
9201.1Slukem			  committed fixes to this code.  Awaiting
9211.1Slukem			  confirmation that it is working properly.
9221.1Slukem
9231.10Ssalo			* R5900 (cache_r5900) -- uch@NetBSD.org has
9241.1Slukem			  written this code and tested it on a
9251.1Slukem			  PlayStation 2.
9261.1Slukem
9271.1Slukem		The following ports have been updated to compile (and
9281.1Slukem		use optimized-for-processor bus_dma routines).  Those
9291.1Slukem		that have been tested and work are marked with [WORKING].
9301.1Slukem
9311.1Slukem			* algor		[WORKING]
9321.1Slukem
9331.1Slukem			* arc		[WORKING]
9341.1Slukem
9351.1Slukem			* pmax		[WORKING]
9361.1Slukem
9371.1Slukem			* playstation2	[WORKING]
9381.1Slukem					Needs optimized bus_dmamap_sync().
9391.1Slukem
9401.1Slukem			* hpcmips	[need verification that this is working]
9411.1Slukem					Needs optimized bus_dmamap_sync().
9421.1Slukem
9431.1Slukem			* sgimips	[WORKING]
9441.1Slukem					Needs optimized bus_dmamap_sync().
9451.1Slukem
9461.1Slukem			* cobalt	[need testing]
9471.1Slukem
9481.1Slukem			* mipsco	[need testing]
9491.1Slukem
9501.1Slukem			* newsmips	[need testing]
9511.1Slukem
9521.1SlukemBranch:		thorpej_scsipi
9531.1SlukemDescription:	SCSI/ATAPI midlayer rewrite.
9541.1SlukemStatus:		Terminated; merged to -current
9551.1SlukemStart Date:
9561.1SlukemEnd Date:	Apr 25 2001
9571.1SlukemBase Tag:	thorpej_scsipi_base, thorpej_scsipi_nbase
9581.10SsaloMaintainer:	Manuel Bouyer <bouyer@NetBSD.org>,
9591.10Ssalo		Jason Thorpe <thorpej@NetBSD.org>
9601.1SlukemScope:		syssrc
9611.1SlukemNotes:		When a change from -current is pulled up please move the
9621.1Slukem		thorpej_scsipi_base tag to the revision you're syncing with.
9631.1Slukem		thorpej_scsipi_nbase is private to maintainer (only
9641.1Slukem		used when syncing the whole branch with HEAD).
9651.1Slukem		Just before the merge, syssrc has been tagged with
9661.1Slukem		thorpej_scsipi_beforemerge
9671.1Slukem
9681.1SlukemBranch:		thorpej-signal
9691.1SlukemDescription:	?
9701.1SlukemStatus:		?
9711.1SlukemStart Date:
9721.1SlukemEnd Date:
9731.1SlukemBase Tag:	thorpej-signal-base
9741.10SsaloMaintainer:	Jason Thorpe <thorpej@NetBSD.org>
9751.1SlukemScope:		kernel
9761.1SlukemNotes:
9771.1Slukem
9781.1SlukemBranch:		thorpej-setroot
9791.1SlukemDescription:	?
9801.1SlukemStatus:		Terminated; merged to -current
9811.1SlukemStart Date:
9821.1SlukemEnd Date:
9831.1SlukemBase Tag:
9841.10SsaloMaintainer:	Jason Thorpe <thorpej@NetBSD.org>
9851.1SlukemScope:		kernel
9861.1SlukemNotes:
9871.1Slukem
9881.84SkardelBranch:		simonb-timecounters
9891.84SkardelDescription:	Port FreeBSD timecounters to NetBSD
9901.85SkardelStatus:		Terminated
9911.84SkardelStart Date:	Sat Feb 04 2006
9921.84SkardelEnd Date:	Wed Jun 07 2006
9931.84SkardelBase Tag:	simonb-timecounters-base
9941.84SkardelMaintainer:	Simon Burge <simonb@NetBSD.org>,
9951.84Skardel		Frank Kardel <kardel@NetBSD.org>
9961.84SkardelScope:		sys, sbin/savecore, usr.bin/vmstat, usr.sbin/ntp
9971.84SkardelNotes:		early (partial conversion) commit to -current
9981.84Skardel		ok'ed by core@ on 20060605 for testing and further
9991.84Skardel		simplified conversion
10001.84Skardel
10011.1SlukemBranch:		wrstuden-devbsize
10021.1SlukemDescription:	Modify buffer cache to deal with different devices having
10031.1Slukem		different block sizes. Also DEV_BSIZE would go away.
10041.1SlukemStatus:		Terminated
10051.1SlukemStart Date:	Aug or Sept 1999
10061.1SlukemEnd Date:	1 Apr 2000
10071.1SlukemBase tag:	wrstuden-devbsize-base
10081.10SsaloMaintainer:	Bill Studenmund <wrstuden@NetBSD.org>
10091.1SlukemScope:		kernel
10101.1SlukemNotes:		No longer active due to lack of time, and introduction
10111.1Slukem		of UBC. In terms of UBC, the primary cache for
10121.1Slukem		file data is the VM cache, which needs to operate
10131.1Slukem		in terms of VM pages. As no existing device has native
10141.1Slukem		pages the same size as our VM pages, there already is
10151.1Slukem		a mapping going on between the VM system and the
10161.1Slukem		underlying blocks. So it would be easier and cleaner
10171.1Slukem		to adjust that to deal w/ different block sizes.
10181.1Slukem		Also with UBC, all i/o is in terms of bytes at an offset
10191.1Slukem		with a certain length, so the exact block size isn't a big
10201.1Slukem		deal.
10211.1Slukem
10221.1Slukem		Any other wrstuden-devbsize tag may (and should) go away.
10231.1Slukem
10241.25SyamtBranch:		yamt-km, yamt-km-doc
10251.19SyamtDescription:	simplify/improve kernel memory management and bootstrap
10261.46SyamtStatus:		Terminated; merged to -current
10271.19SyamtStart Date:	Tue Jan 25 2005
10281.46SyamtEnd Date:	Fri Apr  1 2005
10291.45SyamtBase Tag:	yamt-km-base{,2,3,4}, yamt-km-doc-base
10301.19SyamtMaintainer:	YAMAMOTO Takashi <yamt@NetBSD.org>
10311.25SyamtScope:		yamt-km: src/sys
10321.25Syamt		yamt-km-doc: src/share/man/man9/uvm.9
10331.19SyamtNotes:		http://mail-index.NetBSD.org/tech-kern/2004/12/25/0005.html
10341.19Syamt
10351.24Syamt		the followings are per-port status.
10361.24Syamt		(account names mean "tested by".)
10371.24Syamt
10381.20Syamt		works enough to go to multiuser:
10391.45Syamt			alpha, i386, xen (yamt@)
10401.24Syamt			pc532 (simonb@)
10411.28Syamt			alpha, i386, mac68k, macppc, pmax, shark,
10421.34Syamt			    sparc, sparc64, sun3, x68k (chs@)
10431.39Syamt			cobalt, dreamcast, hp300, news68k, newsmips,
10441.39Syamt			    sun3x (tsutsui@)
10451.31Syamt			amiga (mhitch@)
10461.32Syamt			cats, hp700 (skrll@)
10471.45Syamt			xen (bouyer@)
10481.28Syamt
10491.28Syamt		known to have the same problem as trunk:
10501.28Syamt			vax (chs@, stuck while running kvm_mkdb)
10511.24Syamt
10521.24Syamt		known to have a problem:
10531.35Syamt			luna68k (and, if any, other m68k ports which use TTR)
10541.35Syamt			needs to be revisited.
10551.39Syamt			-> for luna68k, although not tested,
10561.39Syamt			   Sysmap has been moved to avoid kva conflict with
10571.39Syamt			   I/O ranges.
10581.20Syamt
10591.20Syamt		buildable:
10601.20Syamt			src/sys/arch/acorn26/conf/GENERIC
10611.20Syamt			src/sys/arch/acorn32/conf/GENERIC
10621.20Syamt			src/sys/arch/algor/conf/P6032
10631.20Syamt			src/sys/arch/alpha/conf/GENERIC
10641.20Syamt			src/sys/arch/alpha/conf/GENERIC.MP
10651.20Syamt			src/sys/arch/amd64/conf/GENERIC
10661.20Syamt			src/sys/arch/amd64/conf/GENERIC.MP
10671.20Syamt			src/sys/arch/amiga/conf/GENERIC
10681.20Syamt			src/sys/arch/arc/conf/GENERIC
10691.20Syamt			src/sys/arch/atari/conf/MILAN-PCIIDE
10701.20Syamt			src/sys/arch/bebox/conf/GENERIC
10711.20Syamt			src/sys/arch/cats/conf/GENERIC
10721.20Syamt			src/sys/arch/cesfic/conf/GENERIC
10731.20Syamt			src/sys/arch/cobalt/conf/GENERIC
10741.20Syamt			src/sys/arch/dreamcast/conf/GENERIC
10751.20Syamt			src/sys/arch/evbarm/conf/TS7200
10761.20Syamt			src/sys/arch/evbppc/conf/WALNUT
10771.20Syamt			src/sys/arch/evbsh3/conf/COMPUTEXEVB
10781.20Syamt			src/sys/arch/evbsh5/conf/CAYMAN64
10791.20Syamt			src/sys/arch/hp300/conf/GENERIC
10801.20Syamt			src/sys/arch/hp700/conf/GENERIC
10811.20Syamt			src/sys/arch/hpcarm/conf/JORNADA728
10821.20Syamt			src/sys/arch/hpcmips/conf/GENERIC
10831.20Syamt			src/sys/arch/hpcsh/conf/GENERIC
10841.20Syamt			src/sys/arch/hpcsh/conf/HPW650PA
10851.20Syamt			src/sys/arch/i386/conf/GENERIC
10861.20Syamt			src/sys/arch/i386/conf/GENERIC.MP
10871.40Syamt			src/sys/arch/i386/conf/XEN0
10881.40Syamt			src/sys/arch/i386/conf/XENU
10891.20Syamt			src/sys/arch/ibmnws/conf/GENERIC
10901.20Syamt			src/sys/arch/iyonix/conf/GENERIC
10911.20Syamt			src/sys/arch/luna68k/conf/GENERIC
10921.20Syamt			src/sys/arch/mac68k/conf/GENERIC
10931.20Syamt			src/sys/arch/macppc/conf/GENERIC
10941.20Syamt			src/sys/arch/macppc/conf/GENERIC.MP
10951.20Syamt			src/sys/arch/mipsco/conf/GENERIC
10961.40Syamt			src/sys/arch/mmeye/conf/GENERIC
10971.20Syamt			src/sys/arch/mvme68k/conf/GENERIC
10981.20Syamt			src/sys/arch/netwinder/conf/GENERIC
10991.20Syamt			src/sys/arch/news68k/conf/GENERIC
11001.20Syamt			src/sys/arch/newsmips/conf/GENERIC
11011.20Syamt			src/sys/arch/next68k/conf/GENERIC
11021.20Syamt			src/sys/arch/ofppc/conf/GENERIC
11031.20Syamt			src/sys/arch/pc532/conf/GENERIC
11041.20Syamt			src/sys/arch/pmax/conf/GENERIC
11051.20Syamt			src/sys/arch/prep/conf/GENERIC
11061.20Syamt			src/sys/arch/sandpoint/conf/GENERIC
11071.20Syamt			src/sys/arch/sbmips/conf/GENERIC
11081.20Syamt			src/sys/arch/sgimips/conf/GENERIC32_IP3x
11091.20Syamt			src/sys/arch/shark/conf/GENERIC
11101.20Syamt			src/sys/arch/sparc/conf/GENERIC
11111.20Syamt			src/sys/arch/sparc/conf/GENERIC.MP
11121.20Syamt			src/sys/arch/sparc64/conf/GENERIC
11131.20Syamt			src/sys/arch/sparc64/conf/GENERIC.MP
11141.20Syamt			src/sys/arch/sun2/conf/GENERIC
11151.20Syamt			src/sys/arch/sun3/conf/GENERIC
11161.20Syamt			src/sys/arch/vax/conf/GENERIC
11171.20Syamt			src/sys/arch/vax/conf/GENERIC.MP
11181.20Syamt			src/sys/arch/x68k/conf/GENERIC
11191.20Syamt
11201.42Syamt			src/sys/arch/playstation2/conf/GENERIC
11211.42Syamt
11221.97SyamtBranch:		yamt-pdpolicy
11231.97SyamtDescription:	play with page replacement policy
11241.97Syamt		- separate page replacement policy from the rest of kernel
11251.97Syamt		- implement alternative replacement policy
11261.97Syamt		- related read-ahead adjustment?
11271.97SyamtStatus:		Terminated; merged to -current
11281.97SyamtStart Date:	Sun Mar  5 2006
11291.97SyamtEnd Date:	Sat Sep 16 2006
11301.97SyamtBase Tag:	yamt-pdpolicy-base9
11311.97SyamtMaintainer:	YAMAMOTO Takashi <yamt@NetBSD.org>
11321.97SyamtScope:		src/sys  (src/common is tagged but not branched)
11331.97SyamtNotes:		
11341.97Syamt
11351.54SyamtBranch:		yamt-readahead
11361.54SyamtDescription:	play with file readahead
11371.58SyamtStatus:		Terminated; merged to -current
11381.54SyamtStart Date:	Mon Nov 14 2005
11391.58SyamtEnd Date:	Wed Nov 30 2005
11401.57SyamtBase Tag:	yamt-readahead-base3
11411.54SyamtMaintainer:	YAMAMOTO Takashi <yamt@NetBSD.org>
11421.54SyamtScope:		src/sys
11431.54SyamtNotes:		
11441.54Syamt
11451.60SyamtBranch:		yamt-uio_vmspace
11461.60SyamtDescription:	uio_lwp/uio_segflg -> uio_vmspace
11471.67SyamtStatus:		Terminated; merged to -current
11481.60SyamtStart Date:	Mon Dec 31 2005
11491.67SyamtEnd Date:	Wed Mar  1 2006
11501.66SyamtBase Tag:	yamt-uio_vmspace-base5
11511.60SyamtMaintainer:	YAMAMOTO Takashi <yamt@NetBSD.org>
11521.60SyamtScope:		src/sys
11531.60SyamtNotes:		
11541.60Syamt
11551.151SyamtBranch:		yamt-splraiseipl
11561.151SyamtDescription:	finish implementing splraiseipl (and makeiplcookie).
11571.151Syamt		http://mail-index.NetBSD.org/tech-kern/2006/07/01/0000.html
11581.151Syamt
11591.151Syamt		- completes workqueue(9) and netbt.
11601.151Syamt		- fix PR/33218.
11611.151Syamt
11621.151SyamtStatus:		Terminated; merged to -current
11631.151SyamtStart Date:	Mon Sep 18 2006
11641.151SyamtEnd Date:	Fri Dec 22 2006
11651.151SyamtBase Tag:	yamt-splraiseipl-base5
11661.151SyamtMaintainer:	YAMAMOTO Takashi <yamt@NetBSD.org>
11671.151SyamtScope:		src/sys  (src/common is tagged but not branched)
11681.151SyamtNotes:		
11691.151Syamt		tested (by who):
11701.151Syamt			alpha		(yamt)
11711.151Syamt			alpha		(pavel)
11721.151Syamt			amd64		(reported privately)
11731.151Syamt			cobalt		(tsutsui)
11741.151Syamt			ews4800mips	(tsutsui)
11751.151Syamt			hp300		(tsutsui)
11761.151Syamt			hpcarm		(reported privately)
11771.151Syamt			i386		(yamt)
11781.151Syamt			macppc		(tsutsui)
11791.151Syamt			news68k		(tsutsui)
11801.151Syamt			sgimips(IP32)	(tsutsui)
11811.151Syamt			sparc(sun4c)	(tsutsui)
11821.151Syamt			sun2		(tsutsui)
11831.151Syamt			sun3		(tsutsui)
11841.151Syamt			sun3x		(tsutsui)
11851.151Syamt			xen		(yamt)
11861.151Syamt
11871.151Syamt		compile-tested:
11881.151Syamt			acorn26
11891.151Syamt			acorn32
11901.151Syamt			algor
11911.151Syamt			amiga
11921.151Syamt			arc
11931.151Syamt			atari
11941.151Syamt			bebox
11951.151Syamt			cats
11961.151Syamt			cesfic
11971.151Syamt			dreamcast
11981.151Syamt			evbarm
11991.151Syamt			evbmips
12001.151Syamt			evbppc(marvell)
12011.151Syamt			evbppc(ibm4xx)
12021.151Syamt			evbsh3
12031.151Syamt			hp700
12041.151Syamt			hpcmips
12051.151Syamt			hpcsh
12061.151Syamt			ia64
12071.151Syamt			ibmnws
12081.151Syamt			iyonix
12091.151Syamt			landisk
12101.151Syamt			luna68k
12111.151Syamt			mac68k
12121.151Syamt			mmeye
12131.151Syamt			mvme68k
12141.151Syamt			mvmeppc
12151.151Syamt			mipsco
12161.151Syamt			netwinder
12171.151Syamt			newsmips
12181.151Syamt			next68k
12191.151Syamt			ofppc
12201.151Syamt			pc532
12211.151Syamt			pmax
12221.151Syamt			pmppc
12231.151Syamt			prep
12241.151Syamt			sandpoint
12251.151Syamt			sbmips
12261.151Syamt			shark
12271.151Syamt			sparc
12281.151Syamt			sparc64
12291.151Syamt			vax
12301.151Syamt			x68k
12311.151Syamt			zaurus
12321.151Syamt
12331.151Syamt		not tested:
12341.151Syamt			pdp10 (i don't know how to build)
12351.151Syamt			sh5 (not buildable with an unrelated problem.)
12361.151Syamt
12371.151Syamt    compile  CAYMAN64/netbsd32_sa.o
12381.151Syamt    cc1: warnings being treated as errors
12391.151Syamt    /exports/nbsd/src/sys/compat/netbsd32/netbsd32_sa.c: In function 'netbsd32_sa_ucsp':
12401.151Syamt    /exports/nbsd/src/sys/compat/netbsd32/netbsd32_sa.c:126: warning: implicit declaration of function '_UC_MACHINE32_SP'
12411.151Syamt    --- netbsd32_sa.o ---
12421.151Syamt    *** [netbsd32_sa.o] Error code 1
12431.151Syamt    1 error
12441.151Syamt
12451.151Syamt		notyet:
12461.151Syamt			amigappc
12471.151Syamt			playstation2
12481.151Syamt
12491.79SbriggsBranch:		yamt-vop
12501.79SbriggsDescription:	remove several VOPs
12511.79SbriggsStatus:		Terminated; merged to -current
12521.79SbriggsStart Date:	Wed Oct 19 2005
12531.79SbriggsEnd Date:	Wed Nov  2 2005
12541.79SbriggsBase Tag:	yamt-vop-base3
12551.68SyamtMaintainer:	YAMAMOTO Takashi <yamt@NetBSD.org>
12561.68SyamtScope:		src/sys
12571.79SbriggsNotes:		http://mail-index.NetBSD.org/tech-kern/2005/09/27/0000.html
12581.71Speter
12591.98SgdamoreBranch:		gdamore-uart
12601.98SgdamoreDescription:	Add register table support to com driver.
12611.98SgdamoreStatus:		Active
12621.98SgdamoreStart Date:	14 June 2006
12631.98SgdamoreEnd Date:	13 July 2006
12641.98SgdamoreBase Tag:	gdamore-uart-base
12651.98SgdamoreMaintainer:	Garrett D'Amore <gdamore@NetBSD.org>
12661.98SgdamoreScope:		kernel
12671.98SgdamoreNotes:		Results in consolidation of Alchemy (mips/dev/alchemy/aucom.c)
12681.98Sgdamore		com support, and also removes a nasty hack from Atheros com.
12691.98Sgdamore
12701.79Sbriggs########################################################################
12711.1Slukem# Other:
12721.79Sbriggs########################################################################
12731.1Slukem
12741.1SlukemBranch:		magnum
12751.1SlukemDescription:	?
12761.1SlukemStatus:		?
12771.1SlukemStart Date:
12781.1SlukemEnd Date:
12791.1SlukemBase Tag:	magnum-base
12801.1SlukemMaintainer:	?
12811.1SlukemScope:		kernel
12821.1SlukemNotes:
12831.69Selad
1284