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