]> git.ipfire.org Git - thirdparty/qemu.git/commitdiff
Fix GT64120 mapping with REDBOOT, by Aurelien Jarno.
authorths <ths@c046a42c-6fe2-441c-8c8c-71466251a162>
Wed, 31 Jan 2007 12:02:12 +0000 (12:02 +0000)
committerths <ths@c046a42c-6fe2-441c-8c8c-71466251a162>
Wed, 31 Jan 2007 12:02:12 +0000 (12:02 +0000)
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@2366 c046a42c-6fe2-441c-8c8c-71466251a162

hw/gt64xxx.c

index 84e041fcfcb3e0112cef33494eef6bb4bfb6a55f..ccb6a7c1a2b0fd2fc35c418fcdefbd36ff861c0c 100644 (file)
@@ -229,9 +229,12 @@ static void gt64120_pci_mapping(GT64120State *s)
     target_phys_addr_t start, length;             
 
     /* Update IO mapping */
-    start = s->regs[GT_PCI0IOLD] << 21;
-    length = ((s->regs[GT_PCI0IOHD] + 1) - (s->regs[GT_PCI0IOLD] & 0x7f)) << 21;
-    isa_mmio_init(start, length);
+    if ((s->regs[GT_PCI0IOLD] & 0x7f) <= s->regs[GT_PCI0IOHD])
+    {
+      start = s->regs[GT_PCI0IOLD] << 21;
+      length = ((s->regs[GT_PCI0IOHD] + 1) - (s->regs[GT_PCI0IOLD] & 0x7f)) << 21;
+      isa_mmio_init(start, length);
+    }
 }
 
 static void gt64120_writel (void *opaque, target_phys_addr_t addr,