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 7ec09df08c01026c4123b57cdc480cd87a17259f..923073be945b5fa270c4a9826fb3c2c750df502c 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);