aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authoraliguori <aliguori@c046a42c-6fe2-441c-8c8c-71466251a162>2008-08-18 18:00:31 +0000
committeraliguori <aliguori@c046a42c-6fe2-441c-8c8c-71466251a162>2008-08-18 18:00:31 +0000
commitca1c9e154b3b077aadf459a8aaf90196c0726452 (patch)
treee9231f19cc5800e3fa3773064466bba5f1aabe5f
parent681f8c29aaa375b2b46ff81844b9bfa594538f43 (diff)
i386: Catch all non-present ptes in cpu_get_phys_page_debug (Jan Kiszka)
It helps debugging guests when yet unmapped pages are correctly reported as, well, unmapped. Signed-off-by: Jan Kiszka <jan.kiszka@web.de> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com> git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5025 c046a42c-6fe2-441c-8c8c-71466251a162
-rw-r--r--target-i386/helper.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/target-i386/helper.c b/target-i386/helper.c
index 7962d6b381..2b59f2368a 100644
--- a/target-i386/helper.c
+++ b/target-i386/helper.c
@@ -1192,6 +1192,8 @@ target_phys_addr_t cpu_get_phys_page_debug(CPUState *env, target_ulong addr)
page_size = 4096;
pte = ldq_phys(pte_addr);
}
+ if (!(pte & PG_PRESENT_MASK))
+ return -1;
} else {
uint32_t pde;