BRANCHES revision 1.229 1 # $NetBSD: BRANCHES,v 1.229 2007/12/12 09:02:04 cube 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: ?
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: Active
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: Active
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: Active
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: Active
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 ########################################################################
208 # Individual developers' branches (Active/Dormant):
209 ########################################################################
210
211 Branch: ad-audiomp
212 Description: Add MP locking to the audio drivers
213 Status: Active
214 Start Date: 28 February 2007
215 End Date:
216 Base Tag: ad-audiomp-base
217 Maintainer: Andrew Doran <ad (a] NetBSD.org>
218 Scope: kernel
219 Notes: Making the audio drivers MP safe is necessary before efforts
220 can be made to make the VM system MP safe. About 1/2 of the
221 drivers are converted, the remaining 1/2 need more changes.
222
223 As of import this is snapshot of work in progress and so
224 may not compile; in particular the midi changes are very
225 much "in progress". The audio component has been tested
226 and verified to work with emuxki and auvia. There may
227 be a locking issue in the ac97 code at boot.
228
229 The are two locks per device instance, an ISR lock and
230 a character device lock. The ISR lock replaces calls to
231 splaudio()/splx(), and will be held across calls to device
232 methods which were called at splaudio() before (e.g.
233 trigger_output). The character device lock is held across
234 calls to nearly all of the methods, excluding some only
235 used for initialization, e.g. get_locks. This needs to be
236 documented at merge time.
237
238 To test on a multi way x86 system, search for "mpsafe" in
239 x86/x86/intr.c and change IPL_SCHED to IPL_AUDIO. Run a job
240 that will acquire the ISR lock (depends on the hardware, but
241 "while true; do mixerctl -a > /dev/null; done" may suffice).
242 Play audio, run lockstat and verify that that there is
243 contention on the ISR lock.
244
245 Branch: bjh21-hydra
246 Description: Simtec Hydra support and ARM SMP in general
247 Status: Dormant
248 Start Date: 18 Oct 2002
249 End Date:
250 Base Tag: bjh21-hydra-base
251 Maintainer: Ben Harris <bjh21 (a] NetBSD.org>
252 Scope: sys/arch/arm sys/arch/acorn32
253 Notes: This code was on a branch because it involves changes to
254 cpuswitch.S which would otherwise make merging the
255 nathanw_sa branch difficult.
256
257 Branch: bouyer-xeni386
258 Description: switch xen on i386 to the x86 pmap and the xen/x86/x86_xpmap.c bootstrap, and add i386 PAE support
259 Status: Active
260 Start Date: 10 Dec 2007
261 End Date:
262 Base Tag: bouyer-xeni386-base
263 Maintainer: Manuel Bouyer <bouyer (a] NetBSD.org>
264 Scope: kernel
265 Notes:
266
267 Branch: chris-arm-intr-rework
268 Description: Rework arm interrupt handling code
269 Status: Active
270 Start Date: 11 Aug 2007
271 End Date:
272 Base Tag: chris-arm-intr-rework-base
273 Maintainer: Chris Gilbert <chris (a] NetBSD.org>
274 Scope: sys/arch/arm sys/arch/cats (other arm archs to follow)
275 Notes: Rework arm interrupt code to provide a shared set of interrupt
276 routines, and allow improvements to be shared across all arm
277 based hardware.
278
279 Branch: cube-autoconf
280 Description: Renovate autoconf(9) API
281 Status: Active
282 Start Date: 11 Dec 2007
283 End Date:
284 Base Tag: cube-autoconf-base
285 Maintainer: Quentin Garnier <cube (a] NetBSD.org>
286 Scope: kernel usr.bin/config (and some other userland bits)
287 Notes: Address a number of issues the current autoconf(9) API has.
288
289 Branch: gmcgarry_ctxsw
290 Description: Separate scheduler from context-switch code
291 Status: Dormant
292 Start Date: 18 December 2002
293 End Date:
294 Base Tag: gmcgarry_ctxsw_base
295 Maintainer: Gregory McGarry <gmcgarry (a] NetBSD.org>
296 Scope: kernel
297 Notes: Removing knowledge of the scheduler and its run queues
298 from the machine-dependent context switch code is the
299 first step in cleaning up the scheduler. It is necessary
300 for the newlock branch, making the scheduler SMP friendly,
301 adding real-time scheduler extensions, and reducing the
302 number of code paths for LWP and proc switching.
303
304 Branch: gmcgarry_ucred
305 Description: Integrate and encapsulate user credentials
306 Status: Dormant
307 Start Date: 18 December 2002
308 End Date:
309 Base Tag: gmcgarry_ucred_base
310 Maintainer: Gregory McGarry <gmcgarry (a] NetBSD.org>
311 Scope: kernel
312 Notes: merge pcred and ucred and poolify
313
314 Branch: hpcarm-cleanup
315 Description: Fix build problems for hpcarm
316 Status: Active
317 Start Date: 31 July 2007
318 End Date:
319 Base Tag: hpcarm-cleanup-base
320 Maintainer: Robert Swindells <rjs (a] NetBSD.org>
321 Scope: kernel
322 Notes: Modify SA11x0 interrupt code to match PXA2x0 equivalent.
323
324 Branch: itohy-usb1
325 Description: USB stack overhaul, mostly DMA related
326 Status: Active
327 Start Date: 22 May 2007
328 End Date:
329 Base Tag: itohy-usb1-base
330 Maintainer: ITOH Yasufumi <itohy (a] NetBSD.org>
331 Scope: kernel
332 Notes: To check out the kernel source tree,
333 1. check out checkout script
334 cvs checkout -ritohy-usb1 src/sys/dev/usb/filelist
335 2. update files in the branch
336 sh -e src/sys/dev/usb/filelist
337
338 Branch: kame
339 Description: KAME Project
340 Status: Dormant
341 Start Date: 28 Jun 1999
342 End Date:
343 Base Tag:
344 Maintainer: Jun-ichiro itojun Hagino <itojun (a] NetBSD.org>
345 Scope: kernel
346 Notes: http://www.kame.net
347 Used for "reference" purposes for early part of KAME
348 integration effort. The branch is not actively used, as I
349 (itojun) use patch(1) and diff(1) for the KAME syncs.
350
351 Branch: kent-audio2
352 Description: In-kernel audio mixer
353 Status: Active
354 Start Date: Sun Jan 16 2005
355 End Date:
356 Base Tag: kent-audio2-base
357 Maintainer: TAMURA Kent <kent (a] NetBSD.org>
358 Scope: kernel (audio device drivers)
359 Notes: http://mail-index.netbsd.org/tech-kern/2004/12/03/0007.html
360 Please consult with the maintainer before committing
361 to this branch.
362 This branch is not expected to be compilable yet.
363
364 Branch: matt-timespec
365 Description: Convert the kernel to struct timespec as its primary time
366 storage mechanism.
367 Status: Inactive
368 Start Date: 2005-02-19
369 End Date:
370 Base Tag:
371 Maintainer: Matt Thomas <matt (a] NetBSD.org>
372 Scope: kernel
373 Notes:
374
375 Branch: matt-mips64
376 Description: Rototill the mips code to support LP64 mips and N32/N64 ABIs
377 Status: Active
378 Start Date: 2007-07-17
379 End Date:
380 Base Tag: matt-mips64-base
381 Maintainer: Matt Thomas <matt (a] NetBSD.org>
382 Scope: kernel & userland
383 Notes:
384
385 Branch: matt-armv6
386 Description: Rototill the arm code to support features present in the
387 v6 of the ARM Architecture. Additionally, clean up things
388 along the way to use common practices.
389 Status: Active
390 Start Date: 2007-08-27
391 End Date:
392 Base Tag: matt-armv6-base
393 Maintainer: Matt Thomas <matt (a] NetBSD.org>
394 Scope: kernel & userland
395 Notes:
396
397 Branch: mjf-devfs
398 Description: device file system supporting dynamic device nodes
399 Status: Active
400 Start Date: 12 November 2007
401 End Date:
402 Base Tag: mjf-devfs-base
403 Maintainer: Matt Fleming <mjf (a] NetBSD.org>
404 Scope: kernel and userland
405 Notes: This branch will move away from the static device nodes that
406 are created with MAKEDEV scripts and allow nodes to be created
407 and removed dynamically as devices are attached and detached
408 from the machine.
409
410 Branch: mjf-ufs-trans
411 Description: file system transactions for ufs
412 Status: Active
413 Start Date: 12 March 2007
414 End Date:
415 Base Tag: mjf-ufs-trans-base
416 Maintainer: Matt Fleming <mjf (a] NetBSD.org>
417 Scope: kernel
418 Notes:
419
420 Branch: pkgviews
421 Description: package views, enabling multiple conflicting packages to co-exist
422 Status: Active
423 Start Date: 22 July 2002
424 End Date:
425 Base Tag: pkgviews
426 Maintainer: Alistair Crooks <agc (a] NetBSD.org>
427 Scope: pkgsrc, basesrc/usr.sbin/pkg_install
428 Notes: A more flexible infrastructure for third-party packages by
429 allowing multiple conflicting packages and versions to co-exist
430 within the same tree
431
432 Branch: rpaulo-netinet-merge-pcb
433 Description: merge in6pcb with inpcb
434 Status: Dormant
435 Start Date: Wed Feb 01 2006
436 End Date:
437 Base Tag: rpaulo-netinet-merge-pcb-base
438 Maintainer: Rui Paulo <rpaulo (a] NetBSD.org>
439 Scope: src/sys
440 Notes: No longer active due to the lack of time. If you plan to
441 continue this branch, sys/netinet/in_pcb.h already contains
442 the proposed structure layout (which was roughly discussed
443 in the tech-net mailing list).
444 I also defined INP_*() macros to mimicate FreeBSD's inpcb
445 locking style, but currently they do nothing and are not
446 yet called at the correct places (needs discussion about
447 kernel fine-grained locking).
448 To continue this branch, one needs to read all the relevant
449 inpcb/in6pcb source files and change the function names,
450 structure names, structure fields according to the new
451 layout (in6pcb is gone).
452 Don't try to build a kernel from this branch because it won't
453 work. The missing pieces required to do a complete build
454 were not committed because they were incomplete and generated
455 panics.
456 You shouldn't need to worry about KAME syncs because
457 they did most of them by now.
458 After the work is done, you are required to test the branch
459 (before the merge to -current) with an interop IPv6 test.
460 More info at: http://www.tahi.org/
461
462 Branch: rtr-xorg-branch
463 Description: xorg & static build alterations to src/x11
464 Status: Active
465 Start Date: Nov 15 2004
466 End Date:
467 Base tag: rtr-xorg-branch-base
468 Maintainer: Tyler R. Retzlaff <rtr (a] NetBSD.org>
469 Scope: x11
470 distrib/sets/lists
471 share/mk/bsd.x11.mk
472 share/mk/bsd.own.mk
473 etc/mtree/NetBSD.dist
474 Notes: Requires parts of xsrc/xfree (HEAD)
475 xsrc/local, xsrc/xfree/xc/programs/Xserver/hw/netbsd
476 Requires xorg (XORG-6_8_1)
477
478 Branch: wrstuden-fixsa
479 Description: Fix a number of issues present with Scheduler Activations.
480 Status: Active
481 Start Date: 15 May 2007
482 End Date:
483 Base Tag: wrstuden-fixsa-base
484 Maintainer: Bill Stouder-Studenmund <wrstuden (a] NetBSD.org>
485 Scope: src, though all the interesting stuff is in the kernel
486 or lib/libpthread or maybe gdb.
487 Notes: This branch is based off of the netbsd-4 branch!
488 This branch is intended to stage improvements for the
489 Scheduler Activations system for NetBSD 4. Improvements
490 include not allocating memory while preparing to tsleep(),
491 reducing inappropriate upcall delivery (hopefully also
492 eliminating the need to mlock stacks), and being
493 able to pthread_kill() running threads.
494
495 Branch: vmlocking
496 Description: Make VM and file system framework MP safe
497 Status: Terminated
498 Start Date: 13 March 2007
499 End Date: 4 December 2007
500 Base Tag: vmlocking-base
501 Maintainer: Andrew Doran <ad (a] NetBSD.org>
502 Scope: kernel
503 Notes: Superseded by vmlocking2 branch.
504
505 Branch: vmlocking2
506 Description: Make VM and file system framework MP safe
507 Status: Active
508 Start Date: 4 December 2007
509 End Date:
510 Base Tag: vmlocking2-base1
511 Maintainer: Andrew Doran <ad (a] NetBSD.org>
512 Scope: kernel
513 Notes: Goals:
514
515 - Make VM system / trap handling MP safe.
516 - Replace simplelocks with mutexes.
517 - Make file system framework MP safe.
518
519 Status by architecture:
520
521 alpha partial: need pmap/trap locking changes
522 i386 done
523 amd64 done
524 mips done
525 sparc
526 sparc64
527 arm
528 powerpc partial: need pmap/trap locking changes
529 hppa done
530 sh3 done
531 vax partial: need pmap/trap locking changes
532 m68k
533 xen partial
534
535 Remaining MI work to do:
536
537 - Document locking around fields in struct mount.
538
539 - Check aliased vnode handling. There may be problems.
540
541 - Check layered file systems, LFS.
542
543 Remaining problems:
544
545 - tmpfs_rmdir occasionally leaks tmpfs_nodes.
546
547 - UVM_FLAG_TRYLOCK is not sufficient in uvm_km.c because
548 allocations will fail too often. It's needed for !kmem_map
549 because sometimes allocations are made by threads that
550 hold the map locked, which could cause other threads to
551 wait long term even if they are trying to make a NOWAIT
552 allocation.
553
554 - ext2fs dup alloc.
555
556 - Unmount erroneously reports busy sometimes. Why?
557
558 - usl_detachtimeout warning occasionally.
559
560 Branch: yamt-kmem
561 Description:
562 - separate kernel va allocation from kernel fault handling.
563 - make kmem_alloc interrupt-safe.
564 Status: Active
565 Start Date: Sun Dec 9 2007
566 End Date:
567 Base Tag: yamt-kmem-base
568 Maintainer: YAMAMOTO Takashi <yamt (a] NetBSD.org>
569 Scope: src/sys (src/common is tagged but not branched)
570 Notes:
571
572 Branch: yamt-lazymbuf
573 Description: implement and evaluate lazy mapping of mbuf external data pages
574 also, change the way to share mbuf external storage.
575 it's intended as the first step of larger changes.
576 1. support operations (esp. bus_dma load) on
577 unmapped mbuf.
578 2. unify mbuf and buf.
579 (or, at least some parts of them)
580 3. then it should be trivial to implement
581 i/o coalescing, etc.
582 Status: Active
583 Start Date: Wed Jul 6 2005
584 End Date:
585 Base Tag: yamt-lazymbuf-base7
586 Maintainer: YAMAMOTO Takashi <yamt (a] NetBSD.org>
587 Scope: src/sys (src/common is tagged but not branched)
588 Notes:
589 i386 DONE
590 amd64 DONE
591 other ports should work as the trunk does.
592 (conditionalized by __HAVE_LAZY_MBUF macro)
593
594 Branch: reinoud-bufcleanup
595 Description: implement and evaluate struct buf usage cleanup strategies.
596 Ideas currently in mind (preference for b):
597 a)
598 1. use of bio_ops per buffer.
599 2. allow chaining/overloading of functions in bio_ops
600 and provide some private context.
601 3. extend the bio_ops with commonly used functionality
602 like pending action counting, custom context passing,
603 last minute processing of buffer data, buffer cache
604 etc.
605 4. investigate the use of the kcont()
606 continuation-passing framework for async io
607 completion notification for bufs
608 ...
609 b)
610 1. all sequencing use of B_CALL replaced by
611 device-threads, if possible generic code around BUFQ
612 2. possibly use kcont() for async IO finished signaling
613 3. counter of pending and queued actions requestable
614 by IOCTL interface?
615 4. implement `last minute buffer fixup' calls and maybe
616 even finished I/O calls as vnode operations
617 ...
618 Status: Active
619 Start Date: Thu Mar 15 2007
620 End Date:
621 Base Tag: reinoud-bufcleanup-base
622 Maintainer: Reinoud Zandijk <reinoud (a] NetBSD.org>
623 Scope: src/sys and src/common
624 Notes: Used as experiment sandbox and if successful hopefully one day
625 to be integrated.
626
627 Branch: thorpej-atomic
628 Description: Implementation of an atomic memory operations API modeled
629 after the one in Solaris 10.
630 Status: Active
631 Start Date: Apr 11 2007
632 End Date:
633 Base tag: thorpej-atomic-base
634 Maintainer: Jason Thorpe <thorpej (a] netbsd.org>
635 Scope: src/common
636 src/sys
637 Notes: Base atomic primitives need to be implemented for
638 all of the supported architectures:
639
640 alpha DONE
641 arm DONE
642 hppa
643 i386 DONE
644 ia64
645 m68k DONE (except for 68010)
646 mips
647 ns32k
648 powerpc DONE except for membar_*()
649 powerpc64 DONE except for membar_*()
650 sh3
651 sparc DONE except for membar_*()
652 sparc64 DONE except for membar_*()
653 vax
654 x86_64 DONE
655
656 Tested:
657
658 alpha NO
659 arm NO
660 hppa NO
661 i386 NO
662 ia64 NO
663 m68k NO
664 mips NO
665 ns32k NO
666 powerpc NO
667 powerpc64 NO
668 sh3 NO
669 sparc NO
670 sparc64 NO
671 vax NO
672 x86_64 NO
673
674 TODO:
675
676 all - Need to replace mb_*() with membar_*().
677
678 - Audit MUTEX_CAS() and RWLOCK_CAS() uses
679 to see of membar_enter() is required here.
680
681 - Talk to ad@ -- figure out of non-atomic
682 mutex / rwlock release is actually safe.
683
684 arm - Consider using a RAS technique like
685 MIPS uses for _lock_cas() and the mutex
686 stubs. Possibly do more than one atomic
687 op as a RAS. Possibly implement mutex
688 stubs using the technique.
689
690 m68k - Need to do 68010 support.
691
692 i386 - Need to change when x86_patch() is called
693 so we can test ncpus.
694
695 powerpc - Figure out if we need barriers in the
696 atomic ops themselves (hopefully not!)
697
698 x86_64 - Need to change when x86_patch() is called
699 so we can test ncpus.
700
701 ########################################################################
702 # Individual developers' branches (Terminated):
703 ########################################################################
704
705 Branch: bouyer-scsipi
706 Description: Integration of atapi support
707 Status: Terminated
708 Start Date:
709 End Date:
710 Base Tag:
711 Maintainer: Manuel Bouyer <bouyer (a] NetBSD.org>
712 Scope: kernel
713 Notes: Superseded by thorpej_scsipi
714
715 Branch: bouyer-xen2
716 Description: update xen port to xen 2.0, with support for domain0 operations
717 Status: Terminated
718 Start Date: Dec 13 2004
719 End Date: Mar 10 2005
720 Base Tag: netbsd-2-base
721 Maintainer: Manuel Bouyer <bouyer (a] NetBSD.org>
722 Scope: src/sys/arch/xen
723 Notes:
724
725 Branch: bouyer-xenamd64
726 Description: add amd64 support to Xen and rework some parts to share more code between Xen and others
727 Status: Terminated
728 Start Date: 18 Oct 2007
729 End Date: 22 Nov 2007
730 Base Tag: bouyer-xenamd64-base
731 Maintainer: Manuel Bouyer <bouyer (a] NetBSD.org>
732 Scope: kernel
733 Notes:
734
735 Branch: bouyer-xeni386
736 Description: switch xen on i386 to the x86 pmap and the xen/x86/x86_xpmap.c bootstrap, and add i386 PAE support
737 Status: active
738 Start Date: 10 Dec 2007
739 End Date:
740 Base Tag: bouyer-xeni386-base
741 Maintainer: Manuel Bouyer <bouyer (a] NetBSD.org>
742 Scope: kernel
743 Notes:
744
745 Branch: chap-midi
746 Description: Renovation of MIDI support
747 Status: Terminated; merged to -current
748 Start Date: 19 May 2006
749 End Date: 30 Jun 2006
750 Base Tag: chap-midi-base
751 Maintainer: Chapman Flack <chap (a] NetBSD.org>
752 Scope: sys, share/man, usr.bin
753 Notes:
754
755 Branch: chs-ubc
756 Description: Unified Buffer Cache
757 Status: Terminated
758 Start Date:
759 End Date:
760 Base Tag: chs-ubc-base
761 Maintainer: Chuck Silvers <chs (a] NetBSD.org>
762 Scope: kernel
763 Notes:
764
765 Branch: chs-ubc2
766 Description: Unified Buffer Cache
767 Status: Terminated; merged to -current
768 Start Date:
769 End Date:
770 Base Tag: chs-ubc2-base, chs-ubc2-newbase
771 Maintainer: Chuck Silvers <chs (a] NetBSD.org>
772 Scope: kernel
773 Notes:
774
775 Branch: cjs-build-against-obj-dir
776 Description: ?
777 Status: ?
778 Start Date:
779 End Date:
780 Base Tag:
781 Maintainer: Curt Sampson <cjs (a] NetBSD.org>
782 Scope: Entire tree.
783 Notes:
784
785 Branch: eeh-paddr_t
786 Description: use separate types for virtual vs. physical addresses
787 Status: Terminated; merged to -current
788 Start Date:
789 End Date:
790 Base Tag: eeh-paddr_t-base
791 Maintainer: Eduardo Horvath <eeh (a] NetBSD.org>
792 Scope: kernel
793 Notes: This is needed to support 32-bit kernels on sparc64.
794
795 Branch: elad-kernelauth
796 Description: Native NetBSD implementation of Apple's kernel authorization
797 based on TN2127. This is a "clean-room" implementation to
798 avoid any licensing issues.
799 Status: Terminated; merged to -current
800 Start Date: Tue Mar 7 2006
801 End Date: Mon May 15 2006
802 Base Tag: elad-kernelauth-base
803 Maintainer: Elad Efrat <elad (a] NetBSD.org>
804 Scope: src/sys, src/share/man/man9/Makefile,
805 src/share/man/man9/kauth.h, src/distrib/sets/lists/comp/mi
806 Notes:
807
808 Branch: fvdl-softdep
809 Description: FFS soft dependencies
810 Status: Terminated; merged to -current
811 Start Date:
812 End Date:
813 Base Tag: fvdl-softdep-base
814 Maintainer: Frank van der Linden <fvdl (a] NetBSD.org>
815 Scope: kernel
816 Notes:
817
818 Branch: gehenna-devsw
819 Description: auto-generation of devsw table
820 Status: Terminated
821 Start Date: 16 May 2002
822 End Date: 6 Sep 2002
823 Base Tag: gehenna-devsw-base
824 Maintainer: MAEKAWA Masahide <gehenna (a] NetBSD.org>
825 Scope: syssrc
826 Notes: The goal is to get rid of the existing device switch tables in
827 port-dependent conf.c and to generate them dynamically by
828 config(8).
829
830 Branch: is-newarp
831 Description: ARP for non-Ethernet
832 Status: Terminated; merged before NetBSD 1.3
833 Start Date: 1996/10/13
834 End Date: 1997/03/15
835 Base Tag: is-newarp-base
836 Maintainer: Ignatios Souvatzis <is (a] NetBSD.org>
837 Scope: kernel
838 Notes:
839
840 Branch: jmcneill-pm
841 Description: Power management framework overhaul, ACPI improvements
842 Status: Terminated; merged before NetBSD 5.0
843 Start Date: 3 Aug 2007
844 End Date: 9 Dec 2007
845 Base Tag: jmcneill-pm-base
846 Maintainer: Jared D. McNeill <jmcneill (a] NetBSD.org>
847 Scope: kernel
848 Notes:
849
850 Branch: kenh-if-detach
851 Description: Interface detach support.
852 Status: ?
853 Start Date:
854 End Date:
855 Base Tag: kenh-if-detach-base
856 Maintainer: Ken Hornstein <kenh (a] NetBSD.org>
857 Scope: kernel
858 Notes:
859
860 Branch: kent-audio1
861 Description: Audio converter pipeline
862 Status: Terminated; merged to -current
863 Start Date: Tue Dec 7 2004
864 End Date: Tue Jan 11 2005
865 Base Tag: kent-audio1-base
866 Maintainer: TAMURA Kent <kent (a] NetBSD.org>
867 Scope: kernel (audio device drivers)
868 Notes: http://mail-index.netbsd.org/tech-kern/2004/12/03/0007.html
869 Please consult with the maintainer before committing
870 to this branch.
871
872 Branch: kqueue
873 Description: kqueue kernel event notification mechanism (from FreeBSD)
874 Status: Terminated; merged to -current
875 Start Date: Tue Jul 10 23:08:38 EST 2001
876 End Date: Tue Oct 24 09:14:14 GMT 2002
877 Base Tag: kqueue-base
878 Maintainer: Jaromir Dolecek <jdolecek (a] NetBSD.org>
879 Scope: kernel, libc/sys, share/man/man9, usr.bin/fstat
880 Notes: Integration of FreeBSD's kqueue(2) mechanism, with various
881 local internal changes to better suit NetBSD, and
882 enhancements such as looking up filters by name or
883 number, and dynamic registration of "user" filters.
884 The work is complete as is, but is awaiting more
885 feedback from various kernel gurus before going mainline.
886
887 Branch: ktrace-lwp
888 Description: ktrace support for lwp ids.
889 Status: Terminated; merged to -current
890 Start Date: Wed Jul 2 15:27:30 UTC 2003
891 End Date: Sun Dec 11 12:25:29 UTC 2005
892 Base Tag: ktrace-lwp-base
893 Maintainer: Darren Reed <darrenr (a] NetBSD.org>
894 Scope: sys
895 Notes:
896
897 Branch: marc-pcmcia
898 Description: PCMCIA support
899 Status: Terminated; merged to -current
900 Start Date:
901 End Date:
902 Base Tag: marc-pcmcia-base, marc-pcmcia-bp
903 Maintainer: Marc Horowitz <marc (a] NetBSD.org>
904 Scope: kernel
905 Notes:
906
907 Branch: minoura_x68k_bus_h
908 Description: bus_space(9) and bus_dma(9) implementation for x68k
909 Status: Terminated; merged to -current
910 Start Date: 23 Dec 1998
911 End Date: 16 Mar 1999
912 Base Tag: minoura_x68k_bus_h-base
913 Maintainer: Minoura Makoto <minoura (a] NetBSD.org>
914 Scope: sys/arch/x68k
915 Notes:
916
917 Branch: minoura-xpg4dl
918 Description: Citrus Project locale subsystem
919 Status: Terminated; (partly) merged to -current
920 Start Date: 28 March 2000
921 End Date:
922 Base Tag: minoura-xpg4dl-base
923 Maintainer: Minoura Makoto <minoura (a] NetBSD.org>
924 Scope: basesrc, syssrc, sharesrc
925 Notes: Citrus Project is developing dynamically-loadable, codeset-
926 independent locale subsystem. Part of the implementation
927 (LC_CTYPE) called XPG4DL is now integrated to -current.
928
929 Branch: mrg-vm-swap
930 Description: dynamic swap allocation, swap-to-files support
931 Status: Terminated; abandoned for mrg-vm-swap2
932 Start Date: 12 February 1997
933 End Date: 15 March 1997
934 Base Tag: [none]
935 Maintainer: Matthew R. Green <mrg (a] NetBSD.org>
936 Scope: kernel
937 Notes:
938
939 Branch: mrg-vm-swap2
940 Description: dynamic swap allocation, swap-to-files support
941 Status: Terminated; merged to -current
942 Start Date: 4 May 1997
943 End Date: 12 June 1997
944 Base Tag: mrg-vm-swap2-base
945 Maintainer: Matthew R. Green <mrg (a] NetBSD.org>
946 Scope: kernel
947 Notes:
948
949 Branch: nathanw_sa
950 Description: Scheduler activations
951 Status: Terminated; merged to -current
952 Start Date: 5 March 2001
953 End Date: 18 January 2003
954 Base Tag: nathanw_sa_base
955 Maintainer: Nathan Williams <nathanw (a] NetBSD.org>
956 Scope: kernel, libc, libkvm, libpthread, libpthread_dbg, include,
957 bin/ps usr.bin/systat usr.bin/top usr.bin/w
958 gnu/dist/toolchain/gdb gnu/usr.bin/gdb
959 Notes: The idea of scheduler activations is described in the
960 classic paper by Anderson et al., in ACM Transactions
961 a on Computer Systems volume 10 issue 1 (1992),which
962 can be found at
963 http://www.acm.org/pubs/citations/journals/tocs/1992-10-1/p53-anderson/
964 Many ideas in the implementation are based on the
965 implementation of scheduler activations added to Mach
966 3.0 and described by Davis et al. in the University of
967 Washington CS tech report 92-08-93, which can be found
968 at
969 ftp://ftp.cs.washington.edu/tr/1992/08/UW-CSE-92-08-03.PS.Z
970
971 My USENIX paper on the subject can be found at
972 http://web.mit.edu/nathanw/www/usenix/
973
974 Please consult with the maintainer before committing
975 to this branch.
976 Other tags starting with nathanw_sa reserved for
977 branch management and are not guaranteed to be stable.
978
979 Trunk tagged with "nathanw_sa_before_merge" prior to
980 merging branch down to trunk. Branch tagged with
981 "nathanw_sa_end" to indicate the ending revision of
982 the branch.
983
984 Branch: newlock
985 Description: New locking primitives, based on Solaris's
986 Status: Terminated
987 Start Date: March 9, 2002
988 End Date: February 12, 2007
989 Base Tag: newlock-base
990 Maintainer: Jason R. Thorpe <thorpej (a] NetBSD.org>
991 Scope: Kernel
992 Notes: The goal is to replace the existing lockmgr() and
993 simple_lock() based locking mechanisms with the
994 primitives found in Solaris: mutexes and rwlocks.
995 Superseded by the newlock2 branch.
996
997 Branch: newlock2
998 Description: New locking primitives, based on Solaris's
999 Status: Terminated
1000 Start Date: September 9, 2006
1001 End Date: February 12, 2007
1002 Base Tag: newlock2-base
1003 Maintainer: Andrew Doran <ad (a] NetBSD.org>
1004 Scope: Kernel
1005 Notes: As per the newlock branch, however given the amount of time
1006 the original branch has lain dormant, a new one has been
1007 created. Goals:
1008 - Implement new locking primitives on most-used ports.
1009 - Minor locking improvements.
1010 - Remove spinlockmgr().
1011
1012 Branch: nick-csl-alignment
1013 Description: Provide correctly aligned __cpu_simple_lock_t for hppa
1014 Status: Terminated
1015 Start Date: 2007-07-18
1016 End Date:
1017 Base Tag: nick-csl-alignment-base5
1018 Maintainer: Nick Hudson <skrll (a] NetBSD.org>
1019 Scope: sys, lib/libpthread, lib/libpthread_dbg
1020 Notes:
1021
1022 Branch: perseant-lfsv2
1023 Description: LFS incompatible on-disk data structure changes
1024 Status: Terminated
1025 Start Date: 27 June 2001
1026 End Date: 16 July 2001
1027 Base Tag: perseant-lfsv2-base
1028 Maintainer: Konrad Schroder <perseant (a] NetBSD.org>
1029 Scope: basesrc/{sbin/*lfs,libexec/lfs_cleanerd,usr.sbin/dumplfs}, syssrc/sys/ufs
1030 Notes: This branch should be short-lived, I expect to merge as soon
1031 as the data structures required for unremove are in and tested.
1032
1033 Branch: ppcoea-renovation
1034 Description: General renovation and cleanup of all OEA PowerPC ports.
1035 Status: Terminated; merged to -current
1036 Start Date: 30 April 2007
1037 End Date: 15 October 2007
1038 Base Tag: ppcoea-renovation-base
1039 Maintainer: Tim Rightnour <garbled (a] netbsd.org>
1040 Scope: src/sys/arch
1041 Notes: This branch is for a general cleanup of all OEA-based PowerPC
1042 ports. OEA (Operating Environment Architecture) PowerPC refers
1043 to the 601, 603, 604, and similar chips. Specifically, not the
1044 403/401 and other embedded chips. The general concept is to get
1045 them all compiling, and sharing as much code as possible. All
1046 developers are welcome to commit to this branch.
1047
1048 Branch: thorpej-devvp
1049 Description: replace dev_t with struct vnode * in devsw entry points
1050 Status: Terminated
1051 Start Date: Sep 6 2001
1052 End Date: ???
1053 Base Tag: thorpej-devvp-base
1054 Maintainer: Jason Thorpe <thorpej (a] NetBSD.org>
1055 Scope: syssrc
1056 Notes: Kernels built from this branch are not expected
1057 to function correctly at this time.
1058
1059 Ports known to compile on this branch:
1060 alpha
1061 i386
1062
1063 Branch: peter-altq
1064 Description: New ALTQ framework:
1065 - sync with KAME sources
1066 - share mtag/name mapping functions
1067 - separate altq + pf attachment
1068 Status: Terminated; merged to -current
1069 Start Date: March 16, 2006
1070 End Date: October 12, 2006
1071 Base Tag: peter-altq-base
1072 Maintainer: Peter Postma <peter (a] NetBSD.org>,
1073 Martin Husemann <martin (a] NetBSD.org>,
1074 Matthias Scheler <tron (a] NetBSD.org>
1075 Scope: dist/pf dist/ipf distrib/sets/lists sys usr.sbin/altq
1076 Notes: Only the first item in the description was finished
1077 in this branch.
1078
1079 Branch: sommerfeld_i386mp_1
1080 Description: Multiprocessor support for i386 using Intel MP BIOS.
1081 Status: Terminated; merged to -current
1082 Start Date: 21 Feb 2000
1083 End Date: 01 Oct 2002
1084 Base Tag: sommerfeld_i386mpbase_1
1085 Maintainer: Bill Sommerfeld <sommerfeld (a] NetBSD.org>
1086 Scope: sys/arch/i386
1087 Notes:
1088 Code committed to the branch has booted to multiuser
1089 on at least one system.
1090
1091 Not guaranteed to compile against mainline since -current
1092 may have changed incompatibly with the last branch update;
1093 use "cvs update -D" to roll-back the rest of the tree to match.
1094
1095 Please get explicit permission from the maintainer
1096 before each commit, or your changes will be backed out.
1097 Other tags starting with sommerfeld_ are private to
1098 the developer and are guaranteed to be unstable.
1099 Only the maintainer should move tags.
1100
1101 Note that this branch uses a DIFFERENT scheme for
1102 syncing with the mainline. the maintainer uses some private
1103 scripts for keeping them in sync; if you make commits
1104 to the branch to "resynchronize" things, you'll
1105 probably do it wrong; instead, ask the maintainer to
1106 resynchronize things.
1107
1108 See sys/arch/i386/TODO on the branch for a list of known
1109 issues with the branch.
1110
1111 Branch: thorpej-mips-cache
1112 Description: overhaul MIPS cache support code
1113 Status: Terminated; merged to -current
1114 Start Date: Oct 23 2001
1115 End Date: Nov 14 2001
1116 Base Tag: thorpej-mips-cache-base
1117 Scope: syssrc
1118 Notes: This branch needs more debugging, testing, and more
1119 ports need to be converted to the new world order.
1120
1121 The following processors have had cache ops
1122 written:
1123
1124 * R2000/R3000 (cache_r3k) -- light testing,
1125 needs to be beat on a lot more to make
1126 sure it's working.
1127
1128 * R4000/R4400 (cache_r4k) -- mhitch (a] NetBSD.org
1129 tracked down a bug, which has been fixed.
1130
1131 Confirmed working on R4000-with-L2.
1132
1133 Confirmed working on R4400-no-L2 and
1134 R4400-with-L2.
1135
1136 * R4600/R5000 (cache_r5k) -- shin (a] NetBSD.org
1137 has committed fixes to this code.
1138
1139 Confirmed working on R4600 v2 (SGI IP-22 with
1140 no SysAD L2 cache).
1141
1142 Confirmed working on RM5260 (Algorithmics P-5064).
1143
1144 * TX39 (cache_tx39) -- uch (a] NetBSD.org has
1145 committed fixes to this code. Awaiting
1146 confirmation that it is working properly.
1147
1148 * R5900 (cache_r5900) -- uch (a] NetBSD.org has
1149 written this code and tested it on a
1150 PlayStation 2.
1151
1152 The following ports have been updated to compile (and
1153 use optimized-for-processor bus_dma routines). Those
1154 that have been tested and work are marked with [WORKING].
1155
1156 * algor [WORKING]
1157
1158 * arc [WORKING]
1159
1160 * pmax [WORKING]
1161
1162 * playstation2 [WORKING]
1163 Needs optimized bus_dmamap_sync().
1164
1165 * hpcmips [need verification that this is working]
1166 Needs optimized bus_dmamap_sync().
1167
1168 * sgimips [WORKING]
1169 Needs optimized bus_dmamap_sync().
1170
1171 * cobalt [need testing]
1172
1173 * mipsco [need testing]
1174
1175 * newsmips [need testing]
1176
1177 Branch: thorpej_scsipi
1178 Description: SCSI/ATAPI midlayer rewrite.
1179 Status: Terminated; merged to -current
1180 Start Date:
1181 End Date: Apr 25 2001
1182 Base Tag: thorpej_scsipi_base, thorpej_scsipi_nbase
1183 Maintainer: Manuel Bouyer <bouyer (a] NetBSD.org>,
1184 Jason Thorpe <thorpej (a] NetBSD.org>
1185 Scope: syssrc
1186 Notes: When a change from -current is pulled up please move the
1187 thorpej_scsipi_base tag to the revision you're syncing with.
1188 thorpej_scsipi_nbase is private to maintainer (only
1189 used when syncing the whole branch with HEAD).
1190 Just before the merge, syssrc has been tagged with
1191 thorpej_scsipi_beforemerge
1192
1193 Branch: thorpej-signal
1194 Description: ?
1195 Status: ?
1196 Start Date:
1197 End Date:
1198 Base Tag: thorpej-signal-base
1199 Maintainer: Jason Thorpe <thorpej (a] NetBSD.org>
1200 Scope: kernel
1201 Notes:
1202
1203 Branch: thorpej-setroot
1204 Description: ?
1205 Status: Terminated; merged to -current
1206 Start Date:
1207 End Date:
1208 Base Tag:
1209 Maintainer: Jason Thorpe <thorpej (a] NetBSD.org>
1210 Scope: kernel
1211 Notes:
1212
1213 Branch: simonb-timecounters
1214 Description: Port FreeBSD timecounters to NetBSD
1215 Status: Terminated
1216 Start Date: Sat Feb 04 2006
1217 End Date: Wed Jun 07 2006
1218 Base Tag: simonb-timecounters-base
1219 Maintainer: Simon Burge <simonb (a] NetBSD.org>,
1220 Frank Kardel <kardel (a] NetBSD.org>
1221 Scope: sys, sbin/savecore, usr.bin/vmstat, usr.sbin/ntp
1222 Notes: early (partial conversion) commit to -current
1223 ok'ed by core@ on 20060605 for testing and further
1224 simplified conversion
1225
1226 Branch: wrstuden-devbsize
1227 Description: Modify buffer cache to deal with different devices having
1228 different block sizes. Also DEV_BSIZE would go away.
1229 Status: Terminated
1230 Start Date: Aug or Sept 1999
1231 End Date: 1 Apr 2000
1232 Base tag: wrstuden-devbsize-base
1233 Maintainer: Bill Studenmund <wrstuden (a] NetBSD.org>
1234 Scope: kernel
1235 Notes: No longer active due to lack of time, and introduction
1236 of UBC. In terms of UBC, the primary cache for
1237 file data is the VM cache, which needs to operate
1238 in terms of VM pages. As no existing device has native
1239 pages the same size as our VM pages, there already is
1240 a mapping going on between the VM system and the
1241 underlying blocks. So it would be easier and cleaner
1242 to adjust that to deal w/ different block sizes.
1243 Also with UBC, all i/o is in terms of bytes at an offset
1244 with a certain length, so the exact block size isn't a big
1245 deal.
1246
1247 Any other wrstuden-devbsize tag may (and should) go away.
1248
1249 Branch: yamt-idlelwp
1250 Description: idle lwp, and some changes depending on it.
1251
1252 1. separate context switching and thread scheduling.
1253 (cf. gmcgarry_ctxsw)
1254 2. implement idle lwp.
1255 3. clean up related MD/MI interfaces.
1256 4. make scheduler(s) modular.
1257
1258 Status: Terminated; merged to -current
1259 Start Date: Fri Feb 17 2007
1260 End Date: Thu May 17 2007
1261 Base Tag: yamt-idlelwp-base8
1262 Maintainer: YAMAMOTO Takashi <yamt (a] NetBSD.org>
1263 Scope: src/sys (src/common is tagged but not branched)
1264 Notes:
1265 Status of ports:
1266 alpha [ Done, UP tested, MP not tested ]
1267 i386 [ Done, tested ]
1268 amd64 [ Done, tested ]
1269 mips [ Done, both MIPS1 and MIPS3 tested]
1270 sparc [ Done, UP tested, MP might have
1271 some problem after newlock2 merge ]
1272 sparc64 [ Done, tested ]
1273 arm [ Done, SA1 tested. See PR 36548 ]
1274 macppc/powerpc [ Done, OEA tested ]
1275 hppa [ Done, tested ]
1276 sh3 [ Done, tested ]
1277 vax [ Done, UP tested, MP untested ]
1278 m68k [ Done, tested on several ports ]
1279 ns32k [ broken ]
1280 ia64 [ broken ]
1281 pdp10 [ broken ]
1282
1283 How to adapt a port?
1284
1285 - unify cpu_switch, cpu_exit, cpu_switchto into
1286 a single cpu_switchto. see cpu_switchto.9.
1287
1288 - implement cpu_idle. see cpu_idle.9.
1289
1290 - add a flag argument to cpu_need_resched.
1291 handle RESCHED_IMMED flag, which means "cause a preemption
1292 as soon as possible." eg. in the case of MULTIPROCESSOR,
1293 send an IPI to the target cpu.
1294
1295 - "curlwp == NULL" is not a valid check for idle state anymore.
1296 use "(curlwp->l_flag & LW_IDLE) != 0" instead. curlwp is
1297 almost always non-NULL, with exceptions like early on boot.
1298
1299 - remove idle pcbs.
1300
1301 - (if MULTIPROCESSOR) tweak processor trampoline code.
1302
1303 - (if MULTIPROCESSOR) call mi_cpu_attach when attaching
1304 secondary processors.
1305
1306 - (if schedhz!=0) call schedclock regardless of the value of
1307 curlwp.
1308
1309 - of course, update MD users of scheduler/switching API.
1310
1311 Branch: yamt-km, yamt-km-doc
1312 Description: simplify/improve kernel memory management and bootstrap
1313 Status: Terminated; merged to -current
1314 Start Date: Tue Jan 25 2005
1315 End Date: Fri Apr 1 2005
1316 Base Tag: yamt-km-base{,2,3,4}, yamt-km-doc-base
1317 Maintainer: YAMAMOTO Takashi <yamt (a] NetBSD.org>
1318 Scope: yamt-km: src/sys
1319 yamt-km-doc: src/share/man/man9/uvm.9
1320 Notes: http://mail-index.NetBSD.org/tech-kern/2004/12/25/0005.html
1321
1322 the followings are per-port status.
1323 (account names mean "tested by".)
1324
1325 works enough to go to multiuser:
1326 alpha, i386, xen (yamt@)
1327 pc532 (simonb@)
1328 alpha, i386, mac68k, macppc, pmax, shark,
1329 sparc, sparc64, sun3, x68k (chs@)
1330 cobalt, dreamcast, hp300, news68k, newsmips,
1331 sun3x (tsutsui@)
1332 amiga (mhitch@)
1333 cats, hp700 (skrll@)
1334 xen (bouyer@)
1335
1336 known to have the same problem as trunk:
1337 vax (chs@, stuck while running kvm_mkdb)
1338
1339 known to have a problem:
1340 luna68k (and, if any, other m68k ports which use TTR)
1341 needs to be revisited.
1342 -> for luna68k, although not tested,
1343 Sysmap has been moved to avoid kva conflict with
1344 I/O ranges.
1345
1346 buildable:
1347 src/sys/arch/acorn26/conf/GENERIC
1348 src/sys/arch/acorn32/conf/GENERIC
1349 src/sys/arch/algor/conf/P6032
1350 src/sys/arch/alpha/conf/GENERIC
1351 src/sys/arch/alpha/conf/GENERIC.MP
1352 src/sys/arch/amd64/conf/GENERIC
1353 src/sys/arch/amd64/conf/GENERIC.MP
1354 src/sys/arch/amiga/conf/GENERIC
1355 src/sys/arch/arc/conf/GENERIC
1356 src/sys/arch/atari/conf/MILAN-PCIIDE
1357 src/sys/arch/bebox/conf/GENERIC
1358 src/sys/arch/cats/conf/GENERIC
1359 src/sys/arch/cesfic/conf/GENERIC
1360 src/sys/arch/cobalt/conf/GENERIC
1361 src/sys/arch/dreamcast/conf/GENERIC
1362 src/sys/arch/evbarm/conf/TS7200
1363 src/sys/arch/evbppc/conf/WALNUT
1364 src/sys/arch/evbsh3/conf/COMPUTEXEVB
1365 src/sys/arch/evbsh5/conf/CAYMAN64
1366 src/sys/arch/hp300/conf/GENERIC
1367 src/sys/arch/hp700/conf/GENERIC
1368 src/sys/arch/hpcarm/conf/JORNADA728
1369 src/sys/arch/hpcmips/conf/GENERIC
1370 src/sys/arch/hpcsh/conf/GENERIC
1371 src/sys/arch/hpcsh/conf/HPW650PA
1372 src/sys/arch/i386/conf/GENERIC
1373 src/sys/arch/i386/conf/GENERIC.MP
1374 src/sys/arch/i386/conf/XEN0
1375 src/sys/arch/i386/conf/XENU
1376 src/sys/arch/ibmnws/conf/GENERIC
1377 src/sys/arch/iyonix/conf/GENERIC
1378 src/sys/arch/luna68k/conf/GENERIC
1379 src/sys/arch/mac68k/conf/GENERIC
1380 src/sys/arch/macppc/conf/GENERIC
1381 src/sys/arch/macppc/conf/GENERIC.MP
1382 src/sys/arch/mipsco/conf/GENERIC
1383 src/sys/arch/mmeye/conf/GENERIC
1384 src/sys/arch/mvme68k/conf/GENERIC
1385 src/sys/arch/netwinder/conf/GENERIC
1386 src/sys/arch/news68k/conf/GENERIC
1387 src/sys/arch/newsmips/conf/GENERIC
1388 src/sys/arch/next68k/conf/GENERIC
1389 src/sys/arch/ofppc/conf/GENERIC
1390 src/sys/arch/pc532/conf/GENERIC
1391 src/sys/arch/pmax/conf/GENERIC
1392 src/sys/arch/prep/conf/GENERIC
1393 src/sys/arch/sandpoint/conf/GENERIC
1394 src/sys/arch/sbmips/conf/GENERIC
1395 src/sys/arch/sgimips/conf/GENERIC32_IP3x
1396 src/sys/arch/shark/conf/GENERIC
1397 src/sys/arch/sparc/conf/GENERIC
1398 src/sys/arch/sparc/conf/GENERIC.MP
1399 src/sys/arch/sparc64/conf/GENERIC
1400 src/sys/arch/sparc64/conf/GENERIC.MP
1401 src/sys/arch/sun2/conf/GENERIC
1402 src/sys/arch/sun3/conf/GENERIC
1403 src/sys/arch/vax/conf/GENERIC
1404 src/sys/arch/vax/conf/GENERIC.MP
1405 src/sys/arch/x68k/conf/GENERIC
1406
1407 src/sys/arch/playstation2/conf/GENERIC
1408
1409 Branch: yamt-pdpolicy
1410 Description: play with page replacement policy
1411 - separate page replacement policy from the rest of kernel
1412 - implement alternative replacement policy
1413 - related read-ahead adjustment?
1414 Status: Terminated; merged to -current
1415 Start Date: Sun Mar 5 2006
1416 End Date: Sat Sep 16 2006
1417 Base Tag: yamt-pdpolicy-base9
1418 Maintainer: YAMAMOTO Takashi <yamt (a] NetBSD.org>
1419 Scope: src/sys (src/common is tagged but not branched)
1420 Notes:
1421
1422 Branch: yamt-readahead
1423 Description: play with file readahead
1424 Status: Terminated; merged to -current
1425 Start Date: Mon Nov 14 2005
1426 End Date: Wed Nov 30 2005
1427 Base Tag: yamt-readahead-base3
1428 Maintainer: YAMAMOTO Takashi <yamt (a] NetBSD.org>
1429 Scope: src/sys
1430 Notes:
1431
1432 Branch: yamt-uio_vmspace
1433 Description: uio_lwp/uio_segflg -> uio_vmspace
1434 Status: Terminated; merged to -current
1435 Start Date: Mon Dec 31 2005
1436 End Date: Wed Mar 1 2006
1437 Base Tag: yamt-uio_vmspace-base5
1438 Maintainer: YAMAMOTO Takashi <yamt (a] NetBSD.org>
1439 Scope: src/sys
1440 Notes:
1441
1442 Branch: yamt-splraiseipl
1443 Description: finish implementing splraiseipl (and makeiplcookie).
1444 http://mail-index.NetBSD.org/tech-kern/2006/07/01/0000.html
1445
1446 - completes workqueue(9) and netbt.
1447 - fix PR/33218.
1448
1449 Status: Terminated; merged to -current
1450 Start Date: Mon Sep 18 2006
1451 End Date: Fri Dec 22 2006
1452 Base Tag: yamt-splraiseipl-base5
1453 Maintainer: YAMAMOTO Takashi <yamt (a] NetBSD.org>
1454 Scope: src/sys (src/common is tagged but not branched)
1455 Notes:
1456 tested (by who):
1457 alpha (yamt)
1458 alpha (pavel)
1459 amd64 (reported privately)
1460 cobalt (tsutsui)
1461 ews4800mips (tsutsui)
1462 hp300 (tsutsui)
1463 hpcarm (reported privately)
1464 i386 (yamt)
1465 macppc (tsutsui)
1466 news68k (tsutsui)
1467 sgimips(IP32) (tsutsui)
1468 sparc(sun4c) (tsutsui)
1469 sun2 (tsutsui)
1470 sun3 (tsutsui)
1471 sun3x (tsutsui)
1472 xen (yamt)
1473
1474 compile-tested:
1475 acorn26
1476 acorn32
1477 algor
1478 amiga
1479 arc
1480 atari
1481 bebox
1482 cats
1483 cesfic
1484 dreamcast
1485 evbarm
1486 evbmips
1487 evbppc(marvell)
1488 evbppc(ibm4xx)
1489 evbsh3
1490 hp700
1491 hpcmips
1492 hpcsh
1493 ia64
1494 ibmnws
1495 iyonix
1496 landisk
1497 luna68k
1498 mac68k
1499 mmeye
1500 mvme68k
1501 mvmeppc
1502 mipsco
1503 netwinder
1504 newsmips
1505 next68k
1506 ofppc
1507 pc532
1508 pmax
1509 pmppc
1510 prep
1511 sandpoint
1512 sbmips
1513 shark
1514 sparc
1515 sparc64
1516 vax
1517 x68k
1518 zaurus
1519
1520 not tested:
1521 pdp10 (i don't know how to build)
1522 sh5 (not buildable with an unrelated problem.)
1523
1524 compile CAYMAN64/netbsd32_sa.o
1525 cc1: warnings being treated as errors
1526 /exports/nbsd/src/sys/compat/netbsd32/netbsd32_sa.c: In function 'netbsd32_sa_ucsp':
1527 /exports/nbsd/src/sys/compat/netbsd32/netbsd32_sa.c:126: warning: implicit declaration of function '_UC_MACHINE32_SP'
1528 --- netbsd32_sa.o ---
1529 *** [netbsd32_sa.o] Error code 1
1530 1 error
1531
1532 notyet:
1533 amigappc
1534 playstation2
1535
1536 Branch: yamt-vop
1537 Description: remove several VOPs
1538 Status: Terminated; merged to -current
1539 Start Date: Wed Oct 19 2005
1540 End Date: Wed Nov 2 2005
1541 Base Tag: yamt-vop-base3
1542 Maintainer: YAMAMOTO Takashi <yamt (a] NetBSD.org>
1543 Scope: src/sys
1544 Notes: http://mail-index.NetBSD.org/tech-kern/2005/09/27/0000.html
1545
1546 Branch: yamt-x86pmap
1547 Description: merge i386 and amd64 pmap
1548 Status: Terminated; merged to -current
1549 Start Date: Mon Sep 24 2007
1550 End Date: Fri Oct 19 2007
1551 Base Tag: yamt-x86pmap-base4
1552 Maintainer: YAMAMOTO Takashi <yamt (a] NetBSD.org>
1553 Scope: src/sys (src/common is tagged but not branched)
1554 Notes:
1555
1556 Branch: gdamore-uart
1557 Description: Add register table support to com driver.
1558 Status: Active
1559 Start Date: 14 June 2006
1560 End Date: 13 July 2006
1561 Base Tag: gdamore-uart-base
1562 Maintainer: Garrett D'Amore <gdamore (a] NetBSD.org>
1563 Scope: kernel
1564 Notes: Results in consolidation of Alchemy (mips/dev/alchemy/aucom.c)
1565 com support, and also removes a nasty hack from Atheros com.
1566
1567 ########################################################################
1568 # Other:
1569 ########################################################################
1570
1571 Branch: magnum
1572 Description: ?
1573 Status: ?
1574 Start Date:
1575 End Date:
1576 Base Tag: magnum-base
1577 Maintainer: ?
1578 Scope: kernel
1579 Notes:
1580
1581