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