(This is a repost of the complete patchset rebased and with for-1.7 in the subject as requested by Anthony)
This patchset does two things: firstly it adds an FCode ROM for the existing TCX framebuffer, and secondly provides QEMU with an implementation of the Sun CG3 8-bit framebuffer. It is based upon Bob Breuer's original work which has been rebased onto git master, and is now capable of running with the OpenBIOS CG3 FCode ROM instead of requiring copies of proprietary Sun ROMs. Note this patch has been around for a month or so but has been waiting for the updated OpenBIOS images to be included in QEMU. The reason for adding the TCX FCode ROM first is because Open Firmware such as OpenBIOS detects which framebuffer is in use by "executing" the FCode in the ROM to create the node in the device tree in exactly the same way as real hardware. This is in contrast to older versions of OpenBIOS where everything was hardcoded to use the TCX framebuffer. While this patch has not received much review, it is a reasonably simple and self-contained patchset and has been updated to reflect the comments received from the initial post of the "Add FCode ROM for TCX framebuffer" patch. For this reason, I feel that this patchset is a candidate for 1.7. The motivation behind this patch is that older operating systems such as Debian Woody and Solaris (running OpenWindows) do not contain drivers for the TCX framebuffer and as a result currently cannot run in graphical mode. The screenshots linked below show qemu-system-sparc successfully running both Debian Woody and the Solaris 8 installer in graphical mode with the CG3 framebuffer selected during testing: http://www.ilande.co.uk/tmp/debian-woody.png http://www.ilande.co.uk/tmp/sol8-1.png http://www.ilande.co.uk/tmp/sol8-2.png The CG3 framebuffer is selected by passing -vga cg3 on the command line to qemu-system-sparc. If either -vga tcx is specified (or the -vga argument is omitted) then qemu-system-sparc defaults to using the existing TCX framebuffer to maintain compatibility. Signed-off-by: Mark Cave-Ayland <mark.cave-ayl...@ilande.co.uk> Mark Cave-Ayland (3): sun4m: Add FCode ROM for TCX framebuffer sun4m: Add Sun CG3 framebuffer and corresponding OpenBIOS FCode ROM sun4m: Add Sun CG3 framebuffer initialisation function Makefile | 2 +- default-configs/sparc-softmmu.mak | 1 + hw/display/Makefile.objs | 1 + hw/display/cg3.c | 359 +++++++++++++++++++++++++++++++++++++ hw/display/tcx.c | 27 ++- hw/sparc/sun4m.c | 77 +++++++- include/sysemu/sysemu.h | 1 + pc-bios/QEMU,cgthree.bin | Bin 0 -> 682 bytes pc-bios/QEMU,tcx.bin | Bin 0 -> 1242 bytes pc-bios/README | 4 +- vl.c | 24 +++ 11 files changed, 483 insertions(+), 13 deletions(-) create mode 100644 hw/display/cg3.c create mode 100644 pc-bios/QEMU,cgthree.bin create mode 100644 pc-bios/QEMU,tcx.bin -- 1.7.10.4