diff options
author | Thomas Huth <thuth@linux.vnet.ibm.com> | 2015-02-12 18:09:25 +0100 |
---|---|---|
committer | Christian Borntraeger <borntraeger@de.ibm.com> | 2015-02-18 09:37:14 +0100 |
commit | 5a123b3c1a1d3540d4455772c42c466870d81061 (patch) | |
tree | 75aa479f591c945bf01f658b8c1a333a7e45e027 /target-s390x | |
parent | d267571be419d389184916b56f862a8f143e67c5 (diff) |
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 <thuth@linux.vnet.ibm.com>
Signed-off-by: Jens Freimann <jfrei@linux.vnet.ibm.com>
Reviewed-by: David Hildenbrand <dahi@linux.vnet.ibm.com>
Reviewed-by: Cornelia Huck <cornelia.huck@de.ibm.com>
Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com>
Diffstat (limited to 'target-s390x')
-rw-r--r-- | target-s390x/mmu_helper.c | 3 |
1 files changed, 1 insertions, 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; } |