Note: this patchset should be applied on top of my last display patchset here: http://www.openfirmware.info/pipermail/openbios/2013-June/007753.html.
At the moment the IEEE1275 initialisers for TCX/VGA are setup by calling is-install directly; in actual fact what we need to do is convert the drivers over to FCode and execute them during a bus probe.
This patchset switches the tcx.fs and vga.fs drivers over to FCode from Forth, includes the FCode binaries as part of the OpenBIOS image, and executes the drivers using byte-load during probe.
Currently both drivers are reasonably bare (with most of the work still being done in C), however it is a starting point for moving more functionality into the FCode drivers and makes it possible to implement a "probe-self" word in the near future.
This patch shouldn't alter any functionality, but the most significant change is that it does introduce "toke" from the OpenFirmware fcode-utils suite as a mandatory dependency for building OpenBIOS.
Mark Cave-Ayland (4): switch-arch: make the fcode-utils tokeniser "toke" mandatory for the build config: add new fcode tag and support for building Fcode into dictionaries SPARC32: switch TCX driver over to FCode x86/SPARC64/PPC/amd64: switch VGA driver over to FCode
openbios-devel/Makefile.target | 3 ++ openbios-devel/arch/amd64/build.xml | 1 + openbios-devel/arch/amd64/init.fs | 7 ++++ openbios-devel/arch/ppc/build.xml | 5 +++ openbios-devel/arch/ppc/ppc.fs | 11 ++++++ openbios-devel/arch/sparc32/build.xml | 1 + openbios-devel/arch/sparc32/init.fs | 6 +++ openbios-devel/arch/sparc32/tree.fs | 1 + openbios-devel/arch/sparc64/build.xml | 1 + openbios-devel/arch/sparc64/init.fs | 6 +++ openbios-devel/arch/sparc64/tree.fs | 2 + openbios-devel/arch/x86/build.xml | 1 + openbios-devel/arch/x86/init.fs | 8 ++++ openbios-devel/config/examples/amd64_config.xml | 1 + openbios-devel/config/scripts/switch-arch | 12 ++++++ openbios-devel/config/xml/dictionary.xsl | 40 ++++++++++++++++--- openbios-devel/config/xml/fcode.xsl | 48 +++++++++++++++++++++++ openbios-devel/config/xml/makefile.xsl | 2 + openbios-devel/config/xml/rules.xml | 3 ++ openbios-devel/drivers/build.xml | 5 ++- openbios-devel/drivers/pci.c | 3 +- openbios-devel/drivers/sbus.c | 5 ++- openbios-devel/drivers/tcx.fs | 35 ++++++++++++++++- openbios-devel/drivers/vga.fs | 35 ++++++++++++++++- 24 files changed, 230 insertions(+), 12 deletions(-) create mode 100644 openbios-devel/config/xml/fcode.xsl