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