billy lau wrote:
> Basically, I have just commented out all calls to pci_cirrus_vga_init,
> isa_cirrus_vga_init, pci_vmsvga_init, pci_vga_init and isa_vga_init in
> hw/pc.c, and also load_image_targphys() for loading vgabios, like what
> you have suggested.
It works well for me, I tested it with a Linux HVM guest using the
serial port.
I used the following patch:
---
diff -r 0ea6bd53cfb6 hw/pc.c
--- a/hw/pc.c Thu Oct 23 10:26:02 2008 +0100
+++ b/hw/pc.c Mon Dec 15 12:05:54 2008 +0000
@@ -854,7 +854,7 @@
goto vga_bios_error;
vga_bios_offset = qemu_ram_alloc(65536);
- ret = load_image_targphys(buf, vga_bios_offset, vga_bios_size);
+ ret = vga_bios_size;
if (ret != vga_bios_size) {
vga_bios_error:
fprintf(stderr, "qemu: could not load VGA BIOS '%s'\n", buf);
@@ -930,31 +930,6 @@
register_ioport_write(0x80, 1, 1, ioport80_write, NULL);
register_ioport_write(0xf0, 1, 1, ioportF0_write, NULL);
-
- if (cirrus_vga_enabled) {
- if (pci_enabled) {
- pci_cirrus_vga_init(pci_bus,
- ds, phys_ram_base + vga_ram_addr,
- vga_ram_addr, vga_ram_size);
- } else {
- isa_cirrus_vga_init(ds, phys_ram_base + vga_ram_addr,
- vga_ram_addr, vga_ram_size);
- }
- } else if (vmsvga_enabled) {
- if (pci_enabled)
- pci_vmsvga_init(pci_bus, ds, phys_ram_base + vga_ram_addr,
- vga_ram_addr, vga_ram_size);
- else
- fprintf(stderr, "%s: vmware_vga: no PCI bus\n", __FUNCTION__);
- } else {
- if (pci_enabled) {
- pci_vga_init(pci_bus, ds, phys_ram_base + vga_ram_addr,
- vga_ram_addr, vga_ram_size, 0, 0);
- } else {
- isa_vga_init(ds, phys_ram_base + vga_ram_addr,
- vga_ram_addr, vga_ram_size);
- }
- }
#ifdef CONFIG_PASSTHROUGH
/* Pass-through Initialization
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel
|