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