[OpenBIOS] OpenBIOS 1.1 release

Mark Cave-Ayland mark.cave-ayland at ilande.co.uk
Sat May 4 14:24:09 CEST 2013

After 4 years of hard work, the OpenBIOS team are proud to announce the 
release of OpenBIOS 1.1. Since the last release, over 600 commits have 
been made to the SVN repository with a wealth of improvements and new 
features. As a result of these changes, the ability of OpenBIOS 1.1 to 
boot various kernels under QEMU has significantly improved.

Multi-architecture features

- Internal memory API (OFMEM) implementation

All main architectures in OpenBIOS have been migrated to a new shared 
OFMEM API rather than maintaining their own individual implementations. 
This API handles both internal and external memory allocations, and 
automatically handles generation of the relevant memory and 
virtual-memory node properties required for clients.

- Forth Source Debugger

A basic Forth source debugger is included that can be used to step 
through Forth words which are marked using the debug word. Once the 
source debugger has been entered, it is possible to step up, step down, 
drop to a Forth interpreter shell or continue execution whilst viewing 
the current stack contents.

- 64-bit 1275 6d5 implementation

OpenBIOS now contains the additional 64-bit word set required by some 

- Forth Local Variables

In order to support bootloaders such as Apple's BootX, OpenBIOS now 
contains an implementation of Forth local variables.

- Internal libopenbios code reorganisation

Over time, a lot of the code related to loading executable files had 
been forked for each individual architecture, e.g. ELF loader. The 
codebase has been substantially refactored so that the individual forks 
have been combined in a centralised libopenbios meaning that a 
substantial portion of duplicate code has been removed from each 

SPARC32 compatibility

OpenBIOS SPARC32 is currently able to boot the following OS/kernels:

    * Linux
    * NetBSD
    * OpenBSD
    * Some later versions of Solaris (Solaris 8 and early Solaris 9 are 
known to work)

SPARC64 compatibility

OpenBIOS SPARC64 is currently able to boot the following OS/kernels:

    * Linux (with virtio drivers)

Many thanks to Artyom Tarasenko for making this possible.

PPC compatibility

OpenBIOS PPC is currently able to boot the following OS/kernels:

    * Linux
    * HelenOS

The following kernels will partially boot, but still suffer from some 
emulation bugs under QEMU:

    * FreeBSD
    * NetBSD
    * Darwin/OS X

Many thanks to William Hahne and his mentor, Natalia Portillo, for 
contributing the patches required to support Darwin/OS X kernel boot in 
OpenBIOS as part of the Google Summer Of Code.

PPC64 compatibility

OpenBIOS PPC64 is currently experimental but should be capable of 
executing some bootloaders. Please report details of any testing to the 
OpenBIOS/QEMU mailing lists.


Many thanks to everyone who has contributed to OpenBIOS by providing bug 
reports, patches or testing. In particular the team would like to thank 
(in alphabetical order):

John Arbuckle
Segher Boessenkool
Mark Cave-Ayland
Olivier Danet
Andreas Färber
Alexander Graf
William Hahne
Igor Kovalenko
Tarl Neustaedter
Natalia Portillo
Stefan Reinauer
Amadeusz Sławiński
Blue Swirl
Artyom Tarasenko
Andreas Tober
Laurent Vivier

Please visit http://www.openfirmware.info/ for more information on OpenBIOS.

More information about the OpenBIOS mailing list