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