<?xml version="1.0" encoding="ISO-8859-1" ?>
<!DOCTYPE report PUBLIC "-//FreeBSD//DTD FreeBSD XML Database for Status
Report//EN"
"http://www.FreeBSD.org/XML/www/share/sgml/statusreport.dtd">
<!-- $FreeBSD$ -->
<report>
  <date>
    <month>January-March</month>

    <year>2009</year>
  </date>

  <section>
    <title>Introduction</title>

    <p>Since the last Status Reports there has been interesting progress
    in FreeBSD Development. FreeBSD 7.2 was released just a few days ago.
    Some of the highlights include: Support for superpages in the FreeBSD
    Virtual Memory subsystem. The FreeBSD Kernel Virtual Address space
    has been increased to 6GB on amd64. An updated jail(8) subsystem that
    supports multi-IPv4/IPv6/noIP and much more. Lots of FreeBSD
    Developers are in Ottawa, Canada attending the FreeBSD Developer
    Summit that is before BSDCan. BSDCan officially starts tomorrow and
    should cover lots of interesting topics, see the 
    <a href="http://www.bsdcan.org/2009/">BSDCan Website</a>

    for more information.</p>

    <p>Thanks to all the reporters for the excellent work! We hope you
    enjoy reading.</p>
  </section>

  <category>
    <name>proj</name>

    <description>Projects</description>
  </category>

  <category>
    <name>team</name>

    <description>FreeBSD Team Reports</description>
  </category>

  <category>
    <name>arch</name>

    <description>Architectures</description>
  </category>

  <category>
    <name>docs</name>

    <description>Documentation</description>
  </category>

  <category>
    <name>soc</name>

    <description>Google Summer of Code</description>
  </category>

  <project cat='team'>
    <title>FreeBSD BugBusting Team</title>

    <contact>
      <person>
        <name>
          <given>Mark</given>

          <common>Linimon</common>
        </name>

        <email>bugmeister@</email>
      </person>

      <person>
        <name>
          <given>Remko</given>

          <common>Lodder</common>
        </name>

        <email>bugmeister@</email>
      </person>
    </contact>

    <links>
      <url href="http://www.FreeBSD.org/support.html#gnats" />

      <url href="http://wiki.FreeBSD.org/BugBusting" />

      <url href="http://people.FreeBSD.org/~linimon/studies/prs/" />

      <url
      href="http://people.freebsd.org/~linimon/studies/prs/recommended_prs.html" />
    </links>

    <body>
      <p>We continue to classify PRs as they arrive, with 'tags'
      corresponding to the kernel subsystem, or man page references for
      userland PRs. These tags, in turn, produce lists of PRs sorted both
      
      <a
      href="http://people.freebsd.org/~linimon/studies/prs/pr_tag_index.html">
      by tag</a>

      and 
      <a
      href="http://people.freebsd.org/~linimon/studies/prs/pr_manpage_index.html">
      by manpage</a>
      </p>

      <p>Mark Linimon (linimon@) has created 
      <a href="http://people.freebsd.org/~linimon/annotated_prs.re.html">
      special reports for the Release Engineering Team</a>

      to help focus on regressions and other areas of interest relating
      to the release of FreeBSD 7.2 in the coming weeks. This is a
      refinement of the 
      <a
      href="http://people.freebsd.org/~linimon/annotated_prs.sample.html">
      'customized reports for developers'</a>

      announced in the last status report.</p>

      <p>A full list of all the 
      <a href="http://people.freebsd.org/~linimon/studies/prs/">
      automatically generated reports</a>

      is also available. Any recommendations for reports which do not
      currently exist but which would be beneficial are welcomed.</p>

      <p>Mark Linimon also continues attempting to define the general
      problem and investigating possible new work flow models, and will be
      presenting on the subject at BSDCan.</p>

      <p>The list of 
      <a
      href="http://people.freebsd.org/~linimon/studies/prs/recommended_prs.html">
      PRs recommended for committer evaluation</a>

      by the BugBusting team continues to receive new additions. This
      list contains PRs, mostly with patches, that the BugBusting team
      feel are probably ready to be committed as-is, or are probably
      trivially resolved in the hands of a committer with knowledge of
      the particular subsystem. All committers are invited to take a look
      at this list whenever they have a spare 5 minutes and wish to close
      a PR.</p>

      <p>Since the last status report, the number of open bugs
      continued to hover around the 5600 mark, although has began to rise
      with the 7.2 ports freeze.</p>

      <p>As always, more help is appreciated, and committers and
      non-committers alike are invited to join us on #freebsd-bugbusters
      on EFnet and help close stale PRs or commit patches from valid
      PRs.</p>
    </body>

    <help>
      <task>Try to find ways to get more committers helping us with
      closing PRs that the team has already analyzed.</task>

      <task>Think of some way for committers to only view PRs that have
      been in some way 'vetted' or 'confirmed'.</task>

      <task>Generate more publicity for what we've already got in place,
      and for what we intend to do next.</task>

      <task>Define new categories, classifications, and states for PRs,
      that will better match our work flow (in progress).</task>
    </help>
  </project>

  <project cat='proj'>
    <title>Clang replacing GCC in the base system</title>

    <contact>
      <person>
        <name>
          <given>Ed</given>

          <common>Schouten</common>
        </name>

        <email>ed@FreeBSD.org</email>
      </person>

      <person>
        <name>
          <given>Roman</given>

          <common>Divacky</common>
        </name>

        <email>rdivacky@FreeBSD.org</email>
      </person>

      <person>
        <name>
          <given>Brooks</given>

          <common>Davis</common>
        </name>

        <email>brooks@FreeBSD.org</email>
      </person>

      <person>
        <name>
          <given>Pawel</given>

          <common>Worach</common>
        </name>

        <email>pawel.worach@gmail.com</email>
      </person>
    </contact>

    <links>
      <url href="http://wiki.freebsd.org/BuildingFreeBSDWithClang">
      Building FreeBSD with Clang</url>

      <url href="http://git.hoeg.nl/?p=llvm-bmake">Clang patchset</url>

      <url href="http://clang.llvm.org/">Clang website</url>
    </links>

    <body>
      <p>The last 3-4 months we've been working together with the LLVM
      developers to discuss any bugs and issues we are experiencing with
      their Clang compiler frontend. The FreeBSD project is looking at
      the possibility to replace GCC with Clang as a system compiler. It
      can compile 99% of the FreeBSD world and can compile booting kernel
      on i386/amd64 but it still contains bugs and its C++ support is
      still immature.</p>

      <p>Ed is maintaining a patchset for the FreeBSD sources to replace
      cc(1) by a Clang binary and bootstrap almost all sources with the
      Clang compiler.</p>

      <p>The LLVM developers are very helpful fixing most of the bugs
      we've reported (over 100). Unfortunately we are currently blocked
      on some bug reports that prevent us from building libc, libm,
      libcrypto and various CDDL libraries with Clang but the FreeBSD
      kernel itself compiles and boots.</p>
    </body>

    <help>
      <task>Testing Clang with compilation of various applications and
      reporting bugs.</task>

      <task>Testing the llvm-bmake branch to find more bugs.</task>

      <task>Arranging an experimental ports build.</task>
    </help>
  </project>

  <project cat='docs'>
    <title>Hungarian Documentation Project</title>

    <contact>
      <person>
        <name>
          <given>Gábor</given>

          <common>Kövesdán</common>
        </name>

        <email>gabor@FreeBSD.org</email>
      </person>

      <person>
        <name>
          <given>Gábor</given>

          <common>Páli</common>
        </name>

        <email>pgj@FreeBSD.org</email>
      </person>
    </contact>

    <links>
      <url href="http://www.FreeBSD.org/hu">Hungarian Web Page for
      FreeBSD</url>

      <url href="http://www.FreeBSD.org/doc/hu">Hungarian Documentation
      for FreeBSD</url>

      <url href="http://wiki.FreeBSD.org/HungarianDocumentationProject">
      The FreeBSD Hungarian Documentation Project's Wiki Page</url>

      <url
      href="http://p4web.freebsd.org/@md=d&amp;cd=//depot/projects/docproj_hu/&amp;c=aXw@//depot/projects/docproj_hu/?ac=83">
      Perforce Depot for the FreeBSD Hungarian Documentation
      Project</url>
    </links>

    <body>
      <p>We are proud to announce that the FreeBSD Hungarian web pages
      have been extended by the following items:</p>

      <ul>
        <li>Project news entries, staring from 2009 (HTML, RSS, RDF)</li>

        <li>Press releases, starting from 2008 (HTML, RSS)</li>

        <li>Events, starting from 2009 (HTML, RSS)</li>

        <li>Security advisories (HTML, RSS)</li>
      </ul>

      <p>We are still hoping that having the 
      <a href="http://www.freebsd.org/doc/hu/books/fdp-primer/">FDP
      Primer</a>

      translated will encourage others to help our work. Feel free to
      contribute, every submitted line of translation or feedback is
      appreciated and is highly welcome. For more information on how to
      contribute, please read the project's 
      <a href="http://www.freebsd.org/hu/docproj/hungarian.html">
      introduction</a>

      (in Hungarian).</p>
    </body>

    <help>
      <task>Translate news entries, press releases.</task>

      <task>Translate Release Notes for -CURRENT and 8.X.</task>

      <task>Translate articles.</task>

      <task>Translate web pages.</task>

      <task>Read the translations, send feedback.</task>
    </help>
  </project>

  <project cat='docs'>
    <title>German Documentation Project</title>

    <contact>
      <person>
        <name>
          <given>Johann</given>

          <common>Kois</common>
        </name>

        <email>jkois@FreeBSD.org</email>
      </person>

      <person>
        <name>
          <given>Martin</given>

          <common>Wilke</common>
        </name>

        <email>miwi@FreeBSD.org</email>
      </person>
    </contact>

    <links>
      <url href="https://doc.bsdgroup.de" />
    </links>

    <body>
      <p>
        <p>In February 2009 the German version of the FreeBSD Developer's
        handbook went online. Additionally we managed to update large
        areas of the FAQ thanks to the contributions of Benedict
        Reuschling.</p>

        <p>The website (at least the areas we see as relevant for a
        translation) is translated and updated constantly.</p>

        <p>More volunteers are always welcome of course, as there is
        still plenty of work to be done.</p>
      </p>
    </body>

    <help>
      <task>Update the existing documentation set (especially the
      handbook).</task>

      <task>Read the translations. Check for problems/mistakes. Send
      feedback.</task>
    </help>
  </project>

  <project cat='soc'>
    <title>BSD-licensed text-processing tools</title>

    <contact>
      <person>
        <name>
          <given>Gábor</given>

          <common>Kövesdán</common>
        </name>

        <email>gabor@FreeBSD.org</email>
      </person>
    </contact>

    <links>
      <url
      href="http://perforce.freebsd.org/depotTreeBrowser.cgi?FSPC=//depot/projects/soc2008/gabor_textproc">
      Perforce repository</url>
    </links>

    <body>
      <p>Currently, grep is finished and is only waiting for a portbuild
      test. It is known to be more or less feature complete, while it is
      much smaller than the GNU version.</p>

      <p>As for sort, there has been some progress with the complete
      rewrite and it is lacking few options. Performance is to be
      measured, as well.</p>
    </body>

    <help>
      <task>Test grep on pointyhat.</task>

      <task>Complete sort with the missing features.</task>

      <task>Do performance measurements for sort and look for possible
      optimization opportunities.</task>

      <task>Test sort on pointyhat.</task>
    </help>
  </project>

  <project cat='proj'>
    <title>OpenBSM</title>

    <contact>
      <person>
        <name>
          <given>Robert</given>

          <common>Watson</common>
        </name>

        <email>rwatson@FreeBSD.org</email>
      </person>

      <person>
        <name>
          <given>TrustedBSD audit mailing list</given>
        </name>

        <email>trustedbsd-audit@TrustedBSD.org</email>
      </person>
    </contact>

    <links>
      <url href="http://www.openbsm.org/">OpenBSM web page</url>
    </links>

    <body>
      <p>The TrustedBSD Project has now released OpenBSM 1.1, the second
      production release of the OpenBSM code base. OpenBSM 1.1 has been
      merged to FreeBSD 8-CURRENT, and will be merged to 7-STABLE before
      FreeBSD 7.3. Major changes since OpenBSM 1.0 include: 
      <ul>
        <li>Trail files now include the host where the trail is
        generated. Crash recovery has been improved. Trail expiration
        based on size and date is now supported; by default trail files
        will be expired after 10MB of trails. The default individual
        trail limit is now 2MB.</li>

        <li>Mac OS X Snow Leopard is now a fully supported platform;
        launchd(8) can now be used to launchd auditd(8). Command line
        tools and libraries are now supported on Mac OS X Leopard.</li>

        <li>Extended header tokens are now supported, allowing audit
        trails to be tagged with a host identifier. IPv6 addresses are
        now supported in subject tokens. BSM token and record types have
        been further synchronized to OpenSolaris; support for many new
        system calls has been added. Local errors and socket types are
        mapped to and from BSM values.</li>
      </ul>

      Since the last test release, OpenBSM 1.1 beta 1, 32/64-bit
      compatibility has been fixed for the auditon(2) system call. A
      default "expire-after" of 10MB is now set in audit_control(5).
      Local fcntl(2) arguments are now mapped to wire BSM versions using
      new APIs. The audit_submit(3) man page has been fixed. A new audit
      event class has been added for post-login authentication and access
      control events.</p>
    </body>

    <help>
      <task>Migrate to sbufs in token-encoding.</task>

      <task>Support for auditing NFS RPCs.</task>
    </help>
  </project>

  <project cat='arch'>
    <title>FreeBSD/powerpc G5 Support</title>

    <contact>
      <person>
        <name>
          <given>Nathan</given>

          <common>Whitehorn</common>
        </name>

        <email>nwhitehorn@freebsd.org</email>
      </person>
    </contact>

    <links>
    </links>

    <body>
      <p>FreeBSD 8.0-CURRENT now has support for PowerPC CPUs operating
      in the 64-bit bridge mode. This includes the PowerPC 970 (G5) as
      well as the POWER3 and POWER4. Currently only Apple systems are
      known to work.</p>
    </body>

    <help>
      <task>IBM systems currently are not supported due to missing
      northbridge support.</task>

      <task>Software fan control on SMU-based Apple G5 systems (G5 iMac,
      later Powermac G5) is not available.</task>
    </help>
  </project>

  <project cat='proj'>
    <title>Release Engineering</title>

    <contact>
      <person>
        <name>
          <given>Release Engineering Team</given>
        </name>

        <email>re@FreeBSD.org</email>
      </person>
    </contact>

    <links>
      <url href="http://www.FreeBSD.org/releng/" />
    </links>

    <body>
      <p>The Release Engineering Team (with lots of help from lots of
      other people) released FreeBSD 7.2 on May 4th, 2009. During this
      period we have also begun reminding developers of the upcoming
      FreeBSD 8.0 release cycle which is scheduled to begin in early June
      2009 with release targeted at early September 2009.</p>
    </body>
  </project>

  <project cat='docs'>
    <title>Dutch Documentation Project</title>

    <contact>
      <person>
        <name>
          <given>Remko</given>

          <common>Lodder</common>
        </name>

        <email>remko@FreeBSD.org</email>
      </person>

      <person>
        <name>
          <given>René</given>

          <common>Ladan</common>
        </name>

        <email>rene@FreeBSD.org</email>
      </person>
    </contact>

    <links>
      <url href="http://wiki.freebsd.org/DutchDocumentationProject">
      Overview of the project and current status</url>

      <url href="http://www.freebsd.org/doc/nl/">Released
      documentation</url>

      <url
      href="http://p4web.freebsd.org/@md=d&amp;cd=//&amp;c=pFl@//depot/projects/docproj_nl/?ac=83">
      Perforce repository</url>
    </links>

    <body>
      <p>The FreeBSD Dutch Documentation Project is an ongoing project
      to translate FreeBSD Documentation into the Dutch language.</p>

      <p>The translation of the Handbook was completed last January. It
      is kept up-to-date with the English version. Furthermore five
      articles and the 
      <url href="http://www.evilcoder.org/freebsd-flyer.pdf">flyer</url>

      have been translated.</p>

      <p>Some initial work has been done to translate the website, but
      most likely more translators are needed to fully realize it.</p>
    </body>

    <help>
      <task>Recruit more translators.</task>

      <task>Keep the translations up-to-date with the English
      versions.</task>

      <task>Finish the translation of the FAQ.</task>

      <task>Translate more articles and maybe some books.</task>
    </help>
  </project>

  <project cat='proj'>
    <title>Sysinfo - a set of scripts which document your system</title>

    <contact>
      <person>
        <name>
          <given>Daniel</given>

          <common>Gerzo</common>
        </name>

        <email>danger@FreeBSD.org</email>
      </person>
    </contact>

    <links>
      <url
      href="http://danger.rulez.sk/index.php/2009/04/14/sysinfo-a-set-of-scripts-which-document-your-freebsd-system/">
      Public release announcement</url>

      <url href="https://forums.freebsd.org/showthread.php?p=19321">The
      FreeBSD Forums thread</url>
    </links>

    <body>
      <p>
      <em>Sysinfo</em>

      is a shell script, the purpose of which is to automatically gather system
      information and document the hardware and software configuration of the
      given host system. The goal is to provide a system operator with
      descriptive information about an unknown FreeBSD installation.</p>

      <p>It consists of several modules (also shell scripts), thus is
      easily extensible and provides an easy way to inspect overall
      system configuration.</p>

      <p>It has been written as part of my Bachelor thesis and its
      development is a work in progress. Therefore, I would appreciate if
      you could provide me with some feedback as I will defend my thesis
      soon. Your feedback is welcome at the 
      <a href="https://forums.freebsd.org/showthread.php?p=19321">
      forums</a>

      , or alternatively you can send me a private email.</p>

      <p>The tool itself can now be installed using the Ports tree from
      the 
      <a href="http://www.freshports.org/sysutils/sysinfo">
      sysutils/sysinfo</a>

      port.</p>
    </body>

    <help>
      <task>Receive additional feedback.</task>

      <task>Perform more testing.</task>

      <task>Extend and improve the tool.</task>
    </help>
  </project>

  <project cat='proj'>
    <title>TrustedBSD MAC Framework in GENERIC</title>

    <contact>
      <person>
        <name>
          <given>Robert</given>

          <common>Watson</common>
        </name>

        <email>rwatson@FreeBSD.org</email>
      </person>

      <person>
        <name>
          <given>TrustedBSD discussion mailing list</given>
        </name>

        <email>trustedbsd-discuss@TrustedBSD.org</email>
      </person>
    </contact>

    <links>
      <url href="http://www.trustedBSD.org/mac.html">TrustedBSD MAC home
      page</url>
    </links>

    <body>
      <p>There is on-going work to allow "options MAC" to be included in
      the GENERIC kernel for 8.0. This primarily consists of performance
      work to reduce overhead when policies are used, and eliminate when
      none are configured. Work to date includes: 
      <ul>
        <li>The MAC Framework now detects which object types are labeled
        by policies, and MAC label storage is not allocated when it won't
        be used.</li>

        <li>Add MAC Framework DTrace probes so allow more easy analysis
        of MAC Framework and policy interactions.</li>

        <li>Eliminate mutex-protected reference count used to prevent
        module unload during entry point invocation, and replace with an
        sx lock and an rwlock, respectively for long-sleepable and
        short-sleepable entry points, significantly lowering the overhead
        of entering the MAC Framework. If no dynamic policies are loaded,
        no locking overhead is taken.</li>
      </ul>
      </p>
    </body>

    <help>
      <task>Move to rmlocks for non-sleepable entry points to reduce
      cache line thrashing under load.</task>

      <task>Macroize invocation of MAC Framework entry points from the
      kernel, and perform caller-side determination of whether MAC is
      enabled in order to avoid additional function call overhead in the
      caller path if MAC is disabled.</task>
    </help>
  </project>

  <project cat='arch'>
    <title>FreeBSD/sparc64 UltraSPARC III support</title>

    <contact>
      <person>
        <name>
          <given>Marius</given>

          <common>Strobl</common>
        </name>

        <email>marius@FreeBSD.org</email>
      </person>
    </contact>

    <body>
      <p>Like announced in the previous status report, support for
      sun4u-machines based on UltraSPARC III and beyond has been MFC'ed
      to stable/7 (the last missing piece was r190297) and thus will be
      present in the upcoming 7.2-RELEASE and can be already tested with
      7.2-RC1. Additionally, as of r191076 machfb(4) has been fixed to
      work with UltraSPARC III and beyond, that fix unfortunately did not
      make it into 7.2-RC1 but will be in the final version. The X.Org
      7.4 and Firefox ports as well as some other gecko-based ones like
      Seamonkey once again have been fixed to also work and package on
      sparc64, including on UltraSPARC III and UltraSPARC IIIi based
      machines equipped with cards driven by creator(4) or machfb(4). The
      driver for the Sun Cassini/Cassini+ as well as National
      Semiconductor DP83065 Saturn Gigabit NICs found on-board for
      example in Fire V440 and as add-on cards is coming along nicely,
      the last thing which needs to be implemented before it can hit
      CURRENT is support for jumbo frames.</p>
    </body>
  </project>

  <project cat='proj'>
    <title>VFS/NFS DTrace Probes</title>

    <contact>
      <person>
        <name>
          <given>Robert</given>

          <common>Watson</common>
        </name>

        <email>rwatson@FreeBSD.org</email>
      </person>
    </contact>

    <links>
    </links>

    <body>
      <p>A new DTrace provider, dtnfsclient, has been added to the
      FreeBSD 8.x kernel, and will be merged to 7.x before 7.3. The
      following probes are available: 
      <ul>
        <li>nfsclient:{nfs2,nfs3}:{procname}:start - NFSv2 and NFSv3 RPC
        start probes</li>

        <li>nfsclient:{nfs2,nfs3}:{procname}:done - NFSv2 and NFSv3 RPC
        done probes</li>

        <li>nfsclient:accesscache:: - NFS access cache
        flush/hit/miss/load probes</li>

        <li>nfsclient:attrcache:: - NFS attribute cache
        flush/hit/miss/done</li>
      </ul>

      In addition, a number of VFS probes have been added: 
      <ul>
        <li>vfs:vop:{vopname}:entry - VOP entry probe</li>

        <li>vfs:vop:{vopname}:return - VOP return probe</li>

        <li>vfs:namei:lookup:entry - VFS name lookup entry probe</li>

        <li>vfs:namei:lookup:return - VFS name lookup return probe</li>

        <li>vfs:namecache:*:* - VFS namecache
        enter/enter_negative/fullpath_enter/fullpath_hit/fullpath_miss/fullpath_return/lookup_hit/lookup_hit_negative/lookup_miss/purge/purge_negative/purgevfs/zap/zap_negative
        probes</li>
      </ul>

      These probes make it much easier to trace NFS and VFS events.</p>
    </body>

    <help>
      <task>Add VFSOP tracing.</task>

      <task>Add RPC-layer tracing, such as RPC retransmits.</task>

      <task>Provide decoded NFS RPCs in order to expose transaction IDs
      and file handles.</task>
    </help>
  </project>

  <project cat='proj'>
    <title>VirtualBox on FreeBSD</title>

    <contact>
      <person>
        <name>
          <given>Beat</given>

          <common>Gaetzi</common>
        </name>

        <email>beat@FreeBSD.org</email>
      </person>

      <person>
        <name>
          <given>Bernhard</given>

          <common>Froehlich</common>
        </name>

        <email>decke@bluelife.at</email>
      </person>

      <person>
        <name>
          <given>Dennis</given>

          <common>Herrmann</common>
        </name>

        <email>dhn@FreeBSD.org</email>
      </person>

      <person>
        <name>
          <given>Martin</given>

          <common>Wilke</common>
        </name>

        <email>miwi@FreeBSD.org</email>
      </person>
    </contact>

    <links>
      <url href="http://miwi.bsdcrew.de/2009/05/virtualbox-on-freebsd/">
      Virtualbox on FreeBSD Announcement</url>

      <url
      href="http://miwi.bsdcrew.de/2009/05/virtualbox-on-freebsd-first-screenshots/">
      VirtualBox first Screenshots</url>

      <url
      href="http://vbox.innotek.de/pipermail/vbox-dev/2009-May/001369.html">
      SUCCESS from Bernhard Froehlich</url>
    </links>

    <body>
      <p>After the first mail from Alexander Eichner on the vbox-dev
      mailinglist, we started the work on a VirtualBox port. 6 Days was
      needed to get VirtualBox to start with over 20 patches. We'd like
      to say thanks to Alexander Eichner, all the VirtualBox Developers,
      Gustau Perez and Ulf Lilleengen. If you like to play with the
      current port you can checkout the port <a
      href="http://svn.bluelife.at/projects/packages/blueports/emulators/virtualbox/">
      here</a>.

      Please do not ping us about any problems, we know about a lot and
      are still working to get them all solved before we do an official
      call for testing.</p>
    </body>

    <help>
      <task>Fix kernel crashes on 7.2-RELEASE.</task>

      <task>Code cleanup.</task>

      <task>Fix errors on AMD64.</task>

      <task>Fix user/permission problems.</task>
    </help>
  </project>

  <project cat='proj'>
    <title>Device mmap() Extensions</title>

    <contact>
      <person>
        <name>
          <given>John</given>

          <common>Baldwin</common>
        </name>

        <email>jhb@FreeBSD.org</email>
      </person>
    </contact>

    <links>
      <url href="http://www.FreeBSD.org/~jhb/pat/" />
    </links>

    <body>
      <p>GPU device drivers are increasingly requiring more sophisticated
      support for mapping objects into both userland and the kernel. For
      example, memory used for textures often needs to be mapped
      Write-Combining rather than Write-Back. I have recently created
      three patches to provide several extensions.</p>

      <p>The first patch allows device drivers to use a different VM
      object to back specific mmap() calls instead of always using the
      device pager. The second patch introduces a new VM object type that
      can map an arbitrary set of physical address ranges. This can be
      used to let userland mmap PCI BARs, etc. The third patch allows
      memory mappings to use different caching modes (e.g.
      Write-Combining or Uncacheable).</p>

      <p>Together I believe these patches provide the remaining pieces
      needed for an Nvidia amd64 driver. They will also be useful for
      future Xorg DRM support as well. The current set of patches can be
      safely merged back to 7.x as well.</p>

      <p>Currently I am waiting for review and feedback from several
      folks. I am hopeful that these patches will be in HEAD soon, prior
      to the 8.0 freeze.</p>
    </body>
  </project>
</report>

