Am 19.02.2014 10:05, schrieb Mark Cave-Ayland: > This patchset 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 an OpenBIOS CG3 > FCode ROM instead of requiring copies of proprietary Sun ROMs. > > 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 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. > > v3: > - Rebased to git master > - Fix DEBUG_CG3 macro > - Use register constants based upon Linux/BSD drivers > - Use qemu_log(LOG_UNIMP ... ) to capture unrecognised register accesses > - Rename device type from SUNW,cgthree to cgthree (matches OBP) > - Use error_report() instead of fprintf(stderr ... ) > - Convert from init to realizefn > > v2: > - Rebased to git master > - Updated QEMU,cgthree.bin ROM to latest OpenBIOS version > - Added Peter Maydell to CC > > > Mark Cave-Ayland (2): > sun4m: Add Sun CG3 framebuffer and corresponding OpenBIOS FCode ROM > sun4m: Add Sun CG3 framebuffer initialisation function
Reviewed-by: Andreas Färber <afaer...@suse.de> There's some lines we could extract from the realizefn into an instance_init, but can be done as follow-up when needed. Two small questions, are vram_size and prom_addr for compatibility? New convention for QOM properties would be dashes. Regards, Andreas > > Makefile | 2 +- > default-configs/sparc-softmmu.mak | 1 + > hw/display/Makefile.objs | 1 + > hw/display/cg3.c | 384 > +++++++++++++++++++++++++++++++++++++ > hw/sparc/sun4m.c | 62 +++++- > include/sysemu/sysemu.h | 1 + > pc-bios/QEMU,cgthree.bin | Bin 0 -> 850 bytes > pc-bios/README | 4 +- > vl.c | 24 +++ > 9 files changed, 473 insertions(+), 6 deletions(-) > create mode 100644 hw/display/cg3.c > create mode 100644 pc-bios/QEMU,cgthree.bin > -- SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 Nürnberg, Germany GF: Jeff Hawn, Jennifer Guild, Felix Imendörffer; HRB 16746 AG Nürnberg