]> www.infradead.org Git - users/dwmw2/qemu.git/commitdiff
target/sparc: remove MemoryRegionSection check code from sparc_cpu_get_phys_page_debug()
authorJean-Christophe Dubois <jcd@tribudubois.net>
Wed, 22 Nov 2017 06:32:50 +0000 (07:32 +0100)
committerMark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
Tue, 9 Jan 2018 21:31:31 +0000 (21:31 +0000)
This code is preventing the MMU debug code from displaying virtual
mappings of IO devices (anything that is not located in the RAM).

Before this patch, Qemu would output 0xffffffffffffffff (-1) as the
physical address corresponding to an IO device virtual address.

With this patch the intended physical address is displayed.

Signed-off-by: Jean-Christophe Dubois <jcd@tribudubois.net>
Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
target/sparc/mmu_helper.c

index d5b6c1e48ccc2ad3e8a47fcc45abcc60ca67ec46..f2d2250e7abc95913101f8ab0c0937a3943e270a 100644 (file)
@@ -857,18 +857,12 @@ hwaddr sparc_cpu_get_phys_page_debug(CPUState *cs, vaddr addr)
     CPUSPARCState *env = &cpu->env;
     hwaddr phys_addr;
     int mmu_idx = cpu_mmu_index(env, false);
-    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, 0, mmu_idx) != 0) {
             return -1;
         }
     }
-    section = memory_region_find(get_system_memory(), phys_addr, 1);
-    memory_region_unref(section.mr);
-    if (!int128_nz(section.size)) {
-        return -1;
-    }
     return phys_addr;
 }
 #endif