Searched hist:"2 e3a933abb8bd965db99375bfc341d2d46480995" (Results 1 – 1 of 1) sorted by relevance
/openbmc/qemu/tcg/riscv/ |
H A D | tcg-target.c.inc | diff 2e3a933abb8bd965db99375bfc341d2d46480995 Sun Oct 23 18:33:37 CDT 2022 Richard Henderson <richard.henderson@linaro.org> tcg/riscv: Fix base register for user-only qemu_ld/st
When guest_base != 0, we were not coordinating the usage of TCG_REG_TMP0 as base properly, leading to a previous zero-extend of the input address being discarded.
Shuffle the alignment check to the front, because that does not depend on the zero-extend, and it keeps the register usage clear. Set base after each step of the address arithmetic instead of before.
Return the base register used from tcg_out_tlb_load, so as to keep that register choice localized to that function.
Reported-by: LIU Zhiwei <zhiwei_liu@linux.alibaba.com> Signed-off-by: Richard Henderson <richard.henderson@linaro.org> Reviewed-by: LIU Zhiwei <zhiwei_liu@linux.alibaba.com> Reviewed-by: Alistair Francis <alistair.francis@wdc.com> Message-Id: <20221023233337.2846860-1-richard.henderson@linaro.org> Signed-off-by: Alistair Francis <alistair.francis@wdc.com>
|