OSDN Git Service

Do not attempt to set page flags for pages outside target address space
authorblueswir1 <blueswir1@c046a42c-6fe2-441c-8c8c-71466251a162>
Sat, 3 May 2008 17:51:24 +0000 (17:51 +0000)
committerblueswir1 <blueswir1@c046a42c-6fe2-441c-8c8c-71466251a162>
Sat, 3 May 2008 17:51:24 +0000 (17:51 +0000)
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@4310 c046a42c-6fe2-441c-8c8c-71466251a162

exec.c

diff --git a/exec.c b/exec.c
index d9e959d..eb3c8ab 100644 (file)
--- a/exec.c
+++ b/exec.c
@@ -227,6 +227,10 @@ static void page_init(void)
             do {
                 n = fscanf (f, "%llx-%llx %*[^\n]\n", &startaddr, &endaddr);
                 if (n == 2) {
+                    startaddr = MIN(startaddr,
+                                    (1ULL << TARGET_PHYS_ADDR_SPACE_BITS) - 1);
+                    endaddr = MIN(endaddr,
+                                    (1ULL << TARGET_PHYS_ADDR_SPACE_BITS) - 1);
                     page_set_flags(TARGET_PAGE_ALIGN(startaddr),
                                    TARGET_PAGE_ALIGN(endaddr),
                                    PAGE_RESERVED);