mirror of https://github.com/xqemu/xqemu.git
sparc: avoid cpu_get_physical_page_desc()
This reaches into the innards of the memory core, which are being changed. Switch to a memory API version. Signed-off-by: Avi Kivity <avi@redhat.com>
This commit is contained in:
parent
b7c28c74af
commit
cc4aa8307c
|
@ -19,6 +19,7 @@
|
||||||
|
|
||||||
#include "cpu.h"
|
#include "cpu.h"
|
||||||
#include "trace.h"
|
#include "trace.h"
|
||||||
|
#include "exec-memory.h"
|
||||||
|
|
||||||
/* Sparc MMU emulation */
|
/* Sparc MMU emulation */
|
||||||
|
|
||||||
|
@ -839,13 +840,15 @@ target_phys_addr_t cpu_get_phys_page_debug(CPUState *env, target_ulong addr)
|
||||||
{
|
{
|
||||||
target_phys_addr_t phys_addr;
|
target_phys_addr_t phys_addr;
|
||||||
int mmu_idx = cpu_mmu_index(env);
|
int mmu_idx = cpu_mmu_index(env);
|
||||||
|
MemoryRegionSection section;
|
||||||
|
|
||||||
if (cpu_sparc_get_phys_page(env, &phys_addr, addr, 2, mmu_idx) != 0) {
|
if (cpu_sparc_get_phys_page(env, &phys_addr, addr, 2, mmu_idx) != 0) {
|
||||||
if (cpu_sparc_get_phys_page(env, &phys_addr, addr, 0, mmu_idx) != 0) {
|
if (cpu_sparc_get_phys_page(env, &phys_addr, addr, 0, mmu_idx) != 0) {
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (cpu_get_physical_page_desc(phys_addr) == IO_MEM_UNASSIGNED) {
|
section = memory_region_find(get_system_memory(), phys_addr, 1);
|
||||||
|
if (!section.size) {
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
return phys_addr;
|
return phys_addr;
|
||||||
|
|
Loading…
Reference in New Issue