mirror of
https://github.com/qemu/qemu.git
synced 2024-11-29 23:03:41 +08:00
Change ldl_phys to cpu_physical_memory_read, fix pte address
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3197 c046a42c-6fe2-441c-8c8c-71466251a162
This commit is contained in:
parent
d69d2ca9b4
commit
5e3b100b65
10
hw/iommu.c
10
hw/iommu.c
@ -202,7 +202,8 @@ static CPUWriteMemoryFunc *iommu_mem_write[3] = {
|
||||
|
||||
static uint32_t iommu_page_get_flags(IOMMUState *s, target_phys_addr_t addr)
|
||||
{
|
||||
uint32_t iopte, ret;
|
||||
uint32_t ret;
|
||||
target_phys_addr_t iopte;
|
||||
#ifdef DEBUG_IOMMU
|
||||
target_phys_addr_t pa = addr;
|
||||
#endif
|
||||
@ -210,9 +211,10 @@ static uint32_t iommu_page_get_flags(IOMMUState *s, target_phys_addr_t addr)
|
||||
iopte = s->regs[IOMMU_BASE] << 4;
|
||||
addr &= ~s->iostart;
|
||||
iopte += (addr >> (PAGE_SHIFT - 2)) & ~3;
|
||||
ret = ldl_phys(iopte);
|
||||
DPRINTF("get flags addr " TARGET_FMT_plx " => pte %x, *ptes = %x\n", pa,
|
||||
iopte, ret);
|
||||
cpu_physical_memory_read(iopte, (uint8_t *)&ret, 4);
|
||||
bswap32s(&ret);
|
||||
DPRINTF("get flags addr " TARGET_FMT_plx " => pte " TARGET_FMT_plx
|
||||
", *pte = %x\n", pa, iopte, ret);
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user