On 12/2/21 11:51, Jiaxun Yang wrote: > 在2021年11月30日十一月 下午9:52,Philippe Mathieu-Daudé写道: >> On 11/30/21 22:17, Jiaxun Yang wrote: >>> bl_gen_write_ulong uses sd for both 32 and 64 bit CPU, >>> while sd is illegal on 32 bit CPUs. >>> >>> Replace sd with sw on 32bit CPUs. >>> >>> Fixes: 3ebbf86 ("hw/mips: Add a bootloader helper") >>> Signed-off-by: Jiaxun Yang <jiaxun.y...@flygoat.com> >>> --- >>> Should be backported to 6.0 onwards. >>> --- >>> hw/mips/bootloader.c | 6 +++++- >>> 1 file changed, 5 insertions(+), 1 deletion(-) >>> >>> diff --git a/hw/mips/bootloader.c b/hw/mips/bootloader.c >>> index 6ec8314490..99991f8b2b 100644 >>> --- a/hw/mips/bootloader.c >>> +++ b/hw/mips/bootloader.c >>> @@ -182,7 +182,11 @@ void bl_gen_write_ulong(uint32_t **p, target_ulong >>> addr, target_ulong val) >>> { >>> bl_gen_load_ulong(p, BL_REG_K0, val); >>> bl_gen_load_ulong(p, BL_REG_K1, addr); >>> - bl_gen_sd(p, BL_REG_K0, BL_REG_K1, 0x0); >>> + if (bootcpu_supports_isa(ISA_MIPS3)) { >>> + bl_gen_sd(p, BL_REG_K0, BL_REG_K1, 0x0); >>> + } else { >>> + bl_gen_sw(p, BL_REG_K0, BL_REG_K1, 0x0); >>> + } >> >> We have bl_gen_load_ulong(); having bl_gen_store_ulong() >> would make the API even. Mind sending a patch? Otherwise: > > Should I revisit this set or start another patch?
Another patch :)