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