gt64xxx: set isa_mem_base during registration
authorAurelien Jarno <aurelien@aurel32.net>
Thu, 20 Jan 2011 20:40:53 +0000 (21:40 +0100)
committerAurelien Jarno <aurelien@aurel32.net>
Thu, 20 Jan 2011 20:40:53 +0000 (21:40 +0100)
isa_mem_base is computed from registers during reset, but due to QEMU
limitations some devices (e.g. VGA card) need to know it earlier when
they are registered.

Workaround this by setting the value during registration instead of
reset.

Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
hw/gt64xxx.c

index 7ec09df..923073b 100644 (file)
@@ -1125,6 +1125,11 @@ static int gt64120_init(SysBusDevice *dev)
 
     s = FROM_SYSBUS(GT64120State, dev);
 
+    /* FIXME: This value is computed from registers during reset, but some
+       devices (e.g. VGA card) need to know it when they are registered.
+       This also mean that changing the register to change the mapping
+       does not fully work. */
+    isa_mem_base = 0x10000000;
     qemu_register_reset(gt64120_reset, s);
     register_savevm(&dev->qdev, "GT64120 PCI Bus", 0, 1,
                     gt64120_save, gt64120_load, &s->pci);