[OpenBIOS] [PATCH 0/4] Switch TCX/VGA drivers from Forth to FCode

Mark Cave-Ayland mark.cave-ayland at ilande.co.uk
Mon Jun 24 17:06:19 CEST 2013


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

-- 
1.7.10.4




More information about the OpenBIOS mailing list