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