]> xenbits.xensource.com Git - qemu-xen.git/commit
target/microblaze: Convert brk and brki to decodetree
authorRichard Henderson <richard.henderson@linaro.org>
Sun, 23 Aug 2020 16:17:22 +0000 (09:17 -0700)
committerRichard Henderson <richard.henderson@linaro.org>
Tue, 1 Sep 2020 14:43:35 +0000 (07:43 -0700)
commitf523531471c9342020cda0ef5a2eccb7d77e7e34
treec52e9f8dba13eb49436ad26f5db75dd7ae19301f
parent0c3da918de2ef8b1758d5e11b1c18c4f734c4401
target/microblaze: Convert brk and brki to decodetree

Split these out of the normal branch instructions, as they require
special handling.  Perform the entire operation inline, instead of
raising EXCP_BREAK to do the work in mb_cpu_do_interrupt.

This fixes a bug in that brki rd, imm, for imm != 0x18 is not
supposed to set MSR_BIP.  This fixes a bug in that imm == 0 is
the reset vector and 0x18 is the debug vector, and neither should
raise a tcg exception in system mode.

Introduce EXCP_SYSCALL for microblaze-linux-user.

Tested-by: Edgar E. Iglesias <edgar.iglesias@xilinx.com>
Reviewed-by: Edgar E. Iglesias <edgar.iglesias@xilinx.com>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
linux-user/microblaze/cpu_loop.c
target/microblaze/cpu.h
target/microblaze/helper.c
target/microblaze/insns.decode
target/microblaze/translate.c