mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-02 23:33:54 -06:00
target/arm: Implement LDG, STG, ST2G instructions
Reviewed-by: Peter Maydell <peter.maydell@linaro.org> Signed-off-by: Richard Henderson <richard.henderson@linaro.org> Message-id: 20200626033144.790098-16-richard.henderson@linaro.org Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
This commit is contained in:
parent
0d1762e931
commit
c15294c1e3
5 changed files with 386 additions and 5 deletions
|
@ -935,3 +935,19 @@ uint32_t HELPER(ror_cc)(CPUARMState *env, uint32_t x, uint32_t i)
|
|||
return ((uint32_t)x >> shift) | (x << (32 - shift));
|
||||
}
|
||||
}
|
||||
|
||||
void HELPER(probe_access)(CPUARMState *env, target_ulong ptr,
|
||||
uint32_t access_type, uint32_t mmu_idx,
|
||||
uint32_t size)
|
||||
{
|
||||
uint32_t in_page = -((uint32_t)ptr | TARGET_PAGE_SIZE);
|
||||
uintptr_t ra = GETPC();
|
||||
|
||||
if (likely(size <= in_page)) {
|
||||
probe_access(env, ptr, size, access_type, mmu_idx, ra);
|
||||
} else {
|
||||
probe_access(env, ptr, in_page, access_type, mmu_idx, ra);
|
||||
probe_access(env, ptr + in_page, size - in_page,
|
||||
access_type, mmu_idx, ra);
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue