A month of the Hurd: initial work on network device drivers in user space, GRUB 2.

This month Zheng Da, our former Google Summer of Code student working on network virtualization and some related topics, published the code for the pcnet32 device driver that he had modified to run as a user-space process instead of inside the kernel, and posted some preliminary performance benchmark results. The test results are mostly on par with the in-kernel driver, so they show that moving the lower-layer parts of the networking stack, the device drivers themselves, into user space can be done without losing (much) performance. Given this encouraging start, work is going on to explore whether the Device Driver Environment that has been created for L4-based systems can be used for providing GNU/Hurd systems with device drivers that (a) are more recent than our current ones, (b) support classes of devices that we don't support so far, and (c) are running as (possibly separate, fault-isolated) user-space processes.

Thanks to Samuel Thibault, the latest Debian GRUB 2 package (1.97+20091130-1) supports native installation from GNU/Hurd itself -- booting GNU/Hurd systems with GRUB has always been working, but until now it wasn't possible to install GRUB from a GNU/Hurd system. GNU GRUB has originally been written for booting GNU/Hurd systems, so this step completes its original purpose.

Samuel also continued to work on preparing the Xen branch of GNU Mach for being merged with the mainline code, and he fixed a kernel panic in the kernel's floating point support code.