FreeBSD Development Projects in Perforce Summary
July 5th, 2006 by joelFreeBSD development is fast these days and reading CVS commit mails is a time consuming task, but almost always both fun and interesting. However, somewhat secret, the really interesting stuff can be found in the Perforce repository. This is where all the cool projects are maintained, and the daily activity is quite high. I’ve put together a very short summary, containing some interesting and actively maintained projects. I cannot possibly keep track of everything that happens in Perforce though, and I can’t promise that this stuff is 100% accurate, so beware…Also, please report any errors and I’ll fix them. I expect to see a lot of stuff about these projects in the upcoming FreeBSD quarterly status report, so watch out!
Sun4v
Path: //depot/projects/kmacy_sun4v_experimental/
//depot/projects/kmacy_sun4v_stable/
//depot/projects/kmacy_sun4v/
Recent contributors: Kip Macy
Kip Macy is actively implementing support for the Sun Ultrasparc T1, also known as “Niagara”. Sun Microsystems provided Kip with a development machine and he has made a lot of progress lately.
arm
Path: //depot/projects/arm/
//depot/user/benno/arm/
//depot/user/philip/imx21/
Recent contributors: Olivier Houchard, Warner Losh, John-Mark Gurney, Kevin Lo, Benno Rice, Philip Paeps
The arm architecture has gotten a lot of attention lately and embedded systems seems to attract a lot of attention. A bunch of developers have work-in-progress in several places in the Perforce repository.
USB
Path: //depot/projects/usb
Recent contributors: Hans Petter Selasky
The USB system in FreeBSD has been the subject for a lot of discussions lately, and much concern has been raised about the current issue with the USB system not being MPSAFE. Hans Petter Selasky has however an MPSAFE usb stack which he is actively working on. He’s currently re-working a lot of USB drivers, and the plan seems to be to announce the results in August.
GJournal
Path: //depot/user/pjd/gjournal6/
Recent contributors: Pawel Jakub Dawidek
GJournal is a file system independent implementation of journaling for UFS. Pawel Jakub Dawidek has posted patches to several mailing lists.
Dtrace
Path: //depot/projects/dtrace
Recent contributors: John Birrell, Howard Su, Sam Lawrence
DTrace is a dynamic tracing facility designed by Sun Microsystems and released in Solaris 10. John Birrel has been working on implementing DTrace support for FreeBSD, with help from Sun.
Xen
Path: //depot/projects/xen3
//depot/projects/xen3-newbus
//depot/projects/soc2006/yuanjue-xen3/
Recent contributors: Tim Kuik, Kip Macy, Yuan Jue, Scott Long
Xen is a virtual machine monitor that supports execution of multiple guest operating systems. Kip Macy started working on a port for FreeBSD and now is Yuan Jue continuing his porting efforts as part of Google Summer of Code 2006.
Superpages
Path: //depot/user/alc/superpages
Recent contributors: Alan Cox
Our VM guru Alan Cox is continuing his work on support for memory pages of large sizes, called superpages.
MIPS
Path: //depot/projects/mips2
//depot/user/gonzo/mips
Recent contributors: Warner Losh, Wojciech A. Koszek, Olivier Houchard, Oleksandr Tymoshenko
Warner Losh has recently created another branch for MIPS work.
Jail2
Path: //depot/projects/jail2
Recent contributors: Alex Lyashkov
Alex Lyashkov is developing several extensions to the jail system. The project is called “Jail2”, which sounds promising.
PAT
Path: //depot/user/jhb/pat
Recent contributors: John Baldwin
PAT support is needed in order for Nvidia to produce a FreeBSD graphics driver for FreeBSD/amd64.
libbsdelf
Path: //depot/user/jkoshy/projects/libbsdelf
Recent contributors: Joseph Koshy
LibElf is a project implementing a BSD-licensed implementation of the SVR4 ELF API. A BSD version of libelf is also listed as a requriement for DTrace.
TrustedBSD
Path: //depot/projects/trustedbsd
Recent contributors: Wayne Salamon, Robert Watson, Rob Deker, Todd Miller, Christian S.J. Peron, Christian Brueffer
The TrustedBSD project provides a set of trusted operating system extensions to the FreeBSD operating system. This project under active development, and much of the code is destined to make its way back into FreeBSD.
Gvinum
Path: //depot/user/lulf/
Recent contributors: Ulf lilleengen
Ulf Lilleengen is working on extensions to Gvinum.
Cam layer locking
Path: //depot/projects/scottl-camlock/
Recent contributors: Scott Long
Scott Long is working on the cam layer locking.
New moused
Path: //depot/user/jls/newmoused/
Recent contributors: Jordan Sissel
Jordan sissel is working on a “userland-ification” of psm(4) and a complete rewrite of moused(8).
BSDinstaller
Path: //depot/projects/soc2005/bsdinstaller/
Recent contributors: Andrew Turner
The BSDinstaller is being integrated into the FreeBSD release building process.
libalias
Path: //depot/projects/soc2005/libalias/
Recent contributors: Paolo Pisati
Libalias is the library used to do masquerading and IP address translation (NAT) in many areas of FreeBSD. Unfortunately libalias has many weakness limiting its usage, and Paolo Pisati is working on resolving those weaknesses.
Arla
Path: //depot/projects/arla/
Recent contributors: Hugo Meiland
Arla is a free AFS implementation and Hugo Meiland is working on nnpfs support.
bike_sched
Path: //depot/projects/bike_sched
Recent contributors: Peter Wemm
Recently started branch created by Peter Wemm, containing some experimental code. Looks like KSE is doomed and 1:1 threading is the way to go. Both the DTrace project and the sun4v project seems to benefit from this.
Syncing with the 4Front Technologies OSS API
Path: //depot/projects/soc2006/rbeasley_sound/
Recent contributors: Ryan Beasley
We’re trying to sync with the 4Front Technologies OSS API.
IPv6 library
Path: //depot/projects/soc2006/clem1_ipv6vulns/
Recent contributors: Clement Lecigne
Clement Lecigne is working on IPv6 security and IPv6 stack vulnerabilies.
NSS-LDAP import and nsswitch improvements
Path: //depot/projects/soc2006/nss_ldap_cached/
Recent contributors: Michael Bushkov
Michael Bushkov is working on moving the current nsswitch modules out of libc, importing nss_ldap into the source tree, creating some regression tests improving the caching daemon.
K – Kernel Meta Language
Path: //depot/projects/soc2006/swhitman-K_Kernel_Meta-Language/
//depot/projects/soc2005/K/
Recent contributors: Spencer Whitman, RuGang Xu
K comes from some discussions amongst some developers about how cool and/or useful it would be to have language extensions that make it possible to write kernel code more cleanly and with less bugs.
Interrupt handling infrastructure
Path: //depot/projects/soc2006/intr_filter/
Recent contributors: Paolo Pisati
Paolo Pisati is working on improving the performance of the interrupt handling.
AutoFS
Path: //depot/projects/soc2006/adamartin_autofs/
Recent contributors: Adam Martin
Adam Martin is working on AutoFS support for FreeBSD.
Jail Resource limits
Path: //depot/projects/soc2006/cdjones_jail/
Recent contributors: Chris Jones
Chris Jones is adding support for CPU and RAM limits to jails.
SeBSD improvements
Path: //depot/projects/soc2006/dongmei_sebsd/
Recent contributors: Dongmei Liu
This work aims at providing a set of default SeBSD policies for many common network services on FreeBSD 6.0, developing a policy analyzis tool and a policy configuration tool for SeBSD.
Ports Collection improvements
Path: //depot/projects/soc2006/gabor_ports/
Recent contributors: Gabor Kovesdan
This project is about a new handling for i386 binary ports, make ports respect CC and CFLAGS, Installing ports with different destination (DESTDIR macro), move fetch shell scripts out of bsd.port.mk and cross-compiling ports.
Bundled PXE installer
Path: //depot/projects/soc2006/m_netboot_server/
Recent contributors: Markus Boelter
The goal of this project is to have a fully functional automatic and bundeled installation system for FreeBSD using PXE.
Linux emulation layer
Path: //depot/projects/soc2006/rdivacky_linuxolator/
Recent contributors: Roman Divacky
Roman Divacky is working on updating the FreeBSD linux emulation layer to the current Linux kernel as of 2.6.16.
Integrated SNMP monitoring
Path: //depot/projects/soc2005/
Recent contributors: Shteryana Shopova
Shteryana Shopova is working on implementing a SNMP Bridge Module and a SNMP VLAN Module.