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