target/nios2: Remove TARGET_ALIGNED_ONLY
In gen_ldx/gen_stx, the only two locations for memory operations, mark the operation as either aligned (softmmu) or unaligned (user-only, as if emulated by the kernel). Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org> Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
This commit is contained in:
parent
0e85e81b42
commit
a978c37b27
@ -1,3 +1,2 @@
|
||||
TARGET_ARCH=nios2
|
||||
TARGET_ALIGNED_ONLY=y
|
||||
TARGET_NEED_FDT=y
|
||||
|
@ -298,6 +298,11 @@ static void gen_ldx(DisasContext *dc, uint32_t code, uint32_t flags)
|
||||
TCGv data = dest_gpr(dc, instr.b);
|
||||
|
||||
tcg_gen_addi_tl(addr, load_gpr(dc, instr.a), instr.imm16.s);
|
||||
#ifdef CONFIG_USER_ONLY
|
||||
flags |= MO_UNALN;
|
||||
#else
|
||||
flags |= MO_ALIGN;
|
||||
#endif
|
||||
tcg_gen_qemu_ld_tl(data, addr, dc->mem_idx, flags);
|
||||
}
|
||||
|
||||
@ -309,6 +314,11 @@ static void gen_stx(DisasContext *dc, uint32_t code, uint32_t flags)
|
||||
|
||||
TCGv addr = tcg_temp_new();
|
||||
tcg_gen_addi_tl(addr, load_gpr(dc, instr.a), instr.imm16.s);
|
||||
#ifdef CONFIG_USER_ONLY
|
||||
flags |= MO_UNALN;
|
||||
#else
|
||||
flags |= MO_ALIGN;
|
||||
#endif
|
||||
tcg_gen_qemu_st_tl(val, addr, dc->mem_idx, flags);
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user