From 5a123b3c1a1d3540d4455772c42c466870d81061 Mon Sep 17 00:00:00 2001 From: Thomas Huth Date: Thu, 12 Feb 2015 18:09:25 +0100 Subject: [PATCH] s390x/mmu: Fix the exception codes for illegal table entries Each different level of region/segment table has a dedicated exception type for illegal entries. Signed-off-by: Thomas Huth Signed-off-by: Jens Freimann Reviewed-by: David Hildenbrand Reviewed-by: Cornelia Huck Signed-off-by: Christian Borntraeger --- target-s390x/mmu_helper.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/target-s390x/mmu_helper.c b/target-s390x/mmu_helper.c index f9eaf074d1..0c53ae92b3 100644 --- a/target-s390x/mmu_helper.c +++ b/target-s390x/mmu_helper.c @@ -178,9 +178,8 @@ static int mmu_translate_region(CPUS390XState *env, target_ulong vaddr, __func__, origin, offs, new_entry); if ((new_entry & _REGION_ENTRY_INV) != 0) { - /* XXX different regions have different faults */ DPRINTF("%s: invalid region\n", __func__); - trigger_page_fault(env, vaddr, PGM_SEGMENT_TRANS, asc, rw, exc); + trigger_page_fault(env, vaddr, pchks[level / 4], asc, rw, exc); return -1; }