From: blueswir1 Date: Thu, 20 Sep 2007 16:01:51 +0000 (+0000) Subject: Change ldl_phys to cpu_physical_memory_read, fix pte address X-Git-Url: http://git.osdn.net/view?a=commitdiff_plain;h=5e3b100b65ea3af8e9a31507541e26d5e439e377;p=qmiga%2Fqemu.git 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 --- diff --git a/hw/iommu.c b/hw/iommu.c index c36178cdcd..c9b9db57dc 100644 --- a/hw/iommu.c +++ b/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; }