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