Message ID | 20250525160220.222154-3-richard.henderson@linaro.org |
---|---|
State | New |
Headers | show |
Series | target/microblaze: Always use TARGET_LONG_BITS == 32 | expand |
On Sun, May 25, 2025 at 05:02:12PM +0100, Richard Henderson wrote: > Signed-off-by: Richard Henderson <richard.henderson@linaro.org> Reviewed-by: Edgar E. Iglesias <edgar.iglesias@amd.com> > --- > target/microblaze/helper.h | 12 ++++++------ > target/microblaze/helper.c | 7 +++++++ > 2 files changed, 13 insertions(+), 6 deletions(-) > > diff --git a/target/microblaze/helper.h b/target/microblaze/helper.h > index f740835fcb..41f56a5601 100644 > --- a/target/microblaze/helper.h > +++ b/target/microblaze/helper.h > @@ -20,12 +20,12 @@ DEF_HELPER_FLAGS_3(fcmp_ne, TCG_CALL_NO_WG, i32, env, i32, i32) > DEF_HELPER_FLAGS_3(fcmp_ge, TCG_CALL_NO_WG, i32, env, i32, i32) > > DEF_HELPER_FLAGS_2(pcmpbf, TCG_CALL_NO_RWG_SE, i32, i32, i32) > -#if !defined(CONFIG_USER_ONLY) > -DEF_HELPER_FLAGS_3(mmu_read, TCG_CALL_NO_RWG, i32, env, i32, i32) > -DEF_HELPER_FLAGS_4(mmu_write, TCG_CALL_NO_RWG, void, env, i32, i32, i32) > -#endif > - > DEF_HELPER_FLAGS_2(stackprot, TCG_CALL_NO_WG, void, env, tl) > - > DEF_HELPER_FLAGS_2(get, TCG_CALL_NO_RWG, i32, i32, i32) > DEF_HELPER_FLAGS_3(put, TCG_CALL_NO_RWG, void, i32, i32, i32) > + > +#ifndef CONFIG_USER_ONLY > +DEF_HELPER_FLAGS_3(mmu_read, TCG_CALL_NO_RWG, i32, env, i32, i32) > +DEF_HELPER_FLAGS_4(mmu_write, TCG_CALL_NO_RWG, void, env, i32, i32, i32) > +DEF_HELPER_FLAGS_2(unaligned_access, TCG_CALL_NO_WG, noreturn, env, i64) > +#endif > diff --git a/target/microblaze/helper.c b/target/microblaze/helper.c > index 5fe81e4b16..ef0e2f973f 100644 > --- a/target/microblaze/helper.c > +++ b/target/microblaze/helper.c > @@ -26,6 +26,7 @@ > #include "exec/target_page.h" > #include "qemu/host-utils.h" > #include "exec/log.h" > +#include "exec/helper-proto.h" > > > G_NORETURN > @@ -64,6 +65,12 @@ void mb_cpu_do_unaligned_access(CPUState *cs, vaddr addr, > } > > #ifndef CONFIG_USER_ONLY > + > +void HELPER(unaligned_access)(CPUMBState *env, uint64_t addr) > +{ > + mb_unaligned_access_internal(env_cpu(env), addr, GETPC()); > +} > + > static bool mb_cpu_access_is_secure(MicroBlazeCPU *cpu, > MMUAccessType access_type) > { > -- > 2.43.0 >
diff --git a/target/microblaze/helper.h b/target/microblaze/helper.h index f740835fcb..41f56a5601 100644 --- a/target/microblaze/helper.h +++ b/target/microblaze/helper.h @@ -20,12 +20,12 @@ DEF_HELPER_FLAGS_3(fcmp_ne, TCG_CALL_NO_WG, i32, env, i32, i32) DEF_HELPER_FLAGS_3(fcmp_ge, TCG_CALL_NO_WG, i32, env, i32, i32) DEF_HELPER_FLAGS_2(pcmpbf, TCG_CALL_NO_RWG_SE, i32, i32, i32) -#if !defined(CONFIG_USER_ONLY) -DEF_HELPER_FLAGS_3(mmu_read, TCG_CALL_NO_RWG, i32, env, i32, i32) -DEF_HELPER_FLAGS_4(mmu_write, TCG_CALL_NO_RWG, void, env, i32, i32, i32) -#endif - DEF_HELPER_FLAGS_2(stackprot, TCG_CALL_NO_WG, void, env, tl) - DEF_HELPER_FLAGS_2(get, TCG_CALL_NO_RWG, i32, i32, i32) DEF_HELPER_FLAGS_3(put, TCG_CALL_NO_RWG, void, i32, i32, i32) + +#ifndef CONFIG_USER_ONLY +DEF_HELPER_FLAGS_3(mmu_read, TCG_CALL_NO_RWG, i32, env, i32, i32) +DEF_HELPER_FLAGS_4(mmu_write, TCG_CALL_NO_RWG, void, env, i32, i32, i32) +DEF_HELPER_FLAGS_2(unaligned_access, TCG_CALL_NO_WG, noreturn, env, i64) +#endif diff --git a/target/microblaze/helper.c b/target/microblaze/helper.c index 5fe81e4b16..ef0e2f973f 100644 --- a/target/microblaze/helper.c +++ b/target/microblaze/helper.c @@ -26,6 +26,7 @@ #include "exec/target_page.h" #include "qemu/host-utils.h" #include "exec/log.h" +#include "exec/helper-proto.h" G_NORETURN @@ -64,6 +65,12 @@ void mb_cpu_do_unaligned_access(CPUState *cs, vaddr addr, } #ifndef CONFIG_USER_ONLY + +void HELPER(unaligned_access)(CPUMBState *env, uint64_t addr) +{ + mb_unaligned_access_internal(env_cpu(env), addr, GETPC()); +} + static bool mb_cpu_access_is_secure(MicroBlazeCPU *cpu, MMUAccessType access_type) {
Signed-off-by: Richard Henderson <richard.henderson@linaro.org> --- target/microblaze/helper.h | 12 ++++++------ target/microblaze/helper.c | 7 +++++++ 2 files changed, 13 insertions(+), 6 deletions(-)