projects
/
qemu.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
99fc083
)
hw/mips/bootloader: Fix write_ulong()
author
Jiaxun Yang
<jiaxun.yang@flygoat.com>
Tue, 30 Nov 2021 21:17:28 +0000
(21:17 +0000)
committer
Philippe Mathieu-Daudé
<f4bug@amsat.org>
Mon, 6 Dec 2021 10:57:31 +0000
(11:57 +0100)
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: 3ebbf86128f ("hw/mips: Add a bootloader helper")
Signed-off-by: Jiaxun Yang <jiaxun.yang@flygoat.com>
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Message-Id: <
20211130211729
.7116-2-jiaxun.yang@flygoat.com>
Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
hw/mips/bootloader.c
patch
|
blob
|
history
diff --git
a/hw/mips/bootloader.c
b/hw/mips/bootloader.c
index 6ec8314490957c57f9d08f260a958edfe335cf78..99991f8b2b5cec56bcfa6eb9103d6154d5763b9a 100644
(file)
--- 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);
+ }
}
void bl_gen_write_u32(uint32_t **p, target_ulong addr, uint32_t val)