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