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