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