[OpenBIOS] [PATCHv2 00/14] Display driver rework and Forth conversion series

Mark Cave-Ayland mark.cave-ayland at ilande.co.uk
Sun Aug 11 09:52:16 CEST 2013


This should be the final in the display rework patch series which completes
the conversion of the VGA/TCX drivers from C to Forth. The series also
includes several other improvements:

- Fixes for SPARC32 romvec stdin/stdout initialisation
- Fixes for ioc!/iow!/iol! words
- Implementation of SBus and PCI map functions (see comments for PCI)
- Isolation of all remaining MOL code into molvideo.h
- Simple implementation of TCX "probe" function (will morph into probe-self
  with very little work)
- Removal of remaining hacks required to support a mixed C/Forth display
  environment

Once this patchset is applied, it only remains to implement cpeek and
augment the SBus probe-self function to provide the ability to execute
FCode ROMs supplied by QEMU.

Updates for v2:
- Fix typo in cover letter
- x86/amd64 build fixes
- Add copyrights to tcx.fs and vga.fs
- Fix generation of stdin-path/stdout-path properties
- Simplify out-of-package property assignments using (property)
- Fix typo in map-out-sbus
- Use new ofmem_release_io() function
- Rebase onto SVN trunk


Mark Cave-Ayland (14):
  forth.c: fix ioc!, iow! and iol! words
  vga: move VGA initialisation from C to Forth
  video: move all non MOL-specific code from molvideo.c to vga.fs
  pci/vga: move PCI framebuffer map functions info Forth
  vga: move initialisation of screen-#columns/screen-#rows to
    setup_video()
  SPARC32: fix romvec stdin/stdout field initialisation
  display: move creation of "display" and "screen" properties to Forth
  sbus: implement map-in and map-out words
  sbus/tcx: implement probe_self() wrapper
  tcx.fs: tidy-up lookups using (find-xt) and use openbios-* vars where
    appropriate
  tcx.fs: move DAC programming from C to tcx.fs
  tcx.fs: move framebuffer mapping over from C to tcx.fs
  video: remove video_set_color()
  vga: remove vga_vbe_init() and vga_vbe.c

 openbios-devel/arch/ppc/qemu/init.c        |   18 ---
 openbios-devel/arch/sparc32/boot.c         |   15 +-
 openbios-devel/arch/sparc32/console.c      |   38 -----
 openbios-devel/arch/sparc32/openbios.c     |   32 +---
 openbios-devel/arch/sparc32/romvec.c       |   14 +-
 openbios-devel/arch/sparc32/tree.fs        |   21 +--
 openbios-devel/arch/sparc64/openbios.c     |   18 ---
 openbios-devel/arch/x86/openbios.c         |    2 +-
 openbios-devel/drivers/build.xml           |    1 -
 openbios-devel/drivers/iommu.c             |   32 ++++
 openbios-devel/drivers/pci.c               |   98 +++++++++---
 openbios-devel/drivers/pci.fs              |   77 +++++++++
 openbios-devel/drivers/sbus.c              |  238 ++++------------------------
 openbios-devel/drivers/sbus.fs             |   60 +++++++
 openbios-devel/drivers/tcx.fs              |  219 +++++++++++++++++++++++--
 openbios-devel/drivers/vga.fs              |  194 ++++++++++++++++++++---
 openbios-devel/drivers/vga_vbe.c           |  191 ----------------------
 openbios-devel/forth/admin/iocontrol.fs    |   26 +++
 openbios-devel/forth/device/display.fs     |   13 +-
 openbios-devel/include/drivers/drivers.h   |    2 -
 openbios-devel/include/libopenbios/video.h |    4 +-
 openbios-devel/kernel/forth.c              |    6 +-
 openbios-devel/libopenbios/video_common.c  |   46 ++----
 openbios-devel/packages/build.xml          |    2 +-
 openbios-devel/packages/molvideo.c         |   78 ++-------
 25 files changed, 746 insertions(+), 699 deletions(-)
 delete mode 100644 openbios-devel/drivers/vga_vbe.c

-- 
1.7.10.4




More information about the OpenBIOS mailing list