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