Richard Henderson
52065d8f46
target/microblaze: Convert dec_stream to decodetree
...
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 >
2020-09-01 07:43:35 -07:00
Richard Henderson
9df297a2d8
target/microblaze: Convert dec_msr to decodetree
...
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 >
2020-09-01 07:43:35 -07:00
Richard Henderson
536e340f46
target/microblaze: Convert msrclr, msrset to decodetree
...
Split this out of dec_msr.
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 >
2020-09-01 07:43:35 -07:00
Richard Henderson
e6cb035488
target/microblaze: Convert dec_rts to decodetree
...
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 >
2020-09-01 07:43:35 -07:00
Richard Henderson
fd77911304
target/microblaze: Convert dec_bcc to decodetree
...
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 >
2020-09-01 07:43:35 -07:00
Richard Henderson
16bbbbc91a
target/microblaze: Convert dec_br to decodetree
...
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 >
2020-09-01 07:43:35 -07:00
Richard Henderson
ee8c7f9f9a
target/microblaze: Convert mbar to decodetree
...
Split this out of the normal branch instructions,
as it requires special handling.
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 >
2020-09-01 07:43:35 -07:00
Richard Henderson
f523531471
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 >
2020-09-01 07:43:35 -07:00
Richard Henderson
d8e59c4a6f
target/microblaze: Convert dec_load and dec_store to decodetree
...
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 >
2020-09-01 07:41:38 -07:00
Richard Henderson
d5aead3df4
target/microblaze: Convert dec_fpu to decodetree
...
The current dec_check_fpuv2 test, raising an FPU exception for
an unimplemented instruction, appears to be contradictory to
the manual. Drop that and merely check use_fpu == 2.
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 >
2020-09-01 07:41:38 -07:00
Richard Henderson
e64b2e5cfe
target/microblaze: Convert dec_imm to decodetree
...
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 >
2020-09-01 07:41:38 -07:00
Richard Henderson
081d8e02c3
target/microblaze: Convert dec_barrel to decodetree
...
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 >
2020-09-01 07:41:38 -07:00
Richard Henderson
39cf386458
target/microblaze: Convert dec_bit to decodetree
...
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 >
2020-09-01 07:41:38 -07:00
Richard Henderson
b1354342c1
target/microblaze: Convert dec_div to decodetree
...
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 >
2020-09-01 07:41:38 -07:00
Richard Henderson
97955ceb42
target/microblaze: Convert dec_mul to decodetree
...
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 >
2020-09-01 07:41:38 -07:00
Richard Henderson
cb0a0a4c86
target/microblaze: Convert dec_and, dec_or, dec_xor to decodetree
...
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 >
2020-09-01 07:41:38 -07:00
Richard Henderson
607f576762
target/microblaze: Convert dec_pattern to decodetree
...
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 >
2020-09-01 07:41:38 -07:00
Richard Henderson
a2b0b90e79
target/microblaze: Convert dec_sub to decodetree
...
Use tcg_gen_add2_i32 for computing carry.
This removes the last use of helper_carry, so remove that.
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 >
2020-09-01 07:41:38 -07:00
Richard Henderson
2080017965
target/microblaze: Convert dec_add to decodetree
...
Adds infrastrucure for translation of instructions, which could
not be added before their first use. Cache a temporary which
represents r0 as the immediate 0 value, or a sink.
Move the special case of opcode_0_illegal from old_decode()
into decodetree as well, lest this get interpreted as add.
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 >
2020-09-01 07:41:38 -07:00
Richard Henderson
44d1432ba2
target/microblaze: Add decodetree infrastructure
...
The new interface is a stub that recognizes no instructions.
It falls back to the old decoder for all instructions.
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 >
2020-09-01 07:41:38 -07:00