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>
This commit is contained in:
parent
d267571be4
commit
5a123b3c1a
@ -178,9 +178,8 @@ static int mmu_translate_region(CPUS390XState *env, target_ulong vaddr,
|
|||||||
__func__, origin, offs, new_entry);
|
__func__, origin, offs, new_entry);
|
||||||
|
|
||||||
if ((new_entry & _REGION_ENTRY_INV) != 0) {
|
if ((new_entry & _REGION_ENTRY_INV) != 0) {
|
||||||
/* XXX different regions have different faults */
|
|
||||||
DPRINTF("%s: invalid region\n", __func__);
|
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;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user