|
From: | Richard Henderson |
Subject: | Re: [Qemu-devel] [PATCH v1] target/s390x: Add support for the TEST BLOCK instruction |
Date: | Tue, 16 May 2017 12:06:24 -0700 |
User-agent: | Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.1.0 |
On 05/16/2017 02:28 AM, Thomas Huth wrote:
+void HELPER(testblock)(CPUS390XState *env, uint64_t addr) +{ + CPUState *cs = CPU(s390_env_get_cpu(env)); + int i; + + addr = get_address(env, 0, 0, addr) & ~0xfffULL; + for (i = 0; i < TARGET_PAGE_SIZE; i += 8) { + stq_phys(cs->as, addr + i, 0); + } + env->cc_op = 0; +}
This needs several changes: check that the physical page does indeed exist, "low address protection", return the cc code.
+DEF_HELPER_2(testblock, void, env, i64)
With cc returned, this becomes DEF_HELPER_FLAGS_2(testblock, TCG_CALL_NO_RWG, i32, env, i64) r~
[Prev in Thread] | Current Thread | [Next in Thread] |