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