Context Navigation

Release Notes for HelenOS 0.4.3

HelenOS 0.4.3 (Sashimi) was released on March 26, 2011.

This document contains a summary of changes made to HelenOS since release 0.4.2.

Special Notes for this Release

Contrary to the previous releases, most of the binaries distributed with this release are debug binaries. This will allow us to receive better feedback for problems encountered by our external testers. The debug binaries received the best testing coverage and are the default that the developers run. The only exception is the size-optimized binary for sparc64/serengeti, which is released as non-debug.

The new device manager is not started by default in this release and normally you don't need to start it since most drivers still don't use it.

Most users will not find networking usable since TCP is not working yet (although UDP is)

Features Introduced in This Release

General

New boot infrastructure

The new boot infrastructure is more unified and offers similar boot behavior on all supported platforms.

Except for HelenOS/ia32 and HelenOS/amd64, the boot image will be deflated to conserve space. Unfortunately, this also increases the boot time of such images because they first need to be inflated.

PearPC support discontinued

PearPC was the original PowerPC simulator used for the development of HelenOS/ppc32 port. However, since this simulator is no longer in active development and even severe flaws have not been fixed for more that 4 years (OFW memory management calls, etc.), we have decided to drop support for this simulator completely instead of adding more quirks to our bootloader and kernel code. Qemu/PPC is currently our PowerPC simulator of choice.

Added support for the Neo FreeRunner smartphone (based on the ARMv4 architecture).

A u-Boot image is provided which you can simply load on an SD card and boot from it.

Output goes to the LCD, the serial debug console is used for keyboard input.

Touch screen input also works, but since the screen is 480x640 you cannot do anything except moving the mouse pointer.

Kernel

Observability

Kernel panics now have a more unified look and print more informative, meaningful and compact messages.

Experimental support for kernel stack traces on mips32, ppc32 and sparc64.

Robustness

The debug kernel will detect and report programming errors such as sleeping while holding a spinlock or when locks are not being held as necessary or when interrupts are not in the desired state.

Services and Drivers

New device driver framework (DDF) and a set of DDF-compatible drivers (not started by default)

New root driver.

New virtual root driver and a set of sample test drivers.

New platform driver for the PC platform (ia32 and amd64).

New driver for the Intel PCI bus controller.

New driver for the ns8250 serial port.

Removed the old pci driver.

file_bd can take the block size as a parameter.

Minimalistic support for ATAPI CD-ROM in ata_bd (only works in Qemu so far).

File Systems

FAT file system server

Sequential file I/O has linear time complexity in number of blocks for most use patterns. Previously, time complexity of sequential I/O was always quadratic in number of blocks.

DEVFS was improved to handle recursive requests better.

VFS now supports file systems that wish to serialize I/O on files themselves.