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