On 3/31/22 19:49, Alistair Francis wrote:
+void helper_atomic_check(CPURISCVState *env, target_ulong address,
+ int mmu_idx)
+{
+#ifndef CONFIG_USER_ONLY
+ void *phost;
+ int ret = probe_access_flags(env, address, MMU_DATA_STORE, mmu_idx, false,
+ &phost, GETPC());
+
+ if (ret & TLB_MMIO) {
+ env->amo_store_fault = true;
+ }
+#endif
+}
You've got to turn this off somewhere too.
I've got a better solution for you, using TARGET_INSN_START_EXTRA_WORDS, which will handle
I/O regions as well. I'll send it separately in a minute.
r~