mirror of
https://github.com/qemu/qemu.git
synced 2026-07-08 17:46:17 +00:00
Linux/MIPS enables software fixups for user-mode unaligned scalar accesses by default through MIPS_FIXADE/TIF_FIXADE. QEMU linux-user did not model that ABI, so MIPS guests took fatal AdEL/AdES exceptions unless translation was forced to use unaligned host accesses. Key MIPS translation blocks on the linux-user unaligned policy, implement sysmips(MIPS_FIXADE) to toggle that policy, and raise SIGBUS/BUS_ADRALN when fixups are disabled. Reviewed-by: Richard Henderson <richard.henderson@linaro.org> Signed-off-by: James Hilliard <james.hilliard1@gmail.com> Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org> Message-Id: <20260520172313.23777-4-philmd@linaro.org>
23 lines
518 B
C
23 lines
518 B
C
#ifndef MIPS_TARGET_SYSCALL_H
|
|
#define MIPS_TARGET_SYSCALL_H
|
|
|
|
#define UNAME_MACHINE "mips"
|
|
#define UNAME_MINIMUM_RELEASE "2.6.32"
|
|
|
|
#define TARGET_CLONE_BACKWARDS
|
|
#define TARGET_MCL_CURRENT 1
|
|
#define TARGET_MCL_FUTURE 2
|
|
#define TARGET_MCL_ONFAULT 4
|
|
|
|
#define TARGET_FORCE_SHMLBA
|
|
#define TARGET_SYSMIPS_FLUSH_CACHE 3
|
|
#define TARGET_SYSMIPS_FIXADE 7
|
|
#define TARGET_SYSMIPS_ATOMIC_SET 2001
|
|
|
|
static inline abi_ulong target_shmlba(CPUMIPSState *env)
|
|
{
|
|
return 0x40000;
|
|
}
|
|
|
|
#endif /* MIPS_TARGET_SYSCALL_H */
|