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