提交 35f1de31 编写于 作者: T ths

Fix GT-64xxx PCI mapping, by Aurelien Jarno.


git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@2471 c046a42c-6fe2-441c-8c8c-71466251a162
上级 451a4212
......@@ -222,18 +222,24 @@ typedef PCIHostState GT64120PCIState;
typedef struct GT64120State {
GT64120PCIState *pci;
uint32_t regs[GT_REGS];
target_phys_addr_t PCI0IO_start;
target_phys_addr_t PCI0IO_length;
} GT64120State;
static void gt64120_pci_mapping(GT64120State *s)
{
target_phys_addr_t start, length;
/* Update IO mapping */
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);
/* Unmap old IO address */
if (s->PCI0IO_length)
{
cpu_register_physical_memory(s->PCI0IO_start, s->PCI0IO_length, IO_MEM_UNASSIGNED);
}
/* Map new IO address */
s->PCI0IO_start = s->regs[GT_PCI0IOLD] << 21;
s->PCI0IO_length = ((s->regs[GT_PCI0IOHD] + 1) - (s->regs[GT_PCI0IOLD] & 0x7f)) << 21;
isa_mmio_init(s->PCI0IO_start, s->PCI0IO_length);
}
}
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册