g_assert(dxc <= 0xff);
#if !defined(CONFIG_USER_ONLY)
/* Store the DXC into the lowcore */
- stl_be_phys(env_cpu(env)->as,
- env->psa + offsetof(LowCore, data_exc_code), dxc);
+ address_space_stl_be(env_cpu(env)->as,
+ env->psa + offsetof(LowCore, data_exc_code), dxc,
+ MEMTXATTRS_UNSPECIFIED, NULL);
#endif
/* Store the DXC into the FPC if AFP is enabled */
g_assert(vxc <= 0xff);
#if !defined(CONFIG_USER_ONLY)
/* Always store the VXC into the lowcore, without AFP it is undefined */
- stl_be_phys(env_cpu(env)->as,
- env->psa + offsetof(LowCore, data_exc_code), vxc);
+ address_space_stl_be(env_cpu(env)->as,
+ env->psa + offsetof(LowCore, data_exc_code), vxc,
+ MEMTXATTRS_UNSPECIFIED, NULL);
#endif
/* Always store the VXC into the FPC, without AFP it is undefined */
uint64_t monitor_code,
uint8_t monitor_class, uintptr_t ra)
{
+ const MemTxAttrs attrs = MEMTXATTRS_UNSPECIFIED;
+ AddressSpace *as = env_cpu(env)->as;
+
/* Store the Monitor Code and the Monitor Class Number into the lowcore */
- stq_be_phys(env_cpu(env)->as,
- env->psa + offsetof(LowCore, monitor_code), monitor_code);
- stw_be_phys(env_cpu(env)->as,
- env->psa + offsetof(LowCore, mon_class_num), monitor_class);
+ address_space_stq_be(as, env->psa + offsetof(LowCore, monitor_code),
+ monitor_code, attrs, NULL);
+ address_space_stw_be(as, env->psa + offsetof(LowCore, mon_class_num),
+ monitor_class, attrs, NULL);
tcg_s390_program_interrupt(env, PGM_MONITOR, ra);
}
#else
#include "hw/s390x/storage-keys.h"
#include "hw/core/boards.h"
+#include "system/memory.h"
#endif
#ifdef CONFIG_USER_ONLY
inject_exc:
#if !defined(CONFIG_USER_ONLY)
if (exc != PGM_ADDRESSING) {
- stq_be_phys(env_cpu(env)->as,
- env->psa + offsetof(LowCore, trans_exc_code),
- env->tlb_fill_tec);
+ address_space_stq_be(env_cpu(env)->as,
+ env->psa + offsetof(LowCore, trans_exc_code),
+ env->tlb_fill_tec, MEMTXATTRS_UNSPECIFIED, NULL);
}
if (exc == PGM_PAGE_TRANS) {
- stb_phys(env_cpu(env)->as, env->psa + offsetof(LowCore, op_access_id),
- r1 << 4 | r2);
+ address_space_stb(env_cpu(env)->as,
+ env->psa + offsetof(LowCore, op_access_id),
+ r1 << 4 | r2, MEMTXATTRS_UNSPECIFIED, NULL);
}
#endif
tcg_s390_program_interrupt(env, exc, ra);