The print function is listed in the vector table as 0xbfc00808. The backedge of the loop is improperly encoded, and so jumps to 0xb0000814 instead of the desired 0xbfc00814.
Signed-off-by: Andrew Drake <adr...@adrake.org> --- hw/mips_malta.c | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/hw/mips_malta.c b/hw/mips_malta.c index a0adb56..d4820c3 100644 --- a/hw/mips_malta.c +++ b/hw/mips_malta.c @@ -605,7 +605,7 @@ static void write_bootloader (CPUState *env, uint8_t *base, stl_raw(p++, 0x00000000); /* nop */ stl_raw(p++, 0x0ff0021c); /* jal 870 */ stl_raw(p++, 0x00000000); /* nop */ - stl_raw(p++, 0x08000205); /* j 814 */ + stl_raw(p++, 0x0bf00205); /* j 814 */ stl_raw(p++, 0x00000000); /* nop */ stl_raw(p++, 0x01a00008); /* jr t5 */ stl_raw(p++, 0x01602021); /* move a0,t3 */ -- 1.7.1