mirror of https://github.com/xemu-project/xemu.git
s390x/tcg: make testblock use the new _real mmu
Low address protection checks will be moved into the mmu later. Signed-off-by: David Hildenbrand <david@redhat.com> Message-Id: <20170926183318.12995-6-david@redhat.com> Reviewed-by: Richard Henderson <richard.henderson@linaro.org> Reviewed-by: Thomas Huth <thuth@redhat.com> Signed-off-by: Cornelia Huck <cohuck@redhat.com>
This commit is contained in:
parent
4ae433417e
commit
e26131c904
|
@ -1688,17 +1688,9 @@ uint32_t HELPER(testblock)(CPUS390XState *env, uint64_t real_addr)
|
|||
{
|
||||
uintptr_t ra = GETPC();
|
||||
CPUState *cs = CPU(s390_env_get_cpu(env));
|
||||
uint64_t abs_addr;
|
||||
int i;
|
||||
|
||||
real_addr = wrap_address(env, real_addr);
|
||||
abs_addr = mmu_real2abs(env, real_addr) & TARGET_PAGE_MASK;
|
||||
if (!address_space_access_valid(&address_space_memory, abs_addr,
|
||||
TARGET_PAGE_SIZE, true)) {
|
||||
cpu_restore_state(cs, ra);
|
||||
program_interrupt(env, PGM_ADDRESSING, 4);
|
||||
return 1;
|
||||
}
|
||||
real_addr = wrap_address(env, real_addr) & TARGET_PAGE_MASK;
|
||||
|
||||
/* Check low-address protection */
|
||||
if ((env->cregs[0] & CR0_LOWPROT) && real_addr < 0x2000) {
|
||||
|
@ -1708,7 +1700,7 @@ uint32_t HELPER(testblock)(CPUS390XState *env, uint64_t real_addr)
|
|||
}
|
||||
|
||||
for (i = 0; i < TARGET_PAGE_SIZE; i += 8) {
|
||||
stq_phys(cs->as, abs_addr + i, 0);
|
||||
cpu_stq_real_ra(env, real_addr + i, 0, ra);
|
||||
}
|
||||
|
||||
return 0;
|
||||
|
|
Loading…
Reference in New Issue