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