BRANCHES revision 1.256 1 # $NetBSD: BRANCHES,v 1.256 2008/06/16 07:17:42 simonb 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: yamt-pf42
557 Description: import newer pf from OpenBSD 4.2
558 Status: Active
559 Start Date: Sat Apr 19 2008
560 End Date:
561 Base Tag: yamt-pf42-base3
562 Maintainer: Peter Postma <peter (a] NetBSD.org>,
563 YAMAMOTO Takashi <yamt (a] NetBSD.org>
564 Scope: src
565 Notes: see sys/dist/pf/net/TODO
566
567 Branch: reinoud-bufcleanup
568 Description: implement and evaluate struct buf usage cleanup strategies.
569 Ideas currently in mind (preference for b):
570 a)
571 1. use of bio_ops per buffer.
572 2. allow chaining/overloading of functions in bio_ops
573 and provide some private context.
574 3. extend the bio_ops with commonly used functionality
575 like pending action counting, custom context passing,
576 last minute processing of buffer data, buffer cache
577 etc.
578 4. investigate the use of the kcont()
579 continuation-passing framework for async io
580 completion notification for bufs
581 ...
582 b)
583 1. all sequencing use of B_CALL replaced by
584 device-threads, if possible generic code around BUFQ
585 2. possibly use kcont() for async IO finished signaling
586 3. counter of pending and queued actions requestable
587 by IOCTL interface?
588 4. implement `last minute buffer fixup' calls and maybe
589 even finished I/O calls as vnode operations
590 ...
591 Status: Active
592 Start Date: Thu Mar 15 2007
593 End Date:
594 Base Tag: reinoud-bufcleanup-base
595 Maintainer: Reinoud Zandijk <reinoud (a] NetBSD.org>
596 Scope: src/sys and src/common
597 Notes: Used as experiment sandbox and if successful hopefully one day
598 to be integrated.
599
600 Branch: simonb-wapbl
601 Description: Wasabi's journaling filesystem support
602 Status: Active
603 Start Date: Tue Jun 10 2008
604 End Date:
605 Base Tag: simonb-wapbl-base
606 Maintainer: Simon Burge <simonb (a] NetBSD.org>
607 Scope: distrib/sets/lists/comp distrib/utils/sysinst include
608 sbin/fsck_ffs sbin/fsdb sbin/mount_ffs src/sys
609 Notes: Still has a number of issues:
610 - Can't log the root filesystem (or any FS if /dev isn't an
611 ffs) or update existing mounts from non-logged to logged.
612 See kern/38057 - a fix for the PR has been committed but
613 at this stage it doesn't play well with WAPBL.
614 - Log must currently live at end of partition.
615 - No log locators.
616 - Some heavy workload performance issues on SMP machines.
617 - Some stability issues on SMP machines.
618
619 Branch: thorpej-atomic
620 Description: Implementation of an atomic memory operations API modeled
621 after the one in Solaris 10.
622 Status: Active
623 Start Date: Apr 11 2007
624 End Date:
625 Base tag: thorpej-atomic-base
626 Maintainer: Jason Thorpe <thorpej (a] netbsd.org>
627 Scope: src/common
628 src/sys
629 Notes: Base atomic primitives need to be implemented for
630 all of the supported architectures:
631
632 alpha DONE
633 arm DONE
634 hppa
635 i386 DONE
636 ia64
637 m68k DONE (except for 68010)
638 mips
639 ns32k
640 powerpc DONE except for membar_*()
641 powerpc64 DONE except for membar_*()
642 sh3
643 sparc DONE except for membar_*()
644 sparc64 DONE except for membar_*()
645 vax
646 x86_64 DONE
647
648 Tested:
649
650 alpha NO
651 arm NO
652 hppa NO
653 i386 NO
654 ia64 NO
655 m68k NO
656 mips NO
657 ns32k NO
658 powerpc NO
659 powerpc64 NO
660 sh3 NO
661 sparc NO
662 sparc64 NO
663 vax NO
664 x86_64 NO
665
666 TODO:
667
668 all - Need to replace mb_*() with membar_*().
669
670 - Audit MUTEX_CAS() and RWLOCK_CAS() uses
671 to see of membar_enter() is required here.
672
673 - Talk to ad@ -- figure out of non-atomic
674 mutex / rwlock release is actually safe.
675
676 arm - Consider using a RAS technique like
677 MIPS uses for _lock_cas() and the mutex
678 stubs. Possibly do more than one atomic
679 op as a RAS. Possibly implement mutex
680 stubs using the technique.
681
682 m68k - Need to do 68010 support.
683
684 i386 - Need to change when x86_patch() is called
685 so we can test ncpus.
686
687 powerpc - Figure out if we need barriers in the
688 atomic ops themselves (hopefully not!)
689
690 x86_64 - Need to change when x86_patch() is called
691 so we can test ncpus.
692
693 ########################################################################
694 # Individual developers' branches (Terminated):
695 ########################################################################
696
697 Branch: bouyer-scsipi
698 Description: Integration of atapi support
699 Status: Terminated
700 Start Date:
701 End Date:
702 Base Tag:
703 Maintainer: Manuel Bouyer <bouyer (a] NetBSD.org>
704 Scope: kernel
705 Notes: Superseded by thorpej_scsipi
706
707 Branch: bouyer-xen2
708 Description: update xen port to xen 2.0, with support for domain0 operations
709 Status: Terminated
710 Start Date: Dec 13 2004
711 End Date: Mar 10 2005
712 Base Tag: netbsd-2-base
713 Maintainer: Manuel Bouyer <bouyer (a] NetBSD.org>
714 Scope: src/sys/arch/xen
715 Notes:
716
717 Branch: bouyer-xenamd64
718 Description: add amd64 support to Xen and rework some parts to share more code between Xen and others
719 Status: Terminated
720 Start Date: 18 Oct 2007
721 End Date: 22 Nov 2007
722 Base Tag: bouyer-xenamd64-base
723 Maintainer: Manuel Bouyer <bouyer (a] NetBSD.org>
724 Scope: kernel
725 Notes:
726
727 Branch: bouyer-xeni386
728 Description: switch xen on i386 to the x86 pmap and the xen/x86/x86_xpmap.c bootstrap, and add i386 PAE support
729 Status: Terminated
730 Start Date: 10 Dec 2007
731 End Date: 23 Jan 2008
732 Base Tag: bouyer-xeni386-base
733 Maintainer: Manuel Bouyer <bouyer (a] NetBSD.org>
734 Scope: kernel
735 Notes:
736
737 Branch: chap-midi
738 Description: Renovation of MIDI support
739 Status: Terminated; merged to -current
740 Start Date: 19 May 2006
741 End Date: 30 Jun 2006
742 Base Tag: chap-midi-base
743 Maintainer: Chapman Flack <chap (a] NetBSD.org>
744 Scope: sys, share/man, usr.bin
745 Notes:
746
747 Branch: chs-ubc
748 Description: Unified Buffer Cache
749 Status: Terminated
750 Start Date:
751 End Date:
752 Base Tag: chs-ubc-base
753 Maintainer: Chuck Silvers <chs (a] NetBSD.org>
754 Scope: kernel
755 Notes:
756
757 Branch: chs-ubc2
758 Description: Unified Buffer Cache
759 Status: Terminated; merged to -current
760 Start Date:
761 End Date:
762 Base Tag: chs-ubc2-base, chs-ubc2-newbase
763 Maintainer: Chuck Silvers <chs (a] NetBSD.org>
764 Scope: kernel
765 Notes:
766
767 Branch: cjs-build-against-obj-dir
768 Description: ?
769 Status: ?
770 Start Date:
771 End Date:
772 Base Tag:
773 Maintainer: Curt Sampson <cjs (a] NetBSD.org>
774 Scope: Entire tree.
775 Notes:
776
777 Branch: eeh-paddr_t
778 Description: use separate types for virtual vs. physical addresses
779 Status: Terminated; merged to -current
780 Start Date:
781 End Date:
782 Base Tag: eeh-paddr_t-base
783 Maintainer: Eduardo Horvath <eeh (a] NetBSD.org>
784 Scope: kernel
785 Notes: This is needed to support 32-bit kernels on sparc64.
786
787 Branch: elad-kernelauth
788 Description: Native NetBSD implementation of Apple's kernel authorization
789 based on TN2127. This is a "clean-room" implementation to
790 avoid any licensing issues.
791 Status: Terminated; merged to -current
792 Start Date: Tue Mar 7 2006
793 End Date: Mon May 15 2006
794 Base Tag: elad-kernelauth-base
795 Maintainer: Elad Efrat <elad (a] NetBSD.org>
796 Scope: src/sys, src/share/man/man9/Makefile,
797 src/share/man/man9/kauth.h, src/distrib/sets/lists/comp/mi
798 Notes:
799
800 Branch: fvdl-softdep
801 Description: FFS soft dependencies
802 Status: Terminated; merged to -current
803 Start Date:
804 End Date:
805 Base Tag: fvdl-softdep-base
806 Maintainer: Frank van der Linden <fvdl (a] NetBSD.org>
807 Scope: kernel
808 Notes:
809
810 Branch: gehenna-devsw
811 Description: auto-generation of devsw table
812 Status: Terminated
813 Start Date: 16 May 2002
814 End Date: 6 Sep 2002
815 Base Tag: gehenna-devsw-base
816 Maintainer: MAEKAWA Masahide <gehenna (a] NetBSD.org>
817 Scope: syssrc
818 Notes: The goal is to get rid of the existing device switch tables in
819 port-dependent conf.c and to generate them dynamically by
820 config(8).
821
822 Branch: is-newarp
823 Description: ARP for non-Ethernet
824 Status: Terminated; merged before NetBSD 1.3
825 Start Date: 1996/10/13
826 End Date: 1997/03/15
827 Base Tag: is-newarp-base
828 Maintainer: Ignatios Souvatzis <is (a] NetBSD.org>
829 Scope: kernel
830 Notes:
831
832 Branch: jmcneill-pm
833 Description: Power management framework overhaul, ACPI improvements
834 Status: Terminated; merged before NetBSD 5.0
835 Start Date: 3 Aug 2007
836 End Date: 9 Dec 2007
837 Base Tag: jmcneill-pm-base
838 Maintainer: Jared D. McNeill <jmcneill (a] NetBSD.org>
839 Scope: kernel
840 Notes:
841
842 Branch: kenh-if-detach
843 Description: Interface detach support.
844 Status: ?
845 Start Date:
846 End Date:
847 Base Tag: kenh-if-detach-base
848 Maintainer: Ken Hornstein <kenh (a] NetBSD.org>
849 Scope: kernel
850 Notes:
851
852 Branch: kent-audio1
853 Description: Audio converter pipeline
854 Status: Terminated; merged to -current
855 Start Date: Tue Dec 7 2004
856 End Date: Tue Jan 11 2005
857 Base Tag: kent-audio1-base
858 Maintainer: TAMURA Kent <kent (a] NetBSD.org>
859 Scope: kernel (audio device drivers)
860 Notes: http://mail-index.netbsd.org/tech-kern/2004/12/03/0007.html
861 Please consult with the maintainer before committing
862 to this branch.
863
864 Branch: kqueue
865 Description: kqueue kernel event notification mechanism (from FreeBSD)
866 Status: Terminated; merged to -current
867 Start Date: Tue Jul 10 23:08:38 EST 2001
868 End Date: Tue Oct 24 09:14:14 GMT 2002
869 Base Tag: kqueue-base
870 Maintainer: Jaromir Dolecek <jdolecek (a] NetBSD.org>
871 Scope: kernel, libc/sys, share/man/man9, usr.bin/fstat
872 Notes: Integration of FreeBSD's kqueue(2) mechanism, with various
873 local internal changes to better suit NetBSD, and
874 enhancements such as looking up filters by name or
875 number, and dynamic registration of "user" filters.
876 The work is complete as is, but is awaiting more
877 feedback from various kernel gurus before going mainline.
878
879 Branch: ktrace-lwp
880 Description: ktrace support for lwp ids.
881 Status: Terminated; merged to -current
882 Start Date: Wed Jul 2 15:27:30 UTC 2003
883 End Date: Sun Dec 11 12:25:29 UTC 2005
884 Base Tag: ktrace-lwp-base
885 Maintainer: Darren Reed <darrenr (a] NetBSD.org>
886 Scope: sys
887 Notes:
888
889 Branch: marc-pcmcia
890 Description: PCMCIA support
891 Status: Terminated; merged to -current
892 Start Date:
893 End Date:
894 Base Tag: marc-pcmcia-base, marc-pcmcia-bp
895 Maintainer: Marc Horowitz <marc (a] NetBSD.org>
896 Scope: kernel
897 Notes:
898
899 Branch: minoura_x68k_bus_h
900 Description: bus_space(9) and bus_dma(9) implementation for x68k
901 Status: Terminated; merged to -current
902 Start Date: 23 Dec 1998
903 End Date: 16 Mar 1999
904 Base Tag: minoura_x68k_bus_h-base
905 Maintainer: Minoura Makoto <minoura (a] NetBSD.org>
906 Scope: sys/arch/x68k
907 Notes:
908
909 Branch: minoura-xpg4dl
910 Description: Citrus Project locale subsystem
911 Status: Terminated; (partly) merged to -current
912 Start Date: 28 March 2000
913 End Date:
914 Base Tag: minoura-xpg4dl-base
915 Maintainer: Minoura Makoto <minoura (a] NetBSD.org>
916 Scope: basesrc, syssrc, sharesrc
917 Notes: Citrus Project is developing dynamically-loadable, codeset-
918 independent locale subsystem. Part of the implementation
919 (LC_CTYPE) called XPG4DL is now integrated to -current.
920
921 Branch: mjf-devfs
922 Description: device file system supporting dynamic device nodes
923 Status: Terminated
924 Start Date: 12 November 2007
925 End Date: 21 February 2008
926 Base Tag: mjf-devfs-base
927 Maintainer: Matt Fleming <mjf (a] NetBSD.org>
928 Scope: kernel and userland
929 Notes: This branch will move away from the static device nodes that
930 are created with MAKEDEV scripts and allow nodes to be created
931 and removed dynamically as devices are attached and detached
932 from the machine.
933
934 Branch: mrg-vm-swap
935 Description: dynamic swap allocation, swap-to-files support
936 Status: Terminated; abandoned for mrg-vm-swap2
937 Start Date: 12 February 1997
938 End Date: 15 March 1997
939 Base Tag: [none]
940 Maintainer: Matthew R. Green <mrg (a] NetBSD.org>
941 Scope: kernel
942 Notes:
943
944 Branch: mrg-vm-swap2
945 Description: dynamic swap allocation, swap-to-files support
946 Status: Terminated; merged to -current
947 Start Date: 4 May 1997
948 End Date: 12 June 1997
949 Base Tag: mrg-vm-swap2-base
950 Maintainer: Matthew R. Green <mrg (a] NetBSD.org>
951 Scope: kernel
952 Notes:
953
954 Branch: nathanw_sa
955 Description: Scheduler activations
956 Status: Terminated; merged to -current
957 Start Date: 5 March 2001
958 End Date: 18 January 2003
959 Base Tag: nathanw_sa_base
960 Maintainer: Nathan Williams <nathanw (a] NetBSD.org>
961 Scope: kernel, libc, libkvm, libpthread, libpthread_dbg, include,
962 bin/ps usr.bin/systat usr.bin/top usr.bin/w
963 gnu/dist/toolchain/gdb gnu/usr.bin/gdb
964 Notes: The idea of scheduler activations is described in the
965 classic paper by Anderson et al., in ACM Transactions
966 a on Computer Systems volume 10 issue 1 (1992),which
967 can be found at
968 http://www.acm.org/pubs/citations/journals/tocs/1992-10-1/p53-anderson/
969 Many ideas in the implementation are based on the
970 implementation of scheduler activations added to Mach
971 3.0 and described by Davis et al. in the University of
972 Washington CS tech report 92-08-93, which can be found
973 at
974 ftp://ftp.cs.washington.edu/tr/1992/08/UW-CSE-92-08-03.PS.Z
975
976 My USENIX paper on the subject can be found at
977 http://web.mit.edu/nathanw/www/usenix/
978
979 Please consult with the maintainer before committing
980 to this branch.
981 Other tags starting with nathanw_sa reserved for
982 branch management and are not guaranteed to be stable.
983
984 Trunk tagged with "nathanw_sa_before_merge" prior to
985 merging branch down to trunk. Branch tagged with
986 "nathanw_sa_end" to indicate the ending revision of
987 the branch.
988
989 Branch: newlock
990 Description: New locking primitives, based on Solaris's
991 Status: Terminated
992 Start Date: March 9, 2002
993 End Date: February 12, 2007
994 Base Tag: newlock-base
995 Maintainer: Jason R. Thorpe <thorpej (a] NetBSD.org>
996 Scope: Kernel
997 Notes: The goal is to replace the existing lockmgr() and
998 simple_lock() based locking mechanisms with the
999 primitives found in Solaris: mutexes and rwlocks.
1000 Superseded by the newlock2 branch.
1001
1002 Branch: newlock2
1003 Description: New locking primitives, based on Solaris's
1004 Status: Terminated
1005 Start Date: September 9, 2006
1006 End Date: February 12, 2007
1007 Base Tag: newlock2-base
1008 Maintainer: Andrew Doran <ad (a] NetBSD.org>
1009 Scope: Kernel
1010 Notes: As per the newlock branch, however given the amount of time
1011 the original branch has lain dormant, a new one has been
1012 created. Goals:
1013 - Implement new locking primitives on most-used ports.
1014 - Minor locking improvements.
1015 - Remove spinlockmgr().
1016
1017 Branch: nick-csl-alignment
1018 Description: Provide correctly aligned __cpu_simple_lock_t for hppa
1019 Status: Terminated
1020 Start Date: 2007-07-18
1021 End Date:
1022 Base Tag: nick-csl-alignment-base5
1023 Maintainer: Nick Hudson <skrll (a] NetBSD.org>
1024 Scope: sys, lib/libpthread, lib/libpthread_dbg
1025 Notes:
1026
1027 Branch: perseant-lfsv2
1028 Description: LFS incompatible on-disk data structure changes
1029 Status: Terminated
1030 Start Date: 27 June 2001
1031 End Date: 16 July 2001
1032 Base Tag: perseant-lfsv2-base
1033 Maintainer: Konrad Schroder <perseant (a] NetBSD.org>
1034 Scope: basesrc/{sbin/*lfs,libexec/lfs_cleanerd,usr.sbin/dumplfs}, syssrc/sys/ufs
1035 Notes: This branch should be short-lived, I expect to merge as soon
1036 as the data structures required for unremove are in and tested.
1037
1038 Branch: ppcoea-renovation
1039 Description: General renovation and cleanup of all OEA PowerPC ports.
1040 Status: Terminated; merged to -current
1041 Start Date: 30 April 2007
1042 End Date: 15 October 2007
1043 Base Tag: ppcoea-renovation-base
1044 Maintainer: Tim Rightnour <garbled (a] netbsd.org>
1045 Scope: src/sys/arch
1046 Notes: This branch is for a general cleanup of all OEA-based PowerPC
1047 ports. OEA (Operating Environment Architecture) PowerPC refers
1048 to the 601, 603, 604, and similar chips. Specifically, not the
1049 403/401 and other embedded chips. The general concept is to get
1050 them all compiling, and sharing as much code as possible. All
1051 developers are welcome to commit to this branch.
1052
1053 Branch: thorpej-devvp
1054 Description: replace dev_t with struct vnode * in devsw entry points
1055 Status: Terminated
1056 Start Date: Sep 6 2001
1057 End Date: ???
1058 Base Tag: thorpej-devvp-base
1059 Maintainer: Jason Thorpe <thorpej (a] NetBSD.org>
1060 Scope: syssrc
1061 Notes: Kernels built from this branch are not expected
1062 to function correctly at this time.
1063
1064 Ports known to compile on this branch:
1065 alpha
1066 i386
1067
1068 Branch: peter-altq
1069 Description: New ALTQ framework:
1070 - sync with KAME sources
1071 - share mtag/name mapping functions
1072 - separate altq + pf attachment
1073 Status: Terminated; merged to -current
1074 Start Date: March 16, 2006
1075 End Date: October 12, 2006
1076 Base Tag: peter-altq-base
1077 Maintainer: Peter Postma <peter (a] NetBSD.org>,
1078 Martin Husemann <martin (a] NetBSD.org>,
1079 Matthias Scheler <tron (a] NetBSD.org>
1080 Scope: dist/pf dist/ipf distrib/sets/lists sys usr.sbin/altq
1081 Notes: Only the first item in the description was finished
1082 in this branch.
1083
1084 Branch: sommerfeld_i386mp_1
1085 Description: Multiprocessor support for i386 using Intel MP BIOS.
1086 Status: Terminated; merged to -current
1087 Start Date: 21 Feb 2000
1088 End Date: 01 Oct 2002
1089 Base Tag: sommerfeld_i386mpbase_1
1090 Maintainer: Bill Sommerfeld <sommerfeld (a] NetBSD.org>
1091 Scope: sys/arch/i386
1092 Notes:
1093 Code committed to the branch has booted to multiuser
1094 on at least one system.
1095
1096 Not guaranteed to compile against mainline since -current
1097 may have changed incompatibly with the last branch update;
1098 use "cvs update -D" to roll-back the rest of the tree to match.
1099
1100 Please get explicit permission from the maintainer
1101 before each commit, or your changes will be backed out.
1102 Other tags starting with sommerfeld_ are private to
1103 the developer and are guaranteed to be unstable.
1104 Only the maintainer should move tags.
1105
1106 Note that this branch uses a DIFFERENT scheme for
1107 syncing with the mainline. the maintainer uses some private
1108 scripts for keeping them in sync; if you make commits
1109 to the branch to "resynchronize" things, you'll
1110 probably do it wrong; instead, ask the maintainer to
1111 resynchronize things.
1112
1113 See sys/arch/i386/TODO on the branch for a list of known
1114 issues with the branch.
1115
1116 Branch: thorpej-mips-cache
1117 Description: overhaul MIPS cache support code
1118 Status: Terminated; merged to -current
1119 Start Date: Oct 23 2001
1120 End Date: Nov 14 2001
1121 Base Tag: thorpej-mips-cache-base
1122 Scope: syssrc
1123 Notes: This branch needs more debugging, testing, and more
1124 ports need to be converted to the new world order.
1125
1126 The following processors have had cache ops
1127 written:
1128
1129 * R2000/R3000 (cache_r3k) -- light testing,
1130 needs to be beat on a lot more to make
1131 sure it's working.
1132
1133 * R4000/R4400 (cache_r4k) -- mhitch (a] NetBSD.org
1134 tracked down a bug, which has been fixed.
1135
1136 Confirmed working on R4000-with-L2.
1137
1138 Confirmed working on R4400-no-L2 and
1139 R4400-with-L2.
1140
1141 * R4600/R5000 (cache_r5k) -- shin (a] NetBSD.org
1142 has committed fixes to this code.
1143
1144 Confirmed working on R4600 v2 (SGI IP-22 with
1145 no SysAD L2 cache).
1146
1147 Confirmed working on RM5260 (Algorithmics P-5064).
1148
1149 * TX39 (cache_tx39) -- uch (a] NetBSD.org has
1150 committed fixes to this code. Awaiting
1151 confirmation that it is working properly.
1152
1153 * R5900 (cache_r5900) -- uch (a] NetBSD.org has
1154 written this code and tested it on a
1155 PlayStation 2.
1156
1157 The following ports have been updated to compile (and
1158 use optimized-for-processor bus_dma routines). Those
1159 that have been tested and work are marked with [WORKING].
1160
1161 * algor [WORKING]
1162
1163 * arc [WORKING]
1164
1165 * pmax [WORKING]
1166
1167 * playstation2 [WORKING]
1168 Needs optimized bus_dmamap_sync().
1169
1170 * hpcmips [need verification that this is working]
1171 Needs optimized bus_dmamap_sync().
1172
1173 * sgimips [WORKING]
1174 Needs optimized bus_dmamap_sync().
1175
1176 * cobalt [need testing]
1177
1178 * mipsco [need testing]
1179
1180 * newsmips [need testing]
1181
1182 Branch: thorpej_scsipi
1183 Description: SCSI/ATAPI midlayer rewrite.
1184 Status: Terminated; merged to -current
1185 Start Date:
1186 End Date: Apr 25 2001
1187 Base Tag: thorpej_scsipi_base, thorpej_scsipi_nbase
1188 Maintainer: Manuel Bouyer <bouyer (a] NetBSD.org>,
1189 Jason Thorpe <thorpej (a] NetBSD.org>
1190 Scope: syssrc
1191 Notes: When a change from -current is pulled up please move the
1192 thorpej_scsipi_base tag to the revision you're syncing with.
1193 thorpej_scsipi_nbase is private to maintainer (only
1194 used when syncing the whole branch with HEAD).
1195 Just before the merge, syssrc has been tagged with
1196 thorpej_scsipi_beforemerge
1197
1198 Branch: thorpej-signal
1199 Description: ?
1200 Status: ?
1201 Start Date:
1202 End Date:
1203 Base Tag: thorpej-signal-base
1204 Maintainer: Jason Thorpe <thorpej (a] NetBSD.org>
1205 Scope: kernel
1206 Notes:
1207
1208 Branch: thorpej-setroot
1209 Description: ?
1210 Status: Terminated; merged to -current
1211 Start Date:
1212 End Date:
1213 Base Tag:
1214 Maintainer: Jason Thorpe <thorpej (a] NetBSD.org>
1215 Scope: kernel
1216 Notes:
1217
1218 Branch: simonb-timecounters
1219 Description: Port FreeBSD timecounters to NetBSD
1220 Status: Terminated
1221 Start Date: Sat Feb 04 2006
1222 End Date: Wed Jun 07 2006
1223 Base Tag: simonb-timecounters-base
1224 Maintainer: Simon Burge <simonb (a] NetBSD.org>,
1225 Frank Kardel <kardel (a] NetBSD.org>
1226 Scope: sys, sbin/savecore, usr.bin/vmstat, usr.sbin/ntp
1227 Notes: early (partial conversion) commit to -current
1228 ok'ed by core@ on 20060605 for testing and further
1229 simplified conversion
1230
1231 Branch: vmlocking
1232 Description: Make VM and file system framework MP safe
1233 Status: Terminated
1234 Start Date: 13 March 2007
1235 End Date: 4 December 2007
1236 Base Tag: vmlocking-base
1237 Maintainer: Andrew Doran <ad (a] NetBSD.org>
1238 Scope: kernel
1239 Notes: Superseded by vmlocking2 branch.
1240
1241 Branch: vmlocking2
1242 Description: Make VM and file system framework MP safe
1243 Status: Terminated
1244 Start Date: 4 December 2007
1245 End Date: 2 January 2008
1246 Base Tag: vmlocking2-base3
1247 Maintainer: Andrew Doran <ad (a] NetBSD.org>
1248 Scope: kernel
1249 Notes: Goals:
1250
1251 - Make VM system / trap handling MP safe.
1252 - Replace simplelocks with mutexes.
1253 - Make file system framework MP safe.
1254
1255 Status by architecture:
1256
1257 alpha done
1258 i386 done
1259 amd64 done
1260 mips done
1261 sparc need pmap/trap locking changes
1262 sparc64 done
1263 arm done
1264 powerpc done
1265 hppa done
1266 sh3 done
1267 m68k done
1268 xen need pmap/trap locking changes
1269
1270 Remaining MI work to do:
1271
1272 - Check aliased vnode handling. There may be problems.
1273
1274 Remaining problems:
1275
1276 - LFS stalls due to v_numoutput leak.
1277
1278 Branch: wrstuden-devbsize
1279 Description: Modify buffer cache to deal with different devices having
1280 different block sizes. Also DEV_BSIZE would go away.
1281 Status: Terminated
1282 Start Date: Aug or Sept 1999
1283 End Date: 1 Apr 2000
1284 Base tag: wrstuden-devbsize-base
1285 Maintainer: Bill Studenmund <wrstuden (a] NetBSD.org>
1286 Scope: kernel
1287 Notes: No longer active due to lack of time, and introduction
1288 of UBC. In terms of UBC, the primary cache for
1289 file data is the VM cache, which needs to operate
1290 in terms of VM pages. As no existing device has native
1291 pages the same size as our VM pages, there already is
1292 a mapping going on between the VM system and the
1293 underlying blocks. So it would be easier and cleaner
1294 to adjust that to deal w/ different block sizes.
1295 Also with UBC, all i/o is in terms of bytes at an offset
1296 with a certain length, so the exact block size isn't a big
1297 deal.
1298
1299 Any other wrstuden-devbsize tag may (and should) go away.
1300
1301 Branch: yamt-idlelwp
1302 Description: idle lwp, and some changes depending on it.
1303
1304 1. separate context switching and thread scheduling.
1305 (cf. gmcgarry_ctxsw)
1306 2. implement idle lwp.
1307 3. clean up related MD/MI interfaces.
1308 4. make scheduler(s) modular.
1309
1310 Status: Terminated; merged to -current
1311 Start Date: Fri Feb 17 2007
1312 End Date: Thu May 17 2007
1313 Base Tag: yamt-idlelwp-base8
1314 Maintainer: YAMAMOTO Takashi <yamt (a] NetBSD.org>
1315 Scope: src/sys (src/common is tagged but not branched)
1316 Notes:
1317 Status of ports:
1318 alpha [ Done, UP tested, MP not tested ]
1319 i386 [ Done, tested ]
1320 amd64 [ Done, tested ]
1321 mips [ Done, both MIPS1 and MIPS3 tested]
1322 sparc [ Done, UP tested, MP might have
1323 some problem after newlock2 merge ]
1324 sparc64 [ Done, tested ]
1325 arm [ Done, SA1 tested. See PR 36548 ]
1326 macppc/powerpc [ Done, OEA tested ]
1327 hppa [ Done, tested ]
1328 sh3 [ Done, tested ]
1329 vax [ Done, UP tested, MP untested ]
1330 m68k [ Done, tested on several ports ]
1331 ns32k [ broken ]
1332 ia64 [ broken ]
1333 pdp10 [ broken ]
1334
1335 How to adapt a port?
1336
1337 - unify cpu_switch, cpu_exit, cpu_switchto into
1338 a single cpu_switchto. see cpu_switchto.9.
1339
1340 - implement cpu_idle. see cpu_idle.9.
1341
1342 - add a flag argument to cpu_need_resched.
1343 handle RESCHED_IMMED flag, which means "cause a preemption
1344 as soon as possible." eg. in the case of MULTIPROCESSOR,
1345 send an IPI to the target cpu.
1346
1347 - "curlwp == NULL" is not a valid check for idle state anymore.
1348 use "(curlwp->l_flag & LW_IDLE) != 0" instead. curlwp is
1349 almost always non-NULL, with exceptions like early on boot.
1350
1351 - remove idle pcbs.
1352
1353 - (if MULTIPROCESSOR) tweak processor trampoline code.
1354
1355 - (if MULTIPROCESSOR) call mi_cpu_attach when attaching
1356 secondary processors.
1357
1358 - (if schedhz!=0) call schedclock regardless of the value of
1359 curlwp.
1360
1361 - of course, update MD users of scheduler/switching API.
1362
1363 Branch: yamt-lazymbuf
1364 Description: change the way to share mbuf external storage so that
1365 it can work without kernel_lock.
1366 Status: Terminated; merged to -current
1367 Start Date: Wed Jul 6 2005
1368 End Date: Mon Mar 24 2008
1369 Base Tag: yamt-lazymbuf-base14
1370 Maintainer: YAMAMOTO Takashi <yamt (a] NetBSD.org>
1371 Scope: src/sys (src/common is tagged but not branched)
1372 Notes:
1373
1374 Branch: yamt-km, yamt-km-doc
1375 Description: simplify/improve kernel memory management and bootstrap
1376 Status: Terminated; merged to -current
1377 Start Date: Tue Jan 25 2005
1378 End Date: Fri Apr 1 2005
1379 Base Tag: yamt-km-base{,2,3,4}, yamt-km-doc-base
1380 Maintainer: YAMAMOTO Takashi <yamt (a] NetBSD.org>
1381 Scope: yamt-km: src/sys
1382 yamt-km-doc: src/share/man/man9/uvm.9
1383 Notes: http://mail-index.NetBSD.org/tech-kern/2004/12/25/0005.html
1384
1385 the followings are per-port status.
1386 (account names mean "tested by".)
1387
1388 works enough to go to multiuser:
1389 alpha, i386, xen (yamt@)
1390 pc532 (simonb@)
1391 alpha, i386, mac68k, macppc, pmax, shark,
1392 sparc, sparc64, sun3, x68k (chs@)
1393 cobalt, dreamcast, hp300, news68k, newsmips,
1394 sun3x (tsutsui@)
1395 amiga (mhitch@)
1396 cats, hp700 (skrll@)
1397 xen (bouyer@)
1398
1399 known to have the same problem as trunk:
1400 vax (chs@, stuck while running kvm_mkdb)
1401
1402 known to have a problem:
1403 luna68k (and, if any, other m68k ports which use TTR)
1404 needs to be revisited.
1405 -> for luna68k, although not tested,
1406 Sysmap has been moved to avoid kva conflict with
1407 I/O ranges.
1408
1409 buildable:
1410 src/sys/arch/acorn26/conf/GENERIC
1411 src/sys/arch/acorn32/conf/GENERIC
1412 src/sys/arch/algor/conf/P6032
1413 src/sys/arch/alpha/conf/GENERIC
1414 src/sys/arch/alpha/conf/GENERIC.MP
1415 src/sys/arch/amd64/conf/GENERIC
1416 src/sys/arch/amd64/conf/GENERIC.MP
1417 src/sys/arch/amiga/conf/GENERIC
1418 src/sys/arch/arc/conf/GENERIC
1419 src/sys/arch/atari/conf/MILAN-PCIIDE
1420 src/sys/arch/bebox/conf/GENERIC
1421 src/sys/arch/cats/conf/GENERIC
1422 src/sys/arch/cesfic/conf/GENERIC
1423 src/sys/arch/cobalt/conf/GENERIC
1424 src/sys/arch/dreamcast/conf/GENERIC
1425 src/sys/arch/evbarm/conf/TS7200
1426 src/sys/arch/evbppc/conf/WALNUT
1427 src/sys/arch/evbsh3/conf/COMPUTEXEVB
1428 src/sys/arch/evbsh5/conf/CAYMAN64
1429 src/sys/arch/hp300/conf/GENERIC
1430 src/sys/arch/hp700/conf/GENERIC
1431 src/sys/arch/hpcarm/conf/JORNADA728
1432 src/sys/arch/hpcmips/conf/GENERIC
1433 src/sys/arch/hpcsh/conf/GENERIC
1434 src/sys/arch/hpcsh/conf/HPW650PA
1435 src/sys/arch/i386/conf/GENERIC
1436 src/sys/arch/i386/conf/GENERIC.MP
1437 src/sys/arch/i386/conf/XEN0
1438 src/sys/arch/i386/conf/XENU
1439 src/sys/arch/ibmnws/conf/GENERIC
1440 src/sys/arch/iyonix/conf/GENERIC
1441 src/sys/arch/luna68k/conf/GENERIC
1442 src/sys/arch/mac68k/conf/GENERIC
1443 src/sys/arch/macppc/conf/GENERIC
1444 src/sys/arch/macppc/conf/GENERIC.MP
1445 src/sys/arch/mipsco/conf/GENERIC
1446 src/sys/arch/mmeye/conf/GENERIC
1447 src/sys/arch/mvme68k/conf/GENERIC
1448 src/sys/arch/netwinder/conf/GENERIC
1449 src/sys/arch/news68k/conf/GENERIC
1450 src/sys/arch/newsmips/conf/GENERIC
1451 src/sys/arch/next68k/conf/GENERIC
1452 src/sys/arch/ofppc/conf/GENERIC
1453 src/sys/arch/pc532/conf/GENERIC
1454 src/sys/arch/pmax/conf/GENERIC
1455 src/sys/arch/prep/conf/GENERIC
1456 src/sys/arch/sandpoint/conf/GENERIC
1457 src/sys/arch/sbmips/conf/GENERIC
1458 src/sys/arch/sgimips/conf/GENERIC32_IP3x
1459 src/sys/arch/shark/conf/GENERIC
1460 src/sys/arch/sparc/conf/GENERIC
1461 src/sys/arch/sparc/conf/GENERIC.MP
1462 src/sys/arch/sparc64/conf/GENERIC
1463 src/sys/arch/sparc64/conf/GENERIC.MP
1464 src/sys/arch/sun2/conf/GENERIC
1465 src/sys/arch/sun3/conf/GENERIC
1466 src/sys/arch/vax/conf/GENERIC
1467 src/sys/arch/vax/conf/GENERIC.MP
1468 src/sys/arch/x68k/conf/GENERIC
1469
1470 src/sys/arch/playstation2/conf/GENERIC
1471
1472 Branch: yamt-pdpolicy
1473 Description: play with page replacement policy
1474 - separate page replacement policy from the rest of kernel
1475 - implement alternative replacement policy
1476 - related read-ahead adjustment?
1477 Status: Terminated; merged to -current
1478 Start Date: Sun Mar 5 2006
1479 End Date: Sat Sep 16 2006
1480 Base Tag: yamt-pdpolicy-base9
1481 Maintainer: YAMAMOTO Takashi <yamt (a] NetBSD.org>
1482 Scope: src/sys (src/common is tagged but not branched)
1483 Notes:
1484
1485 Branch: yamt-readahead
1486 Description: play with file readahead
1487 Status: Terminated; merged to -current
1488 Start Date: Mon Nov 14 2005
1489 End Date: Wed Nov 30 2005
1490 Base Tag: yamt-readahead-base3
1491 Maintainer: YAMAMOTO Takashi <yamt (a] NetBSD.org>
1492 Scope: src/sys
1493 Notes:
1494
1495 Branch: yamt-uio_vmspace
1496 Description: uio_lwp/uio_segflg -> uio_vmspace
1497 Status: Terminated; merged to -current
1498 Start Date: Mon Dec 31 2005
1499 End Date: Wed Mar 1 2006
1500 Base Tag: yamt-uio_vmspace-base5
1501 Maintainer: YAMAMOTO Takashi <yamt (a] NetBSD.org>
1502 Scope: src/sys
1503 Notes:
1504
1505 Branch: yamt-splraiseipl
1506 Description: finish implementing splraiseipl (and makeiplcookie).
1507 http://mail-index.NetBSD.org/tech-kern/2006/07/01/0000.html
1508
1509 - completes workqueue(9) and netbt.
1510 - fix PR/33218.
1511
1512 Status: Terminated; merged to -current
1513 Start Date: Mon Sep 18 2006
1514 End Date: Fri Dec 22 2006
1515 Base Tag: yamt-splraiseipl-base5
1516 Maintainer: YAMAMOTO Takashi <yamt (a] NetBSD.org>
1517 Scope: src/sys (src/common is tagged but not branched)
1518 Notes:
1519 tested (by who):
1520 alpha (yamt)
1521 alpha (pavel)
1522 amd64 (reported privately)
1523 cobalt (tsutsui)
1524 ews4800mips (tsutsui)
1525 hp300 (tsutsui)
1526 hpcarm (reported privately)
1527 i386 (yamt)
1528 macppc (tsutsui)
1529 news68k (tsutsui)
1530 sgimips(IP32) (tsutsui)
1531 sparc(sun4c) (tsutsui)
1532 sun2 (tsutsui)
1533 sun3 (tsutsui)
1534 sun3x (tsutsui)
1535 xen (yamt)
1536
1537 compile-tested:
1538 acorn26
1539 acorn32
1540 algor
1541 amiga
1542 arc
1543 atari
1544 bebox
1545 cats
1546 cesfic
1547 dreamcast
1548 evbarm
1549 evbmips
1550 evbppc(marvell)
1551 evbppc(ibm4xx)
1552 evbsh3
1553 hp700
1554 hpcmips
1555 hpcsh
1556 ia64
1557 ibmnws
1558 iyonix
1559 landisk
1560 luna68k
1561 mac68k
1562 mmeye
1563 mvme68k
1564 mvmeppc
1565 mipsco
1566 netwinder
1567 newsmips
1568 next68k
1569 ofppc
1570 pc532
1571 pmax
1572 pmppc
1573 prep
1574 sandpoint
1575 sbmips
1576 shark
1577 sparc
1578 sparc64
1579 vax
1580 x68k
1581 zaurus
1582
1583 not tested:
1584 pdp10 (i don't know how to build)
1585 sh5 (not buildable with an unrelated problem.)
1586
1587 compile CAYMAN64/netbsd32_sa.o
1588 cc1: warnings being treated as errors
1589 /exports/nbsd/src/sys/compat/netbsd32/netbsd32_sa.c: In function 'netbsd32_sa_ucsp':
1590 /exports/nbsd/src/sys/compat/netbsd32/netbsd32_sa.c:126: warning: implicit declaration of function '_UC_MACHINE32_SP'
1591 --- netbsd32_sa.o ---
1592 *** [netbsd32_sa.o] Error code 1
1593 1 error
1594
1595 notyet:
1596 amigappc
1597 playstation2
1598
1599 Branch: yamt-vop
1600 Description: remove several VOPs
1601 Status: Terminated; merged to -current
1602 Start Date: Wed Oct 19 2005
1603 End Date: Wed Nov 2 2005
1604 Base Tag: yamt-vop-base3
1605 Maintainer: YAMAMOTO Takashi <yamt (a] NetBSD.org>
1606 Scope: src/sys
1607 Notes: http://mail-index.NetBSD.org/tech-kern/2005/09/27/0000.html
1608
1609 Branch: yamt-x86pmap
1610 Description: merge i386 and amd64 pmap
1611 Status: Terminated; merged to -current
1612 Start Date: Mon Sep 24 2007
1613 End Date: Fri Oct 19 2007
1614 Base Tag: yamt-x86pmap-base4
1615 Maintainer: YAMAMOTO Takashi <yamt (a] NetBSD.org>
1616 Scope: src/sys (src/common is tagged but not branched)
1617 Notes:
1618
1619 Branch: gdamore-uart
1620 Description: Add register table support to com driver.
1621 Status: Active
1622 Start Date: 14 June 2006
1623 End Date: 13 July 2006
1624 Base Tag: gdamore-uart-base
1625 Maintainer: Garrett D'Amore <gdamore (a] NetBSD.org>
1626 Scope: kernel
1627 Notes: Results in consolidation of Alchemy (mips/dev/alchemy/aucom.c)
1628 com support, and also removes a nasty hack from Atheros com.
1629
1630 ########################################################################
1631 # Other:
1632 ########################################################################
1633
1634 Branch: magnum
1635 Description: ?
1636 Status: ?
1637 Start Date:
1638 End Date:
1639 Base Tag: magnum-base
1640 Maintainer: ?
1641 Scope: kernel
1642 Notes:
1643
1644