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