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