From: Helge Deller <[email protected]> The HP-UX 9.05 installer's update executable use a branch instruction with reserved bits set. Real hardware ignores those bits, but QEMU treated the instruction as illegal and killed the program. Add an entry to handle this specific blr instruction (code 0xe81a4018) to avoid this crash.
Noticed-by: Keith Monahan <[email protected]> Signed-off-by: Helge Deller <[email protected]> --- target/hppa/insns.decode | 1 + 1 file changed, 1 insertion(+) diff --git a/target/hppa/insns.decode b/target/hppa/insns.decode index f700fe472e..135f563c88 100644 --- a/target/hppa/insns.decode +++ b/target/hppa/insns.decode @@ -451,6 +451,7 @@ bl 111010 ..... ..... 101 ........... n:1 . &BL l=2 \ disp=%assemble_22 b_gate 111010 ..... ..... 001 ........... . . @bl blr 111010 l:5 x:5 010 00000000000 n:1 0 +blr 111010 l:5 x:5 010 00000000110 n:1 0 # invalid BLR used in HP-UX 9.05 installer (0xe81a4018) nopbts 111010 00000 00000 010 0---------1 0 1 # clrbts/popbts nopbts 111010 00000 ----- 010 00000000000 0 1 # pushbts/pushnom bv 111010 b:5 x:5 110 00000000000 n:1 0 -- 2.54.0
