Commit 312b403185 for qemu.org
commit 312b4031852b184e55c9ee558292030e94f8e7df
Author: Helge Deller <deller@gmx.de>
Date: Tue Nov 3 23:16:54 2026 +0100
target/hppa: Add special blr instruction for HP-UX 9.05
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 <keith@techtravels.org>
Signed-off-by: Helge Deller <deller@gmx.de>
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