Progress in the linuxulator

On of the major show­stop­per bugs in the lin­ux 2.6 emu­la­tion is that acrore­ad does not work. Now we have patch­es (proof of con­cept by Intron, refined patch by Kib) for it. I did­n’t had time to test it yet (mind you, every­one else is not able to run acrore­ad with 2.6, I’m able to run it at least with some files or no file at all), but I want to do an exten­sive test (I know sev­er­al ways of killing it with 2.6).

If every­thing goes well and no oth­er show­stop­per bug appears, we may be able to request more exten­sive test­ing of the 2.6 emu­la­tion, at least on i386. First this should be done by ask­ing peo­ple to switch, and maybe after a week by switch­ing the default emu­la­tion to 2.6 in ‑cur­rent (at least for a while).

This is spe­cial­ly impor­tant as the Fedo­ra Lega­cy project announced that they will aban­don sup­port for FC4. FC5+ is not able to run on a 2.4 kernel.

And while I’m at it: I sub­mit­ted the sta­tus report for the lin­ux­u­la­tor. It con­tains some nice sta­tis­tic about the num­ber of fixed bugs (com­par­ing 6.2 and ‑cur­rent). No, I will not tell you in advance, you have to wait some days until the report shows up. 😛

Lin­ux mod­ules now usable on amd64

Today I removed the LINUX stuff from GENERIC on amd64 (this syncs with i386). Now that kib@ com­mit­ted the ker­nel link­er stuff the lin­ux mod­ule is usable on amd64 too. This allows for more easy testing/patching on amd64 and also allows on-demand-loading like on i386.

The ker­nel sub­sys­tem API doc­u­men­ta­tion gen­er­a­tion framework.

I com­mit­ted the ker­nel sub­sys­tem API doc­u­men­ta­tion gen­er­a­tion frame­work. It allows to gen­er­ate the API doc­u­men­ta­tion of a sub­sys­tem (with doxy­gen) just by adding a short con­fig file (around 22 lines with com­ments and blank lines, maybe 14 lines with­out com­ments and blank lines). Here’s an exam­ple of such a config:

—snip—
PROJECT_NAME = “FreeB­SD ker­nel sound device code”
OUTPUT_DIRECTORY = $(DOXYGEN_DEST_PATH)/dev_sound/
EXTRACT_ALL = YES # for undoc­u­ment­ed src, no warn­ings enabled
INPUT = $(DOXYGEN_SRC_PATH)/dev/sound/

GENERATE_TAGFILE = dev_sound/dev_sound.tag
TAGFILES = dev_pci/dev_pci.tag=../../dev_pci/html \
dev_usb/dev_usb.tag=../../dev_usb/html
@INCLUDE_PATH = $(DOXYGEN_INCLUDE_PATH)
@INCLUDE = common-Doxyfile
—snip—

The frame­work is con­fig­ured to not only gen­er­ate the HTML ver­sion, but also a PDF version.

Sub­sys­tems for which docs are gen­er­at­ed cur­rent­ly (con­figs for oth­er sub­sys­tems are welcome):

  • cam
  • cryp­to
  • dev_pci
  • dev_sound
  • dev_usb
  • geom
  • i4b
  • kern
  • libkern
  • lin­ux
  • net80211
  • net­graph
  • netinet
  • netinet6
  • netipsec
  • open­cryp­to
  • vm

Peo­ple which want to help doc­u­ment­ing the code may want to have a look at the spe­cial com­mands doxy­gen under­stands.