/**
* get_phys_addr_lpae: perform one stage of page table walk, LPAE format
*
- * Returns false if the translation was successful. Otherwise, phys_ptr,
+ * Returns true if the translation was successful. Otherwise, phys_ptr,
* attrs, prot and page_size may not be filled in, and the populated fsr
* value provides information on why the translation aborted, in the format
* of a long-format DFSR/IFSR fault register, with the following caveat:
result->f.phys_addr = descaddr;
result->f.lg_page_size = ctz64(page_size);
- return false;
+ return true;
do_translation_fault:
fi->type = ARMFault_Translation;
fi->stage2 = regime_is_stage2(mmu_idx);
}
fi->s1ns = fault_s1ns(ptw->cur_space, mmu_idx);
- return true;
+ return false;
}
static bool get_phys_addr_pmsav5(CPUARMState *env,
}
if (regime_using_lpae_format(env, mmu_idx)) {
- return get_phys_addr_lpae(env, ptw, address, access_type,
+ return !get_phys_addr_lpae(env, ptw, address, access_type,
memop, result, fi);
} else if (arm_feature(env, ARM_FEATURE_V7) ||
regime_sctlr(env, mmu_idx) & SCTLR_XP) {