doc/en/news/status/report-2002-02-2002-04.xml
2002-05-24 09:53:16 +00:00

1295 lines
40 KiB
XML

<report>
<date>
<month>February - April</month>
<year>2002</year>
</date>
<section>
<title>Introduction</title>
<p>This report covers FreeBSD development activities from February,
2002 through April, 2002. It's been a busy few months -- BSDCon
in San Francisco, the FreeBSD Developer Summit, a first development
preview of 5.0-CURRENT, not to mention lots of progress on the
5.0 feature set (SMPng, sparc64, GEOM, ... the list goes on).</p>
<p>In the next two months, the USENIX ATC occurs (highly recommended
event for both developers and users), and a number of new software
components will hit the tree, including UFS2 and the TrustedBSD
MAC framework. We'll also complete the elections for the FreeBSD
Core Team, and should have the next Core Team online by the time
the next report rolls around. Stay tuned for more!</p>
<p>Robert Watson</p>
</section>
<project>
<title>FreeBSD Package-building Cluster</title>
<contact>
<person>
<name>
<given>Kris</given>
<common>Kennaway</common>
</name>
<email>kris@FreeBSD.org</email>
</person>
</contact>
<body>
<p>Packages are built from the FreeBSD Ports Collection on a
cluster of i386 and alpha machines using scripts available in
/usr/ports/Tools/portbuild/. Over the past few months I have
been cleaning up and extending these scripts to improve
efficiency and allow for greater flexibility in how package
builds are performed. Major improvements so far have been:
cleaning up and modularizing the scripts to avoid code
duplication and reduce the need for ongoing maintenance;
optimizing the build process and making it much more robust
against client machine failure; and allowing package builds to
be restarted if they are interrupted. The i386 package
cluster is currently running FreeBSD 5.0-CURRENT, and it has
proven to be a useful testing ground for exposing kernel bugs,
especially those which only manifest under system load.</p>
<p>Future plans include the ability to perform incremental
package rebuilds which only build packages that have changed
since the last run. This will allow packages to be made
available on the FTP site within an hour or two of the CVS
commit to the ports collection. We also hope to set up a
sparc64 package cluster in the near future, but this is
contingent on suitable hardware.</p>
</body>
</project>
<project>
<title>UMA</title>
<contact>
<person>
<name>
<given>Jeff</given>
<common>Roberson</common>
</name>
<email>jeff@FreeBSD.org</email>
</person>
</contact>
<body>
<p>FreeBSD's new kernel memory allocator has been commited to
5.0. UMA is a slabs derived allocator that supports memory
reclaiming, object caching, type stable storage, and per cpu
free lists for optimal SMP performance. It has both a
malloc(9) interface and a zone style interface for specific
object types. uma(9) will be available shortly.</p>
</body>
</project>
<project>
<title>Universal Disk Filesystem for FreeBSD</title>
<contact>
<person>
<name>
<given>Scott</given>
<common>Long</common>
</name>
<email>scottl@FreeBSD.org</email>
</person>
<person>
<name>
<given>Jeroen</given>
<common>Ruigrok</common>
</name>
<email>asmodai@wxs.nl</email>
</person>
</contact>
<links>
<url href="http://people.FreeBSD.org/~scottl/udf">UDF Homepage.</url>
</links>
<body>
<p>Read-only support for UDF filesystems was checked into the 5-CURRENT
branch in April. Backporting for 4-STABLE is being conducted by
Jeroen. The next phase is to write a newfs_udf, then move on to
adding write support to the filesystem. I'm still looking for a
volunteer to handle read and write support for write-once media
(e.g. CD-R).</p>
</body>
</project>
<project>
<title>Zero Copy Sockets</title>
<contact>
<person>
<name>
<given>Ken</given>
<common>Merry</common>
</name>
<email>ken@FreeBSD.org</email>
</person>
</contact>
<links>
<url href="http://people.FreeBSD.org/~ken/zero_copy/">Zero copy patches
and information. </url>
</links>
<body>
<p> I have released a new zero copy sockets snapshot, the first since
November, 2000. The code has been ported up to the latest
-current, and the jumbo code now has mutex protection. Also, zero
copy send and receive can be selectively turned on and off via sysctl
to make it easier to compare performance with and without zero copy.
Reviews and comments are welcome.</p>
</body>
</project>
<project>
<title>Bluetooth stack for FreeBSD (Netgraph implementation)</title>
<contact>
<person>
<name>
<given>Maksim</given>
<common>Yevmenkin</common>
</name>
<email>m_evmenkin@yahoo.com</email>
</person>
</contact>
<body>
<p>I'm slowly making progress. The second engineering release is
available for download at
http://www.geocities.com/m_evmenkin/ngbt-fbsd-20020506.tar.gz</p>
<p>This release includes support for H4 UART transport layer, Host
Controller Interface (HCI), Link Layer Control and Adaptation
Protocol (L2CAP) and Bluetooth sockets layer. It also comes
with several user space utilities that can be used to configure
and test Bluetooth devices.</p>
<p>I'm currently working on RFCOMM protocol implementation (Serial
port emulation over Bluetooth link). My next goal is to port
Service Discovery Protocol (SDP) implementation from BlueZ
(http://bluez.sf.net). I'm also thinking about adding USB device
support (as soon as i find/buy hardware).</p>
<p>Issues: 1) Bluetooth hardware; I have couple PC-CARDs that i use
for development and testing purposes, but i'd love to have more.
2) Time; My regular day job kicked in, so i will be spending more
time doing stuff i'm getting paid for.</p>
</body>
</project>
<project>
<title>FreeBSD C99 &amp; POSIX Conformance Project</title>
<contact>
<person>
<name>
<given>Mike</given>
<common>Barcroft</common>
</name>
<email>mike@FreeBSD.org</email>
</person>
<person>
<name>
<common>FreeBSD-Standards Mailing List</common>
</name>
<email>standards@FreeBSD.org</email>
</person>
</contact>
<links>
<url href="http://www.FreeBSD.org/projects/c99/" />
</links>
<body>
<p>Since the last status report, two developers working on utility
conformance were given commit access to the FreeBSD CVS repository
to help expedite development. As a result, the following utilities
have been brought up to conformance, they include: csplit(1),
env(1), expr(1), fold(1), join(1), m4(1), mesg(1), paste(1),
patch(1), pr(1), uuencode(1), uuexpand(1), and xargs(1). The
printf(1) utility was brought up to conformance with the 1992
edition of POSIX.2, with further development planned.</p>
<p>On the header front, much progress has been made. Specically,
infrastructure to control visiblity of components of a header, based
on the standard requested by an application, has been added to
&lt;sys/cdefs.h&gt;. Some work has been completed on renovating the
way types are defined. This has lead to the creation of
&lt;sys/_types.h&gt;. Further improvements such as the merger of
&lt;machine/ansi.h&gt; and &lt;machine/types.h&gt; are planned.
Additionally, the headers: &lt;strings.h&gt;, &lt;string.h&gt;, and
&lt;sys/un.h&gt; have been made to conform to POSIX.1-2001.</p>
<p>On the API front, scanf(3) has received support for 5 new length
modifiers (hh, j, ll, t, and z). A patch to implement two
additional conversion specifiers (j and z) has been developed for
printf(9) and is expected to be committed soon.</p>
<p>In other news, the project's web site has been moved to the main
FreeBSD site. It is now available at the URL at the top of this
status report. Please update your bookmarks.</p>
</body>
</project>
<project>
<title>Netgraph ATM</title>
<contact>
<person>
<name>
<given>Harti</given>
<common>Brandt</common>
</name>
<email>brandt@fokus.fhg.de</email>
</person>
</contact>
<links>
<url href="http://www.fokus.fhg.de/research/cc/cats/employees/hartmut.brandt/ngatm/index.html">Introduction to NgAtm</url>
</links>
<body>
<p>Version 1.1 for FreeBSD-current is now available. It includes
the SNMP-daemon package bsnmp, the driver package ngatmbase,
the UNI4.0 signaling package ngatmsig and the network emulation
package ngatmnet. NgAtm allows both to build applications running
directly on top of ATM and to use ATM-Forum LAN emulation to
use IP over ATM. Currently we are working on a simple switch module,
that implements the network side signaling and ILMI as well as
simple routing and call admission control.</p>
</body>
</project>
<project>
<title>GNOME Project</title>
<contact>
<person>
<name>
<given>Joe</given>
<common>Marcus</common>
</name>
<email>marcus@FreeBSD.org</email>
</person>
</contact>
<links>
<url href="http://www.FreeBSD.org/gnome">FreeBSD GNOME Project
homepage.</url>
</links>
<body>
<p>The GNOME project has seen quite a few changes lately. For one,
the author of this update has recently been given "The Bit."
Joe Marcus Clarke now has CVS access, and is working primarily
on the GNOME project. Joe has been closing a good deal of GNOME
PRs, as well as patching some of the existing GNOME 1.4
components.</p>
<p>The GNOME 2 porting effort continues on. We have completed porting
of the GNOME 2.0 API, and are 75% complete on porting the full
GNOME 2.0 desktop. When complete, GNOME 1.4 and GNOME 2.0 will
be co-resident in the ports tree. Both APIs can be installed
concurrently in the same PREFIX, but the respective desktops
will remain mutually independent. Maxim Sobolev is working
on adapting bsd.gnome.mk to handle both versions of the desktop
in an elegant fashion.</p>
<p>Not to be left out, the existing GNOME 1.4 components have received
numerous updates to keep them in sync with the stable distfiles
on gnome.org. We have seen many "1.0" milsestone releases including
the most recent AbiWord 1.0.0. In the next few weeks, we will be
making sure all the GNOME 1.4 components build correct packages
on bento so that GNOME 1.4 will be on the 4.6-RELEASE CD.</p>
</body>
</project>
<project>
<title>FreeBSD/KGI</title>
<contact>
<person>
<name>
<given>Nicholas</given>
<common>Souchu</common>
</name>
<email>nsouch@FreeBSD.org</email>
</person>
</contact>
<links>
<url href="http://www.FreeBSD.org/~nsouch/ggiport.html" />
</links>
<body>
<p> FreeBSD/KGI started last year after the port of GGI to VGL.
KGI (Kernel Graphic Interface) is a kernel infrastructure providing user
applications with access to hardware graphic resources (dma,
irqs, mmio). KGI is already available under Linux as a seperate
project. The FreeBSD/KGI project aims at integrating KGI
in the FreeBSD kernel. Mostly a port for now, but optimized for
FreeBSD in the future. Currently FreeBSD/KGI is under development
and the code is only available for reading, compiling but not running.
More interesting are design hints found at the project URL.</p>
</body>
</project>
<project>
<title>Libh</title>
<contact>
<person>
<name>
<given>Antoine</given>
<common>Beaupr&#351;</common>
</name>
<email>anarcat@anarcat.ath.cx</email>
</person>
<person>
<name>
<given>Alexander</given>
<common>Langer</common>
</name>
<email>alex@FreeBSD.org</email>
</person>
<person>
<name>
<given>Nathan</given>
<common>Ahlstrom</common>
</name>
<email>nra@FreeBSD.org</email>
</person>
</contact>
<links>
<url href="http://www.FreeBSD.org/projects/libh.html">Main project page.</url>
</links>
<body>
<p>We now have a loadable mfsroot floppy. It contains just the
diskeditor (which is really a disk partitioner) which has been
enhanced and is probably in his final form. It's been geared
towards making the newfs(1) and mount(1) step seperate dialogs, so
it reduced its complexity. A basic fstab class has been
implemented to manipulate /etc/fstab and mountpoint. This might
find a use outside libh, by the way. Libh package format is still
incomplete and somehow buggy, so it's my next target.</p>
<p>There is a API documentation effort underway with the help of
doxygen(1), so there's now more documentation for people that want
to get started with libh.</p>
<p>All this lead me to prepare the release of another alpha
preview of libh that will shortly be available in the ports
collection (0.2.2). Also, a new committer (okumoto) has joined the
project (as well as I) and he is currently working on cleaning up
the build system. It's been a few months without news, so this
probably seemed a bit long, but don't worry, we still need your
help to really get this going!</p>
</body>
</project>
<project>
<title>jp.FreeBSD.org daily SNAPSHOTs project</title>
<contact>
<person>
<name>
<given>Makoto</given>
<common>Matsushita</common>
</name>
<email>matusita@jp.FreeBSD.org</email>
</person>
</contact>
<links>
<url href="http://snapshots.jp.FreeBSD.org/">Project Webpage</url>
<url href="http://www.jp.FreeBSD.org/snapshots/">Project Webpage (in Japanese)</url>
</links>
<body>
<p>There are several new topics, including: Source Code Tour is now
separated into kernel part and userland part, yet another snapshots
from RELENG_4_x branch (currently 4.5-RELEASE-p4), add several
packages including XFree86 4.x to installation CD-ROM, new
cdboot-only ISO image, fix breackage of duplex.iso, etc. See also
the project webpage for more detail. Also, I have a plan to add
FreeBSD/alpha distribution to this project -- stay tuned.</p>
</body>
</project>
<project>
<title>KAME</title>
<contact>
<person>
<name>
<given>Shinsuke</given>
<common>SUZUKI</common>
</name>
<email>suz@kame.net</email>
</person>
</contact>
<links>
<url href="http://www.kame.net/">KAME Project Home Page</url>
<url href="http://www.kame.net/roadmap-2002.html">KAME Project Roadmap</url>
</links>
<body>
<p> KAME Project has been extended until March 2004, and we decided the project
roadmap for these two years. The first one year is for implementation, and the
remaining year is for feedback of our results into other BSD projects (please refer
to the above URL for further detail).
Great change is lack of NAT-PT support due to a lack of human resource, although
KAME snap still contains it as it is.</p>
<p> SUZUKI Shinsuke (suz@kame.net) has begun working for KAME and FreeBSD merge task in
cooperation with Umemoto-san (ume@FreeBSD.org).
Some of KAME stuff (critical bug fix, newest ports for pim6sd and racoon, etc)
has been merged into 4-stable in this April.</p>
</body>
</project>
<project>
<title>TrustedBSD Audit</title>
<contact>
<person>
<name>
<given>Andrew</given>
<common>Reiter</common>
</name>
<email>arr@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.TrustedBSD.org/">TrustedBSD
main web page</url>
</links>
<body>
<p>Over the past couple of months, progress has pretty much stopped
until very recently. The past few changes to the audit code were
update the usage of zones to UMA zones, cleanup some old cruft,
and start toying with the idea of having an audit write thread
implemented as an ithd. The next step is to decide two realistic
approaches to the where the records will be dumped -- whether that
is to a local disk or fed up to userland and then dealt with.
After that, the goal will be to expand the number of events that
are being audited, while also working in some performance testing
procedures. I will be posting to trustedbsd-audit about the recent
changes shortly.</p>
</body>
</project>
<project>
<title>TrustedBSD MAC</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/">TrustedBSD main web page</url>
</links>
<body>
<p>Over the last three months, there has been a lot of activity
in the TrustedBSD MAC tree. An initial commit of the SEBSD
code (NSA FLASK and SELinux implementation) was made; many
MAC policies previously linked directly to the kernel via
kernel options were moved to kernel modules; the flexibility
of the framework was improved relating to the life cycle of
object labels; additional labeling and access control hooks
were introduced; new policies were introduced to demonstrate
the flexibility of the framework (including a cleanup of
inter-process authorization, additional VFS hooks, improved
support for multilabel filesystems, network booting, IPv6,
IPsec, support for "peer" labels on stream sockets).
Current modules include Biba integrity policy, MLS
confidentiality policy, Type Enforcement, "BSD Extended"
(permitting firewall-like rulesets for filesystem protection),
"ifoff" (limit interface communication by policy),
mac_seeotheruids (limit visibility of processes/etc of other
users), "babyaudit" (a simple audit implementation), and
SEBSD (FLASK/SELinux port).</p>
<p>Over the next month, a final move to completely dynamic
labeling will be made, permitting policies to introduce new
state relating to process credentials, vnodes, sockets,
mounts, interfaces, and mbufs at run-time, allowing a broad
range of flexible label-driven policies to be developed.
In addition, application APIs will be re-designed and
re-implemented so as to better support a fully dynamic
policy framework. We plan to make an initial prototype
patchset available for review in June, with the intent of
committing that patchset in mid-June.</p>
<p>Updated prototype code may be retrieved from the TrustedBSD
CVS trees on cvsup10.FreeBSD.org.</p>
</body>
</project>
<project>
<title>PAM</title>
<contact>
<person>
<name>
<given>Mark</given>
<common>Murray</common>
</name>
<email>markm@FreeBSD.org</email>
</person>
<person>
<name>
<given>Dag-Erling</given>
<common>Sm&#370;rgrav</common>
</name>
<email>des@FreeBSD.org</email>
</person>
</contact>
<links>
<url href="http://people.FreeBSD.org/~des/pam/pam-2002-03.html">March 2002 PAM activity report.</url>
<url href="http://people.FreeBSD.org/~des/pam/pam-2002-04.html">April 2002 PAM activity report.</url>
</links>
<body>
<p>The painful parts are now completed, with all authentication-
related utilities converted to PAM (except for those cases where
it doesn't make sense, like Kerberos- or OPIE-specific
commands). OpenPAM is complete (except for a few missing man
pages) and seems to work well.</p>
<p>For more details, see the activity reports linked to above.</p>
</body>
</project>
<project>
<title>OpenSSH</title>
<contact>
<person>
<name>
<given>Dag-Erling</given>
<common>Sm&#370;rgrav</common>
</name>
<email>des@FreeBSD.org</email>
</person>
</contact>
<body>
<p>OpenSSH has been upgraded to 3.1, and the kinks seem to have
been worked out by now. OpenSSH will now use PAM for both ssh1
and ssh2 authentication.</p>
</body>
</project>
<project>
<title>KSE</title>
<contact>
<person>
<name>
<given>Julian</given>
<common>Elischer</common>
</name>
<email>julian@FreeBSD.org</email>
</person>
<person>
<name>
<given>Jonthan</given>
<common>Mini</common>
</name>
<email>mini@FreeBSD.org</email>
</person>
</contact>
<links>
<url href="http://www.FreeBSD.org/~julian/" />
<url href="http://www.FreeBSD.org/~jasone/kse/" />
</links>
<body>
<p>The KSE project had floundered due to lack of development
time for awhile, but has been picked up recently by
Jonathan Mini. Currently, the main focus is to prepare
the "milestone 3" code for inclusion into -CURRENT.</p>
<p>The project is still working towards "milestone 4"
(allowing threads from the same process to run on
multiple CPUs), which should be significantly easier
now due to work done by the SMPng project over the past
several months.</p>
<p>Help could be used in several areas of the project,
especially with porting the libc_r (pthreads) library
to KSE's threading model.</p>
</body>
</project>
<project>
<title>NEWCARD</title>
<contact>
<person>
<name>
<given>Warner</given>
<common>Losh</common>
</name>
<email>imp@FreeBSD.org</email>
</person>
</contact>
<body>
<p>NEWCARD support tried to merge CardBus functions with PCI
functions, but that failed to properly route interrupts. A
branch for the merge was created and will be merged into the
main line at a later date. Too many other things going on in my
life to make much progress.</p>
</body>
</project>
<project>
<title>Wi Hostap</title>
<contact>
<person>
<name>
<given>Warner</given>
<common>Losh</common>
</name>
<email>imp@FreeBSD.org</email>
</person>
</contact>
<body>
<p>Work on the host access point support for the Prism2 and
Prism2.5 based wireless cards has been integrated into the
kernel. This work is largely based on Thomas Skibo's initial
implementation.</p>
</body>
</project>
<project>
<title>Fibre Channel</title>
<contact>
<person>
<name>
<given>Matthew</given>
<common>Jacob</common>
</name>
<email>mjacob@FreeBSD.org</email>
</person>
</contact>
<links>
<url href="http://people.FreeBSD.org/~mjacob/fibre_channel.html">Project Status Page.</url>
</links>
<body>
<p>Continued bug fixing and hardening for this last few months.</p>
<p>Future work will include making target mode work correctly and fast.</p>
<p>The LSI-Logic chipset's MPT Fusion driver is also being evaluated.</p>
</body>
</project>
<project>
<title>Athlon MTRR Problems</title>
<contact>
<person>
<name>
<given>David</given>
<common>Malone</common>
</name>
<email>dwmalone@FreeBSD.org</email>
</person>
</contact>
<body>
<p>The FreeBSD MTRR code has been made more robust against
unexpected values sometimes found in the Athlon's Memory
Type Range Registers. Problems with these values had prevented
XFree 4.2 running on some motherboards. Experimentation indicates
that these undocumented values may control the mapping of
BIOS/ROMs or have something to do with SMM. If anyone can provide
details of what these values mean, can they
please let me know, so the MTRR code can be completed. </p>
</body>
</project>
<project>
<title>IPMI Tools for FreeBSD</title>
<contact>
<person>
<name>
<given>Doug</given>
<common>White</common>
</name>
<email>dwhite@FreeBSD.org</email>
</person>
</contact>
<links>
<url href="http://www.FreeBSD.org/~dwhite/ipmi/" />
</links>
<body>
<p>IPMI Tools for FreeBSD is a collection of C and Python
applications and modules for exploring the information available
via the Intelligent Platform Management Interface (IPMI), as
implemented on server motherboards by Intel and HP. IPMI is an
open standard with patent protection for adopters which defines
standard interfaces to on-board management hardware. The
management hardware consists of a CPU, sensors such as temperature
probes and fan speeds, and repositories such as the System Event
Log and Field-Replaceable Unit (FRU) inventory, and other system
information. </p>
<p>A basic set of tools was recently made available which uses the
KCS and SMIC system interfaces to retrieve the System Event Log,
FRU repository, and system sensors. Additional features are
currently under research. Suggestions for additional features and
programs are greatly appreciated. </p>
</body>
</project>
<project>
<title>PowerPC Port</title>
<contact>
<person>
<name>
<given>Benno</given>
<common>Rice</common>
</name>
<email>benno@FreeBSD.org</email>
</person>
</contact>
<links>
<url href="http://jeamland.net/~benno/powerpc-boot.txt">Current boot
messages.</url>
</links>
<body>
<p>The PowerPC port is moving ahead. It can now mount a root file system
and exec init, but fails when trying to map init's text segment in. I'm
hoping to have it starting my fake "Hello, world!" init soon, after which
I plan to try and get some libc bits in place so that I can build /bin
and /sbin and try to get to actual single-user.</p>
</body>
</project>
<project>
<title>jpman project</title>
<contact>
<person>
<name>
<given>Kazuo</given>
<common>Horikawa</common>
</name>
<email>horikawa@FreeBSD.org</email>
</person>
</contact>
<links>
<url href="http://www.jp.FreeBSD.org/man-jp/">
jpman project page both for users and developers (in Japanese)</url>
</links>
<body>
<p>4.5-RELEASE Japanese manapge package, ja-man-doc-4.5.tgz, once
published with OpenSSH 2.3 (as reported by previous status
report) on January 31, is replaced with new package with OpenSSH
2.9 based manpages on March 3. Since then, we have been
updating Japanese manpages for 4.6-RELEASE. For new translation
and massive update, we have been making a lot of effort.</p>
<p>Continuing section 3 updating has 73% finished.</p>
</body>
</project>
<project>
<title>"GEOM" - generalized block storage manipulation</title>
<contact>
<person>
<name>
<given>Poul-Henning</given>
<common>Kamp</common>
</name>
<email>phk@FreeBSD.org</email>
</person>
</contact>
<links>
<url href="http://www.FreeBSD.org/~phk/Geom/">Old concept paper here.</url>
</links>
<body>
<p>The GEOM code has gotten so far that it beats our current code
in some areas while stil lacking in others. Work continues on
a generalized interface for "magic data" (boot blocks, disklabels
MBR's etc) manipulation from userland.</p>
<p>With GEOM enabled in the kernel any FreeBSD platform will now
recognize PC style MBR's, i386 disklabels, alpha disklabels,
PC98 extended MBRs and SUN/Solaris style disklabels.</p>
</body>
</project>
<project>
<title>FreeBSD ARM Port</title>
<contact>
<person>
<name>
<given>Stephane E.</given>
<common>Potvin</common>
</name>
<email>sepotvin@videotron.ca</email>
</person>
</contact>
<links>
<url href="http://pages.infinit.net/sepotvin" />
</links>
<body>
<p>Since the last progress report, the initialization code was much
cleaned (thanks to NetBSD's acort32 port) and partial DDB support as
been added. I'm now struggling to put the pmap module into a
working state. The latest patch set only includes the
initialization changes. I did some tries to get what I had so far
working on my iPAQ without much successes (downloading a kernel
over a serial link is way too painful). If anyone has had success in
getting any iPAQ to work as a USB storage device under *BSD please
contact me.</p>
</body>
</project>
<project>
<title>locking up pcb's in the networking stack</title>
<contact>
<person>
<name>
<given>Jeffrey</given>
<common>Hsu</common>
</name>
<email>hsu@FreeBSD.org</email>
</person>
</contact>
<links>
<url href="http://www.FreeBSD.org/smp/" />
</links>
<body>
<p>I've been mentoring someone on locking up the protocol control
blocks in the networking stack. She has already finished TCP and
UDP and I'm currently reviewing the patch with her and going over
some networking lock order issues. Locking up raw protocol
interface control blocks follows next.</p>
</body>
</project>
<project>
<title>Network interface cloning and modularity</title>
<contact>
<person>
<name>
<given>Brooks</given>
<common>Davis</common>
</name>
<email>brooks@FreeBSD.org</email>
</person>
</contact>
<body>
<p>Support for stf(4), faith(4), and loopback interfaces has been
committed to current. The stf and faith support has been MFC'd.
In current the API has changed to move unit allocation into the
generic cloning code reducing the amount of support code required
in each driver. Code improvements to increase our API
compatability with NetBSD will be commited soon along with cloning
support for discard interfaces and ppp(4) interfaces.</p>
<p>Thanks to <email>mux@FreeBSD.org</email> for the loopback support
and unit allocation cleanups.</p>
</body>
</project>
<project>
<title>IA64 Port</title>
<contact>
<person>
<name>
<given>Peter</given>
<common>Wemm</common>
</name>
<email>peter@FreeBSD.org</email>
</person>
</contact>
<body>
<p>IA64 has had a busy few months. Aside from gcc, we are now fully
self hosting on IA64. Doug Rabson has performed his magic and
implemented the execution of 32 bit i386 application binaries
although more work remains to be done to make ld-elf.so.1 happy
with the different underlying page size. We have been using the
i386 perforce binary to do actual development work and submit from
the ia64 systems themselves. Marcel Moolenaar has been working on
SMP and machine-check support. We have been running SMP kernels
amazingly reliably on our development boxes for quite some time now.
syscons is now functional. We have produced a self-booting
run-root-on-cdrom ISO image (idea taken from the sparc64 folks) that
has been used to manually self install an IA64 system from a blank
disk. Aside from a few minor loose ends we now have complete 'make
world' functionality. sysinstall works on ia64. We plan on
producing a semi-respectable boot/install cdrom image shortly.</p>
</body>
</project>
<project>
<title>GCC 3.1</title>
<contact>
<person>
<name>
<given>David</given>
<common>O'Brien</common>
</name>
<email>obrien@FreeBSD.org</email>
</person>
</contact>
<body>
<p>As of Thur May 9th, 2002 FreeBSD 5-CURRENT is now using a GCC 3.1
prerelease snapshot as the system C compiler. At this time of
cutting over, the compiler is working well on i386, Alpha, Sparc64,
and IA-64 for building world. There is a known problem with our
atomic ops on Alpha that prevents a GCC 3.1 built kernel from
booting.</p>
<p>Currently the C++ support libraries (libstdc++, et.al.) does not
build and thus prevents the system C++ compiler from being used.</p>
</body>
</project>
<project>
<title>Release Engineering</title>
<contact>
<person>
<name>
<common>Release Engineering</common>
</name>
<email>re@FreeBSD.org</email>
</person>
</contact>
<links>
<url href="http://www.FreeBSD.org/releng/" />
</links>
<body>
<p>The release engineering team released FreeBSD <url
href="http://www.FreeBSD.org/releases/5.0R/DP1/announce.html">5.0-DP1</url>
on 8 April 2002. This Developer Preview gives developers and
other interested parties a chance to help test some of the new
features to appear in 5.0-RELEASE. This distribution has known
bugs and areas of instability, and should only be used for
(non-production) testing and development.</p>
<p>The next releases of FreeBSD will be 4.6-RELEASE (scheduled for
1 June 2002) and 5.0-DP2 (scheduled for 25 June 2002).
Information on the release schedules and more can be found on
the team's new area on the FreeBSD Web site (see the URL
above).</p>
<p>Finally, the team has gained two new members: Brian Somers and
Bruce A. Mah.</p>
</body>
</project>
<project>
<title>ppp RADIUS/MS-CHAP support</title>
<contact>
<person>
<name>
<given>Brian</given>
<common>Somers</common>
</name>
<email>brian@FreeBSD.org</email>
</person>
</contact>
<body>
<p>libradius now supports RADIUS vendor attribute extensions and
user-ppp is now capable of doing MS-CHAP authentication via a RADIUS
server. A new net/freeradius port has been created for support of
MS-CHAP in a RADIUS server.</p>
<p>MS-CHAPv2 support will be added soon.</p>
<p>The work is sponsored by Monzoon.</p>
</body>
</project>
<project>
<title>Improving FreeBSD Startup Scripts</title>
<contact>
<person>
<name>
<given>Doug</given>
<common>Barton</common>
</name>
<email>dougb@FreeBSD.org</email>
</person>
</contact>
<contact>
<person>
<name>
<given>Mike</given>
<common>Makonnen</common>
</name>
<email>makonnen@pacbell.net</email>
</person>
</contact>
<contact>
<person>
<name>
<given>Gordon</given>
<common>Tetlow</common>
</name>
<email>gordont@gnf.org</email>
</person>
</contact>
<links>
<url href="http://home.pacbell.net/makonnen/rcng.html" />
<url href="http://groups.yahoo.com/group/FreeBSD-rc/" />
<url href="http://www.mewburn.net/luke/bibliography.html" />
<url href="http://www.netbsd.org/Documentation/rc/" />
</links>
<body>
<p>Mike Makonnen has done quite a bit of excellent work on porting the
scripts from FreeBSD into the NetBSD framework. The next step seems
to be to try to reduce the amount of diffs between our implementation
and the original set from NetBSD.</p>
</body>
</project>
<project>
<title>SMPng</title>
<contact>
<person>
<name>
<given>John</given>
<common>Baldwin</common>
</name>
<email>jhb@FreeBSD.org</email>
</person>
<person>
<email>smp@FreeBSD.org</email>
</person>
</contact>
<links>
<url href="http://www.FreeBSD.org/smp/" />
</links>
<body>
<p>The SMPng project has been picking up steam in the last few
months thankfully. In February, Seigo Tanimura-san committed
the first round of process group and session locking. Alfred
Perlstein also added locking to most of the pipe
implementation. In March, Alfred fixed several problems with
the locking for select() and pushed down Giant some in several
system calls. Andrew Reiter added locking for kernel module
metadata, and Jeff Roberson wrote a new SMP-friendly slab
allocator to replace both the zone allocator and the in-kernel
malloc(). The use of the critical section API was cleaned up
to not be abused as replacements for disabling and enabling
interrupts. Also, Matt Dillon optimized the MD portion of the
critical section code on the i386 architecture. Several other
subsystems were also locked in April as well. See the SMPng
website and todo list for more details.</p>
<p>Some of the current works in progress include locking for the
kernel linker by Andrew Reiter and light-weight interrupt
threads for the i386 by Bosko Milekic. Seigo Tanimura-san,
Alfred Perlstein, and Jeffrey Hsu are also working on locking
down various pieces of the networking stack. Alan Cox has
started working on fixing the existing locking in the VM
subsystem and moving bits of it out from under Giant. John
Baldwin has written an implementation of turnstiles as well as
adaptive mutexes in the jhb_lock Perforce branch. The
adaptive mutexes appear to be stable on i386, alpha, and
sparc64, but the turnstile code still contains several tricky
lock order reversals. John also plans to commit the
p_canfoo() API change to use td_ucred in the very near future
and then finish the task of making ktrace(4) use a worker
thread.</p>
</body>
</project>
<project>
<title>New mount(2) API</title>
<contact>
<person>
<name>
<given>Poul-Henning</given>
<common>Kamp</common>
</name>
<email>phk@FreeBSD.org</email>
</person>
<person>
<name>
<given>Maxime</given>
<common>Henrion</common>
</name>
<email>mux@FreeBSD.org</email>
</person>
</contact>
<body>
<p>The patch for the new mount API has now been committed to the
tree. Several filesystems also have been converted to this
new mount API, namely procfs, linprocfs, fdescfs and devfs.
I'm working on converting more filesystems to nmount, and
actually already have UFS done. It has not been committed yet
to avoid conflicting with the UFS2 work, but it should hit the
tree soon. Manpages are still missing at the moment because
I had to modify the API slightly. I hope to have them done
soon now.</p>
</body>
</project>
<project>
<title>FreeBSD Developer Summit</title>
<contact>
<person>
<name>
<given>Robert</given>
<common>Watson</common>
</name>
<email>rwatson@FreeBSD.org</email>
</person>
</contact>
<links>
<url href="http://www.FreeBSD.org/events/2002/bsdcon-devsummit.html" />
</links>
<body>
<p>The second FreeBSD Developer Summit, held following the BSD
Conference in San Francisco in February, was a great success. Around
40 developers attended in person, another five by phone, and many
others by webcast. During a marathon-esque eight hour session, a
variety of development topics were discussed, including adding
inheritence to the KOBJ system, ports to new architectures,
adaptations of the toolchain for new architectures, the GEOM
extensible storage device framework, upcoming changes to the network
stack, TrustedBSD features, KSE, SMPng, and the release engineering
schedule. This event was sponsored by DARPA and NAI Labs, with
webcasting provided by Joe Karthauser, bandwidth provided by Yahoo!.
Planning for future such events is now underway; a summary/transcript
of discussion may be found at the URL above.</p>
</body>
</project>
</report>