aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlexander Graf <agraf@suse.de>2011-04-16 10:15:11 +0200
committerAlexander Graf <agraf@suse.de>2011-05-09 22:31:38 +0200
commitd4d6868f7b18874d6371388e3c226ea235802215 (patch)
tree9e6f0d4252eae74f939f34ba2697e3f4ee0bbd61
parent64e07be544ee9c5fb5b741175262fd34726ec431 (diff)
kvm: ppc: warn user on PAGE_SIZE mismatch
On PPC, the default PAGE_SIZE is 64kb. Unfortunately, the hardware alignments don't match here: There are RAM and MMIO regions within a single page when it's 64kb in size. So the only way out for now is to tell the user that he should use 4k PAGE_SIZE. This patch gives the user a hint on that, telling him that failing to register a prefix slot is most likely to be caused by mismatching PAGE_SIZE. This way it's also more future-proof, as bigger PAGE_SIZE can easily be supported by other machines then, as long as they stick to 64kb granularities. Signed-off-by: Alexander Graf <agraf@suse.de>
-rw-r--r--kvm-all.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/kvm-all.c b/kvm-all.c
index 3b81b68b90..106eb3adbd 100644
--- a/kvm-all.c
+++ b/kvm-all.c
@@ -603,6 +603,11 @@ static void kvm_set_phys_mem(target_phys_addr_t start_addr, ram_addr_t size,
if (err) {
fprintf(stderr, "%s: error registering prefix slot: %s\n",
__func__, strerror(-err));
+#ifdef TARGET_PPC
+ fprintf(stderr, "%s: This is probably because your kernel's " \
+ "PAGE_SIZE is too big. Please try to use 4k " \
+ "PAGE_SIZE!\n", __func__);
+#endif
abort();
}
}