uint64_t *entry)
{
CPUState *cs = env_cpu(env);
+ MemTxResult ret;
/*
* According to the PoP, these table addresses are "unpredictably real
*
* We treat them as absolute addresses and don't wrap them.
*/
- if (unlikely(address_space_read(cs->as, gaddr, MEMTXATTRS_UNSPECIFIED,
- entry, sizeof(*entry)) !=
- MEMTX_OK)) {
- return false;
- }
- *entry = be64_to_cpu(*entry);
- return true;
+ *entry = address_space_ldq_be(cs->as, gaddr, MEMTXATTRS_UNSPECIFIED, &ret);
+
+ return ret == MEMTX_OK;
}
static int mmu_translate_asce(CPUS390XState *env, target_ulong vaddr,