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
bootloaders.
- 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
architecture.
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.
Credits
=======
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.