Home
last modified time | relevance | path

Searched hist:"2 e3a933abb8bd965db99375bfc341d2d46480995" (Results 1 – 1 of 1) sorted by relevance

/openbmc/qemu/tcg/riscv/
H A Dtcg-target.c.incdiff 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>