diff options
author | Thomas Huth <thuth@linux.vnet.ibm.com> | 2015-02-12 18:09:28 +0100 |
---|---|---|
committer | Christian Borntraeger <borntraeger@de.ibm.com> | 2015-02-18 09:37:14 +0100 |
commit | b4ecbf8071022a2042624baaff78cab2bf7e94af (patch) | |
tree | f10840855ce40035daec2a1bcb9acbc4d6d19431 /target-s390x/mmu_helper.c | |
parent | ede59855785f1980be76d9d3b3a727954bfbc461 (diff) | |
download | qemu-b4ecbf8071022a2042624baaff78cab2bf7e94af.zip |
s390x/mmu: Check bit 52 in page table entry
Bit 52 in a page table entry has always to be zero, or a translation
specification exception is to be recognized.
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/mmu_helper.c')
-rw-r--r-- | target-s390x/mmu_helper.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/target-s390x/mmu_helper.c b/target-s390x/mmu_helper.c index 7dc9900e73..c183958787 100644 --- a/target-s390x/mmu_helper.c +++ b/target-s390x/mmu_helper.c @@ -112,7 +112,10 @@ static int mmu_translate_pte(CPUS390XState *env, target_ulong vaddr, trigger_page_fault(env, vaddr, PGM_PAGE_TRANS, asc, rw, exc); return -1; } - + if (pt_entry & _PAGE_RES0) { + trigger_page_fault(env, vaddr, PGM_TRANS_SPEC, asc, rw, exc); + return -1; + } if (pt_entry & _PAGE_RO) { *flags &= ~PAGE_WRITE; } |