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