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