mirror of
https://gitlab.com/qemu-project/qemu
synced 2024-11-05 20:35:44 +00:00
gt64xxx: fix crash in gt64120_pci_mapping()
The map/unmap code was assymetric - unmap used the local MemoryRegion while map used isa_mmio_init(), which cannot handle dynamic mappings. Fix by using isa_mmio_setup() and the local MemoryRegion. Signed-off-by: Avi Kivity <avi@redhat.com> Signed-off-by: Edgar E. Iglesias <edgar.iglesias@gmail.com>
This commit is contained in:
parent
e8906f3529
commit
89da90b1b4
1 changed files with 5 additions and 1 deletions
|
@ -297,7 +297,11 @@ static void gt64120_pci_mapping(GT64120State *s)
|
|||
s->PCI0IO_start = s->regs[GT_PCI0IOLD] << 21;
|
||||
s->PCI0IO_length = ((s->regs[GT_PCI0IOHD] + 1) - (s->regs[GT_PCI0IOLD] & 0x7f)) << 21;
|
||||
isa_mem_base = s->PCI0IO_start;
|
||||
isa_mmio_init(s->PCI0IO_start, s->PCI0IO_length);
|
||||
if (s->PCI0IO_length) {
|
||||
isa_mmio_setup(&s->PCI0IO_mem, s->PCI0IO_length);
|
||||
memory_region_add_subregion(get_system_memory(), s->PCI0IO_start,
|
||||
&s->PCI0IO_mem);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue