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