target/arm: Pass MemOp to get_phys_addr_lpae
Pass the value through from get_phys_addr_nogpc. Reviewed-by: Helge Deller <deller@gmx.de> Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org> Reviewed-by: Peter Maydell <peter.maydell@linaro.org> Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
This commit is contained in:
parent
21e5a2870e
commit
c053f40b59
@ -1684,12 +1684,13 @@ static bool nv_nv1_enabled(CPUARMState *env, S1Translate *ptw)
|
|||||||
* @ptw: Current and next stage parameters for the walk.
|
* @ptw: Current and next stage parameters for the walk.
|
||||||
* @address: virtual address to get physical address for
|
* @address: virtual address to get physical address for
|
||||||
* @access_type: MMU_DATA_LOAD, MMU_DATA_STORE or MMU_INST_FETCH
|
* @access_type: MMU_DATA_LOAD, MMU_DATA_STORE or MMU_INST_FETCH
|
||||||
|
* @memop: memory operation feeding this access, or 0 for none
|
||||||
* @result: set on translation success,
|
* @result: set on translation success,
|
||||||
* @fi: set to fault info if the translation fails
|
* @fi: set to fault info if the translation fails
|
||||||
*/
|
*/
|
||||||
static bool get_phys_addr_lpae(CPUARMState *env, S1Translate *ptw,
|
static bool get_phys_addr_lpae(CPUARMState *env, S1Translate *ptw,
|
||||||
uint64_t address,
|
uint64_t address,
|
||||||
MMUAccessType access_type,
|
MMUAccessType access_type, MemOp memop,
|
||||||
GetPhysAddrResult *result, ARMMMUFaultInfo *fi)
|
GetPhysAddrResult *result, ARMMMUFaultInfo *fi)
|
||||||
{
|
{
|
||||||
ARMCPU *cpu = env_archcpu(env);
|
ARMCPU *cpu = env_archcpu(env);
|
||||||
@ -3534,7 +3535,8 @@ static bool get_phys_addr_nogpc(CPUARMState *env, S1Translate *ptw,
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (regime_using_lpae_format(env, mmu_idx)) {
|
if (regime_using_lpae_format(env, mmu_idx)) {
|
||||||
return get_phys_addr_lpae(env, ptw, address, access_type, result, fi);
|
return get_phys_addr_lpae(env, ptw, address, access_type,
|
||||||
|
memop, result, fi);
|
||||||
} else if (arm_feature(env, ARM_FEATURE_V7) ||
|
} else if (arm_feature(env, ARM_FEATURE_V7) ||
|
||||||
regime_sctlr(env, mmu_idx) & SCTLR_XP) {
|
regime_sctlr(env, mmu_idx) & SCTLR_XP) {
|
||||||
return get_phys_addr_v6(env, ptw, address, access_type, result, fi);
|
return get_phys_addr_v6(env, ptw, address, access_type, result, fi);
|
||||||
|
Loading…
Reference in New Issue
Block a user