[FreeBSD-Announce] FreeBSD Quarterly Status Report, October-December 2012.

Isabell Long issyl0 at FreeBSD.org
Mon Mar 4 13:54:38 UTC 2013

FreeBSD Quarterly Status Report, October-December 2012.


   This report covers FreeBSD-related projects between October and
   December 2012. This is the last of four reports planned for 2012.

   Highlights from this status report include a very successful EuroBSDCon
   2012 conference and associated FreeBSD Developer Summit, both held in
   Warsaw, Poland. Other highlights are several projects related to the
   FreeBSD port to the ARM architecture, extending support for platforms,
   boards and CPUs, improvements to the performance of the pf(4) firewall,
   and a new native iSCSI target.

   Thanks to all the reporters for the excellent work! This report
   contains 27 entries and we hope you enjoy reading it.

   The deadline for submissions covering the period between January and
   March 2013 is April 21st, 2013.


     * BHyVe
     * Native iSCSI Target
     * NFS Version 4
     * pxe_http -- booting FreeBSD from apache
     * UEFI
     * Unprivileged install and image creation

Userland Programs

     * BSD-licenced patch(1)
     * bsdconfig(8)

FreeBSD Team Reports

     * FreeBSD Core Team
     * FreeBSD Documentation Engineering
     * FreeBSD Foundation
     * Postmaster


     * AMD GPUs kernel-modesetting support
     * Common Flash Interface (CFI) driver improvements
     * SMP-Friendly pf(4)
     * Unmapped I/O


     * The FreeBSD Japanese Documentation Project


     * Compiler improvements for FreeBSD/ARMv6
     * FreeBSD on AARCH64
     * FreeBSD on BeagleBone
     * FreeBSD on Raspberry Pi


     * FreeBSD Haskell Ports
     * KDE/FreeBSD
     * Ports Collection
     * Xfce


     * EuroBSDcon 2012
     * FreeBSD Developer Summit, Warsaw

AMD GPUs kernel-modesetting support

   URL: https://wiki.FreeBSD.org/AMD_GPU
   URL: http://people.FreeBSD.org/~kib/misc/ttm.1.patch

   Contact: Alexander Kabaev <kan at FreeBSD.org>
   Contact: Jean-Sébastien Pédron <dumbbell at FreeBSD.org>
   Contact: Konstantin Belousov <kib at FreeBSD.org>

   Jean-Sébastien Pédron started to port the AMD GPUs driver from Linux to
   FreeBSD 10-CURRENT in January 2013. This work is based on a previous
   effort by Alexander Kabaev. Konstantin Belousov provided the initial
   port of the TTM memory manager.

   As of this writing, the driver is building but the tested device fails
   to attach.

   Status updates will be posted to the FreeBSD wiki.


   URL: https://wiki.FreeBSD.org/BHyVe
   URL: http://www.bhyve.org/

   Contact: Neel Natu <neel at FreeBSD.org>
   Contact: Peter Grehan <grehan at FreeBSD.org>

   BHyVe is a type-2 hypervisor for FreeBSD/amd64 hosts with Intel VT-x
   and EPT CPU support. The bhyve project branch was merged into CURRENT
   on Jan 18. Work is progressing on performance, ease of use, AMD SVM
   support, and being able to run non-FreeBSD operating systems.

Open tasks:

    1. 1. Booting Linux/*BSD/Windows
    2. 2. Moving the codebase to a more modular design consisting of a
       small base and loadable modules
    3. 3. Various hypervisor features such as suspend/resume/live
       migration/sparse disk support

BSD-licenced patch(1)

   URL: http://code.google.com/p/bsd-patch/

   Contact: Pedro Giffuni <pfg at FreeBSD.org>
   Contact: Gabor Kovesdan <gabor at FreeBSD.org>
   Contact: Xin Li <delphij at FreeBSD.org>

   FreeBSD has been using for a while a very old version of GNU patch that
   is partially under the GPLv2. The original GNU patch utility is based
   on an initial implementation by Larry Wall that was not actually
   copyleft. OpenBSD did many enhancements to an older non-copyleft
   version of patch, this version was later adopted and further refined by
   DragonFlyBSD and NetBSD but there was no centralized development of the
   tool and FreeBSD kept working independently. In less than a week we
   took the version in DragonFlyBSD and adapted the FreeBSD enhancements
   to make it behave nearer to the version used natively in FreeBSD. Most
   of the work was done by Pedro Giffuni, adapting patches from sepotvin@
   and ed@, and additional contributions were done by Christoph Mallon,
   Gabor Kovesdan and Xin Li. As a result of this we now have a new
   version of patch committed in head/usr.bin/patch that you can try by
   using WITH_BSD_PATCH in your builds. The new patch(1) doesn't support
   the FreeBSD-specific -I and -S options which don't seem necessary. In
   GNU patch -I actually means 'ignore whitespaces' and we now support it

Open tasks:

    1. Testing. A lot more testing.


   URL: http://svnweb.FreeBSD.org/base/head/usr.sbin/bsdconfig/
   URL: http://freshports.org/sysutils/bsdconfig/
   URL: http://druidbsd.sf.net/download/bsdconfig/

   Contact: Devin Teske <dteske at FreeBSD.org>

   bsdconfig(8) is actively being developed in HEAD under the
   WITH_BSDCONFIG build-requirement. Snapshots are occasionally taken and
   made available through the ports system to make testing on 9.0-RELEASE
   or higher easier on the testers. Currently HEAD is far beyond the
   version 0.7.3 sitting in ports. Upcoming changes will push this to
   version 0.8 bringing in the necessary frameworks required for in-depth
   package management and distribution maintenance (read: one step closer
   to full 1.0 release).

Common Flash Interface (CFI) driver improvements

   Contact: Brooks Davis <brooks at FreeBSD.org>

   The Common Flash Interface provides a common programming interface for
   a wide range of NOR flash devices commonly found in embedded systems. I
   have developed a number of improvements to the cfi(4) device when used
   on Intel StrataFlash parts. Unnecessary erase cycles are now avoided,
   devices that require single word writes only write changed words, and
   multi-word writes are supported for Intel and Sharp devices.
   Additionally the timeout code has been reworked and no longer imposes
   unneeded latency on operations taking less than 100us. With all of
   these changes streaming write speed has improved by more than an order
   of magnitude. Once these changes are reviewed they will be committed to

   This work was sponsored by DARPA and AFRL.

Compiler improvements for FreeBSD/ARMv6

   Contact: Andrew Turner <andrew at FreeBSD.org>

   FreeBSD/ARM architecture is now supported by the in-tree clang
   compiler. ARM EABI support is now available for both clang and gcc
   along with the older and less documented OABI. There are several
   outstanding issues, once they are fixed EABI will be made default.

Open tasks:

    1. Test EABI builds
    2. Fix exception handling for EABI
    3. Test clang builds
    4. Get clang to work natively on EABI-based ARM system. Currently it
       works only as cross-compiler for ARM EABI.

EuroBSDcon 2012

   URL: http://2012.eurobsdcon.org/
   URL: http://www.youtube.com/user/eurobsdcon

   Contact: EuroBSDcon Organizers <oc-2012 at eurobsdcon.org>
   Contact: Gabor Pali <pgj at FreeBSD.org>

   The 11th European BSD Conference took place in Warsaw, Poland at the
   Warsaw University of Technology with a large number of visitors. It
   started up with two tracks of tutorials, featuring FreeNAS, pfSense,
   DTrace, PF, development of NetBSD drivers, and an overall introduction
   to the FreeBSD operating system given by Kirk McKusick. There we also
   had opening and closing keynotes, supplemented with 22 talks on
   different topics related to FreeBSD, OpenBSD, NetBSD, FreeNAS and
   PC-BSD: BHyVe, configuration management with puppet, improvements in
   the OpenBSD cryptographic framework, tuning ZFS, server load balancing
   in DNS, running FreeBSD on embedded systems, e.g MIPS and ARM, and
   challenges in identity management and authentication.

   The conference also had a dedicated track presented by the attendees of
   the FreeBSD developer summit and open to all, where one could learn
   more about what is happening currently in the Project: results of
   Google Summer of Code 2012, architectural changes in the FreeBSD
   documentation tree, ILNP, advancements in package building and
   development of pkg(8), and a status report on the USB stack.

FreeBSD Core Team

   Contact: Core Team <core at FreeBSD.org>

   In the fourth quarter, the Core Team granted access for 7 new
   committers, and took 1 commit bit in for safekeeping.

   The Core Team oversaw the response to the security incident in November
   in cooperation with the security team, port managers, and cluster
   administrators. For more information on the fallouts and response see
   the official announcement. As a result, 9.1-RELEASE was delayed until
   late December and was released with a limited set of binary packages.
   The Core Team continues to work with developers to rebuild, review, and
   restore the package building infrastructure along with redports/QAT.

FreeBSD Developer Summit, Warsaw

   URL: http://wiki.FreeBSD.org/201210DevSummit

   Contact: Gabor Pali <pgj at FreeBSD.org>

   We had 53 FreeBSD developers and invited guests attending the FreeBSD
   Developer Summit organized as part of EuroBSDcon 2012 in Warsaw, Poland
   at the Warsaw University of Technology. This year EuroBSDcon organizers
   again offered us their generous support in helping with keeping the
   event running smooth, helping with registrations, renting the venue,
   and providing food for keeping attendees satisfied and happy.

   The Warsaw developer summit spanned over 3 days and had 9 working
   groups on various topics. We improved last year's layout inherited from
   the Canadian summits because it has worked well earlier but could use
   some further refinements. On both the first and second days, we ran the
   working groups, ranging from the standard matters, discussing issues
   with the USB stack, the compiler toolchain, the Ports Collection, or
   the documentation to some experimental ones, e.g. arranging an
   operating systems course focusing on FreeBSD. In addition to this,
   similarly to last year, one of the working groups was about gathering
   vendors to present their ideas and engage in discussion with the
   developers on their needs from the Project. Finally, on the third day,
   there were a number of exciting work-in-progress reports given in a
   dedicated Developer Summit track at the main conference.

   Photos and slides for the most of the talks are available on the home
   page of the summit.

FreeBSD Documentation Engineering

   URL: http://www.FreeBSD.org/internal/doceng.html

   Contact: Glen Barber <gjb at FreeBSD.org>
   Contact: Marc Fonvieille <blackend at FreeBSD.org>
   Contact: Gábor Kövesdán <gabor at FreeBSD.org>
   Contact: Hiroki Sato <hrs at FreeBSD.org>

   The translations/, projects/ and user/ directories of the doc
   repository have been opened with the announced policies in effect.
   These branches are now actively used for translations work, editing the
   upcoming printed version of the Handbook, and some doc infrastructure

   The next phase of the infrastructure improvements is in progress. It
   will migrate to real XML tools (with the exception of Jade) for
   validation and rendering. At the same time, the DocBook schema will be
   updated to 4.5.

   After long discussions, Google Analytics has been enabled on
   FreeBSD.org webpages but access to statistical data has to be solicited
   from the Documentation Engineering Team on an individual and one time

   Since July, we have added two doc committers and one translator.

Open tasks:

    1. Help the ongoing work on printed edition of the Handbook.
    2. Finish the migration to XML tools.

FreeBSD Foundation

   Contact: Deb Goodkin <deb at FreeBSDFoundation.org>

   A strong year-end fundraising campaign led to the raising $770,000 in
   2012. Thank you to everyone who made a donation to support FreeBSD!

   We published our year-end newsletter that highlighted everything we did
   to support the FreeBSD Project and community during the second half of
   the year.

   We were a Gold Sponsor for EuroBSDCon. We also attended the conference
   and developer summit. Erwin Lansing organized and chaired the Ports and
   Package Summit and Vendor Summit at EuroBSDCon 2012. We attended
   MeetBSD developer summit November 2012.

   George Neville-Neil organized and the Foundation sponsored the Bay Area
   Vendor Summit November 2012. We were represented at LISA.

   Kirk McKusick taught a tutorial and gave a keynote at EuroBSDCon 2012,
   and Justin Gibbs gave a talk at ZFS Day, October 2012.

   We talked to DNS server software vendors and participated in
   discussions on our DNS implementation, specifically with regard to
   DNSSEC validation, at CENTR Tech September 2012 (Amsterdam, the
   Netherlands) and EuroBSDCon.

   We visited companies to discuss their FreeBSD use and to help
   facilitate collaboration with the Project.

   Robert Watson published ACM Queue and Communications of the ACM: A
   decade of OS access-control extensibility and Kirk McKusick published
   ACM Queue and Communications of the ACM: Disks from the Perspective of
   a File System.

   We negotiated/supervised Foundation funded projects: porting FreeBSD to
   the Efika ARM platform, Capsicum Component Framework, Native iSCSI
   Target implementation, and EUFI.

   We negotiated/supervised/funded hardware needs in FreeBSD co-location

   Many board members provided support for recovery efforts following the
   security compromise of FreeBSD.org systems in late 2012.

   We completed negotiation and provided legal counsel for the new website
   privacy policy for the FreeBSD Project.

   We are now an industrial partner in the Cambridge/Imperial/Edinburgh
   EPSRC REMS project on the Rigorous Engineering of Mainstream Systems.

   We coordinated the Foundation's discussion of Jira/Java; conclusion,
   will continue to be supportive of OpenJDK and not restart proprietary
   JDK support.

   We implemented a donor management database to help with our fundraising
   efforts. We also began working on automating the donation process.

   We started the Faces of FreeBSD Series where we share the story of a
   Foundation grant recipient periodically. This allows us to spotlight
   people who received Foundation funding to work on development projects,
   run conferences, travel to conferences, and advocate for FreeBSD.

   We hired two technical staff members.

FreeBSD Haskell Ports

   URL: http://wiki.FreeBSD.org/Haskell
   URL: https://github.com/FreeBSD-haskell/FreeBSD-haskell/

   Contact: Gábor PÁLI <pgj at FreeBSD.org>
   Contact: Ashish SHUKLA <ashish at FreeBSD.org>

   We are proud to announce that the FreeBSD Haskell Team has updated the
   Haskell Platform to 2012.4.0.0, GHC to 7.4.2 as well as updated
   existing ports to their latest stable versions. All Haskell ports are
   also updated to use new OPTIONS framework, and now, building with
   dynamic libraries (DYNAMIC) is on by default. GHC also uses GCC 4.6 and
   binutils 2.22 from ports. We also added a number of new Haskell ports,
   and their count in FreeBSD Ports tree is now 368.

Open tasks:

    1. Test GHC to work with clang/LLVM.
    2. Commit pending Haskell ports to the FreeBSD Ports tree.
    3. Add more ports to the Ports Collection.

FreeBSD on AARCH64

   URL: https://github.com/zxombie/aarch64-freebsd-sandbox

   Contact: Andrew Turner <andrew at FreeBSD.org>

   Work has started on porting FreeBSD to AARCH64, ARM's new 64-bit
   architecture, using the ARMv8 Foundation Model software. GCC and
   binutils have been ported to FreeBSD and work started on kernel
   initialization, including MMU setup.

Open tasks:

    1. Get the MMU working
    2. Get system register documentation from ARM
    3. Port clang AArch64 to FreeBSD
    4. Bring the code into a FreeBSD project branch

FreeBSD on BeagleBone

   Contact: Tim Kientzle <kientzle at FreeBSD.org>
   Contact: Oleksandr Tymoshenko <gonzo at FreeBSD.org>
   Contact: Damjan Marion <dmarion at FreeBSD.org>
   Contact: Brett Wynkoop <wynkoop at wynn.com>

   FreeBSD on BeagleBone is benefiting from the general work on ARM
   stability being done by many people, and is proving to be a nice
   testbed for our ARMv7 support. All ongoing work is happening now
   directly in -CURRENT and we expect it to be in pretty good shape by the
   time 10.0 ships.

   The network driver is now pretty stable; the system should be useful as
   a small network device.

   Occasional system snapshots are being built and advertised for people
   to test. Ask on freebsd-arm@ if you'd like to try the newest one.

Open tasks:

    1. We need someone to finish the USB driver. Ask if you'd like to take
       this over.
    2. MMCSD performance is still rather poor.
    3. There's been discussion of how to improve the GPIO configuration
       and pinmux handling to simplify hardware experimentation. If we had
       more people to help build drivers, we could start supporting some
       of the BeagleBone capes.
    4. Mostly we just need people to use it and report any issues they

FreeBSD on Raspberry Pi

   Contact: Oleksandr Tymoshenko <gonzo at FreeBSD.org>

   FreeBSD is running on Raspberry Pi and supports the following
     * USB controller
     * SDHC controller
     * Network
     * Framebuffer (HDMI and composite)
     * GPIO
     * VCHI interface

   Videocore tests (OpenGL, video decoding, audio, display access) work
   with current VCHI driver implementation.

Open tasks:

    1. Add DMA mode support to USB driver. Some proof-of-concept code is
       done but more work required to finish it.
    2. Re-implement VCHI driver with more FreeBSD-friendly locking.
    3. Implement more drivers: SPI, PWM, audio.

Google Summer of Code 2013

   URL: http://www.FreeBSD.org/projects/summerofcode.html
   URL: http://www.google-melange.com/gsoc/homepage/google/gsoc2013
   URL: http://en.wikipedia.org/wiki/Google_Summer_of_Code

   Contact: FreeBSD Summer of Code Administrators <soc-admins at FreeBSD.org>

   Since 2005 Google has run its yearly Summer of Code program, in which
   Google awards stipends to students who successfully complete projects
   with participating Open Source organisations. FreeBSD has participated
   in GSoC every year since its inception, and with the announcement that
   Google will once again run the program in 2013 hopes to participate
   once more.

   Google have not yet opened the application period for mentoring
   organisations, but once it does FreeBSD plans to apply. Assuming that
   we are successful in our application to participate, we will publish a
   large list of ideas for possible projects shortly after. Students may
   then apply to do one of those projects, or suggest their own idea for a
   project. After the application period, FreeBSD will discover how many
   student slots we have been allocated, at which point successful
   students will take some time to plan their project, gather required
   information and discuss their plans with their mentors, before having
   around 12 weeks to develop their code.

   In the eight years of FreeBSD's participation in Google Summer of Code,
   approximately 150 students have successfully complete projects with us,
   covering a wide spread of areas of both the source and ports trees. Of
   these, 22 students continued participating with FreeBSD and
   subsequently became full FreeBSD committers, many later going on to
   mentor Summer of Code students themselves.

   Whether FreeBSD has been successful in being selected to be a
   participating organisation in Google Summer of Code 2013 should be
   announced in early April.


   URL: http://FreeBSD.kde.org
   URL: http://FreeBSD.kde.org/area51.php

   Contact: KDE FreeBSD <kde at FreeBSD.org>

   The KDE/FreeBSD team have continued to improve the experience of KDE
   software and Qt under FreeBSD. The latest round of improvements
     * Fix handling of Removable property in solid engine
     * Fix management of backlight with UPower (requires acpi_video(4))
     * Installing spell-checking dictionaries with a dependency of
       KDE-locale ports

   The team has also made many releases and upstreamed many fixes and
   patches. The latest round of releases include:
     * KDE SC: 4.9.2 (area51)
     * PyQt: 4.9.5 (area51); SIP: 4.14 (area51)
     * KDevelop: 4.4.0, 4.4.1 (area51); KDevPlatform: 1.4.0, 1.4.1
     * Calligra: 2.5.3, 2.5.4 (area51)
     * CMake:
     * Many smaller ports

   The team is always looking for more testers and porters so please
   contact us at kde at FreeBSD.org and visit our home page at

Open tasks:

    1. Updating out-of-date ports, see PortScout for a list

Native iSCSI Target

   Contact: Edward Tomasz Napieral/a <trasz at FreeBSD.org>

   During the October-December time period, the Native iSCSI Target
   project progressed to the working prototype stage. Most of this time
   was spent writing kernel-based part, an iSCSI frontend to the CAM
   Target Layer. The frontend handles iSCSI Full Feature phase after
   ctld(8) hands off the connection. The istgt-derived code in ctld(8) was
   rewritten from scratch; now it's much shorter and more readable. The
   ctladm(8) utility gained iSCSI-specific subcommands to handle tasks
   such as listing iSCSI sessions or forcing disconnection. The target
   works correctly with the FreeBSD initiator.

NFS Version 4

   Contact: Rick Macklem <rmacklem at FreeBSD.org>

   The NFSv4.1 client, including support for pNFS for the Files Layout
   only, has now been committed to head/current. Work on NFSv4.1 server
   support has just been started and will hopefully be ready for
   head/current this summer. The client side disk caching of delegated
   files is progressing and the code is under projects/nfsv4-packrats in
   the subversion repository. Someone is working on server side referrals
   and, as such, I hope this might make it into 10.0 as well.

Ports Collection

   URL: http://www.FreeBSD.org/ports/
   URL: http://portsmon.FreeBSD.org/index.html
   URL: http://www.FreeBSD.org/portmgr/index.html
   URL: http://blogs.FreeBSDish.org/portmgr/
   URL: http://www.twitter.com/freebsd_portmgr/
   URL: http://www.facebook.com/portmgr

   Contact: Thomas Abthorpe <portmgr-secretary at FreeBSD.org>
   Contact: Port Management Team <portmgr at FreeBSD.org>

   The ports tree crossed the threshold of 24,000 ports, while the PR
   count still is close to 1600.

   In Q4 we added five new committers and took in two commit bits for safe

   In the tradition of recruiting new portmgr@ at conferences, we added
   Bernhard Froehlich to our ranks. He is the one responsible for

   Pav Lucistnik stepped down from his role on portmgr, he was one of our
   principles doing -exp runs and well known for sending failmails.

   In the well publicised compromise, the pointyhat machines were broken
   into and subsequently taken down, isolated and sanitised. As a
   pre-emptive move redports/QAT were also taken down. Work is under way
   to restore the services.

   Mark Linimon began a from-scratch test install on one of his own spare
   machines with the purpose of documenting all the missing steps from the
   portbuild article. While doing so, he further overhauled the codebase
   to both make it easier to install, and to further refactor it in light
   of a security review (still ongoing at time of this writing). Once this
   is complete, the next task will be to reinstall all existing machines
   from scratch.

Open tasks:

    1. Most ports PRs are assigned, we now need to focus on testing,
       committing and closing.


   Contact: David Wolfskill <postmaster at FreeBSD.org>

   The postmaster team has expanded, with the addition of Florian Smeets
   (flo at FreeBSD.org).

   We have implemented a Mailman "handler" to drop duplicate messages when
   both copies are sent to the same list (under both the "long" (e.g.,
   "freebsd-current") and "short" (e.g., "current") names).

   We have created several new mailing lists:
     * freebsd-course: educational course on FreeBSD
     * freebsd-numerics: Discussions of high quality implementation of
       libm functions.
     * freebsd-snapshots: FreeBSD Development Snapshot Announcements
     * freebsd-tcltk: FreeBSD-specific Tcl/Tk discussions

   We have also removed old mailing lists:
     * freebsd-binup
     * freebsd-www (merged into freebsd-doc)

pxe_http -- booting FreeBSD from apache

   URL: http://svnweb.FreeBSD.org/base/user/sbruno/pxe_http_head/

   Contact: Sean Bruno <sbruno at FreeBSD.org>

   Currently works with VirtualBox VMs and Apache 2.2 port.

Open tasks:

    1. Lots and lots of compile warnings exist with clang and gcc. This
       really needs to be investigated.
    2. Better support for other webservers. Currently needs Apache to
    3. Needs another pass at basic documentation. Current documentation is
       actually quite good from the original
    4. Network stack needs audit. I'm not sure if the HTTP/TCP/UDP/IP code
       is original or based on something else.

SMP-Friendly pf(4)

   Contact: Gleb Smirnoff <glebius at FreeBSD.org>

   The project is aimed at moving the pf(4) packet filter out of a single
   mutex, as well as in general improving of the FreeBSD port. The project
   has reached its main goal. The pf(4) is no longer covered by single
   mutex and contention on network stack on pf(4) is now very low. The
   code is production ready. The projects/pf branch had been merged to the
   head branch and will be available in 10.0-RELEASE.

The FreeBSD Japanese Documentation Project

   URL: http://www.FreeBSD.org/ja/
   URL: http://www.jp.FreeBSD.org/doc-jp/

   Contact: Hiroki Sato <hrs at FreeBSD.org>
   Contact: Ryusuke Suzuki <ryusuke at FreeBSD.org>

   The ja_JP.eucJP subtree has constantly been updated since the last
   status report.

   In FreeBSD Handbook, translation work of the "users" section has been
   completed. "linuxemu" and "serialcomms" were updated and subsection
   "Subversion mirror site" was newly added to "mirrors" section.

Open tasks:

    1. Further translation work of outdated documents in the ja_JP.eucJP


   URL: https://wiki.FreeBSD.org/UEFI
   URL: http://svnweb.FreeBSD.org/base/projects/uefi/

   Contact: Benno Rice <benno at FreeBSD.org>

   There is code in the projects/uefi branch that can build a working
   64-bit loader for UEFI. This loader can load a kernel and boot to a
   mountroot prompt on a serial console on a system with <= 1GB of RAM.
   Full multiuser has not yet been tested. Work is progressing towards
   having a working syscons. The issue preventing boot on systems with >
   1GB of RAM has not yet been found. UEFI-compatible boot media can be
   generated using in-tree tools, however there are issues with detecting
   the CD filesystem and using it as the load default. The 64-bit UEFI
   loader can load a 32-bit kernel but currently cannot hand over to it
   due to a lack of code to switch to 32-bit mode. Further research is
   required into Secure Boot.

Unmapped I/O

   URL: http://people.FreeBSD.org/~kib/misc/unmapped.13.patch

   Contact: Jeff Roberson <jeff at FreeBSD.org>
   Contact: Konstantin Belousov <kib at FreeBSD.org>

   A well-known performance problem of FreeBSD on large SMP hardware is
   the need to invalidate TLB for all CPUs when instantiating and
   destroying the VMIO buffers. Invalidation is performed by sending
   inter-processor interrupt broadcast, which disrupts the execution path
   of each CPU, and induces latency on the request itself. Since most I/O
   requests processing require creation of the buffers to hold the data in
   the kernel, TLB invalidation becomes an obstacle for I/O scalability on
   many-CPU machines.

   The work done for flushing the TLBs is especially meaningless since
   most mappings created are not used for anything but copying the data
   from the usermode to the kernel page cache forth and back. Most
   architectures have already established facilities to perform such
   copies using much faster techniques, for instance, the direct map on
   amd64, or specially reserved per-CPU page frames or TLB entries on
   other architectures.

   Jeff Roberson unified the machine-specific parts of the busdma(9),
   making a common set of low-level functions available on each
   architecture. This was committed as r246713. The end result is that the
   new types of the load functions can be added in the single,
   machine-independent place. In particular, it is easy to modify the
   drivers to accept the 'unmapped' bio requests, which lists the vm pages
   for the device dma engine, instead of the virtual address of the kernel

   Konstantin Belousov developed the changes for buffer cache which allow
   the VMIO buffers to not map the referenced pages, and used the feature
   for UFS. Per-architecture pmap_copy_pages(9) methods were added to
   facilitate fast copying between user I/O buffers and pages of unmapped
   buffers. The unmapped buffers create the unmapped bio requests for the
   drivers, support for which was made possible by Jeff's patch.

   Tests show that even on a small 4-core machine, the system time for
   reading files on UFS is reduced by 30%.

Open tasks:

    1. Test the patch, in particular, on non-x86 architectures.

Unprivileged install and image creation

   Contact: Brooks Davis <brooks at FreeBSD.org>

   In order to make it easier to build releases and embedded system disk
   images I have been adding infrastructure to allow the install and
   packaging stages to the FreeBSD build progress to run without root
   privilege. To this end I have added two options to the toplevel build
   system: The -DDB_FROM_SRC option allows the install to proceed when the
   required set of passwd and group entires does not match the host
   system. The -DNO_ROOT option causes files to be installed as the
   running user and for metadata such as owner, group, suid bits, and file
   flags to be logged in a ${DESTDIR}/METALOG file.

   This work required the import of NetBSD's mtree and the addition of a
   number of features from NetBSD to install. I have added all FreeBSD
   features to NetBSD's mtree and imported it as nmtree. Before FreeBSD
   10.0 is released I will replace our version. I have also added all
   required features to install. Changes to makefs were required to parse
   the contents of the METALOG file.

   These new features required importing new versions of the pwcache(3)
   and vis(3) APIs from NetBSD so those portions of libc.

   In addition to modifying build infrastructure to use the new features
   of mtree and install. I corrected a number of cases of files being
   installed by programs other than install or being installed more than
   once. A few known instances of duplicate directories in the output
   exist, but the results are usable in some contexts.

   I plan to MFC these changes as far back as the stable/8 branch to make
   it possible to build all supported releases without root privilege.

   This work was sponsored by DARPA and AFRL.

Open tasks:

    1. Add support for -DNO_ROOT to src/release/Makefile so that releases
       can be built without root privilege.
    2. Create a tool to install partition tables and file system images in
       disk image files without the use of mdctl, gpart, and dd.


   URL: https://wiki.FreeBSD.org/Xfce

   Contact: <xfce at FreeBSD.org>

   A major update has been made to Thunar (file manager for the Xfce
   Desktop Environment).

   1.6.x series introduce lots of improvements, most noticeably is tabs
   support, and the performance has been improved.

Open tasks:

    1. Try to fix HSTS (HTTP Strict Transport Security) feature in Midori
       with Vala 0.12.1 (works fine with Vala >= 0.14.x)
    2. Replace libxfce4gui (deprecated and not maintained by upstream) by
       libxfce4ui in order to enhance support for Xfce >= 4.10.
    3. Test core and plugins (panel, Thunar) with GLib >= 4.32 (to replace
       deprecated and removed functions introduced since GLib 2.30).
    4. Fix gtk-xfce-engine with Gtk+ >= 3.6.

More information about the freebsd-announce mailing list