History | View | Annotate | Download (35.8 kB)
tci: Use 32-bit signed offsets to loads/stores
Since the change to tcg_exit_req, the first insn of every TB isa load with a negative offset from env.
Signed-off-by: Richard Henderson <rth@twiddle.net>Signed-off by: Stefan Weil <sw@weilnetz.de>
tci: Use a local variable for env
Since we have total conversion away from global AREG0, we do notneed a global variable named "env". Retain that name as thefunction parameter inside the interpreter.
Signed-off-by: Richard Henderson <rth@twiddle.net>...
tci: Avoid code before declarations
This only valid with c99 extensions enabled, and easy to avoid.
tci: Make tcg temporaries local to tcg_qemu_tb_exec
We're moving away from the temporaries stored in env. Make sure we candifferentiate between temp stores and possibly bogus stores for extracall arguments. Move TCG_AREG0 and TCG_REG_CALL_STACK out of the way...
exec: move include files to include/exec/
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
tci: Fix type of tci_read_label
Fixes the pointer truncation that was occurring for branches.
Cc: Stefan Weil <sw@weilnetz.de>Cc: Blue Swirl <blauwirbel@gmail.com>Signed-off-by: Richard Henderson <rth@twiddle.net>Reviewed-by: Stefan Weil <sw@weilnetz.de>...
tci: Support deposit operations
The operations for INDEX_op_deposit_i32 and INDEX_op_deposit_i64are now supported and enabled by default.
Signed-off-by: Stefan Weil <sw@weilnetz.de>Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
tcg: remove obsolete jmp op
The TCG jmp operation doesn't really make sense in the QEMU context, itis unused, it is not implemented by some targets, and it is wronglyimplemented by some others.
This patch simply removes it.
Reviewed-by: Richard Henderson <rth@twiddle.net>...
tci: Fix for AREG0 free mode
Support for helper functions with 5 arguments was missingin the code generator and in the interpreter.
There is no need to pass the constant TCG_AREG0 from thecode generator to the interpreter. Remove that code forthe INDEX_op_qemu_st* opcodes....
Remove unused CONFIG_TCG_PASS_AREG0 and dead code
Now that CONFIG_TCG_PASS_AREG0 is enabled for all targets,remove dead code and support for !CONFIG_TCG_PASS_AREG0 case.
Remove dyngen-exec.h and all references to it. Although included byhw/spapr_hcall.c, it does not seem to use it....
tci: Support INDEX_op_bswap64_i64
Running the Windows 7 (64 bit) boot process needs INDEX_op_bswap64_i64.It was already implemented, but untested. Remove the TODO statement.
Signed-off-by: Stefan Weil <sw@weilnetz.de>Signed-off-by: Stefan Hajnoczi <stefanha@linux.vnet.ibm.com>
tci: Fix wrong macro name for debug code
Code which is compiled with CONFIG_TCG_DEBUG (set by configure option--enable-debug-tcg) should not disable the assert macro bydefining NDEBUG.
With the wrong macro name CONFIG_TCG_DEBUG, all assertions in tci.c...
tci: GETPC macro must return an uintptr_t
Change the data type of tci_tb_ptr, so GETPC returns anuintptr_t now (like for all other TCG targets).
This completes commit 2050396801ca0c8359364d61eaadece951006057and fixes builds with TCI.
Signed-off-by: Stefan Weil <sw@weilnetz.de>...
tci: Support targets with CONFIG_TCG_PASS_AREG0 (fix broken build)
Builds with --enable-tcg-interpreter failed because more and moretargets (currently alpha and sparc) replaced the global env in AREG0by function parameters.
Convert the TCG interpreter to use the new helper functions and add...
w64: Fix data type of next_tb and tcg_qemu_tb_exec
next_tb is the numeric value of a tcg target (= QEMU host) address.
Using tcg_target_ulong instead of unsigned long shows this and makesthe code portable for hosts with an unusual size of long (w64).
The type cast '(long)(next_tb & ~3)' was not needed (casting...
Rename CPUState -> CPUArchState
Scripted conversion: for file in .[hc] hw/.[hc] hw/kvm/*.[hc] linux-user/*.[hc] linux-user/m68k/*.[hc] bsd-user/*.[hc] darwin-user/*.[hc] tcg/*/*.[hc] target-*/cpu.h; do sed -i "s/CPUState/CPUArchState/g" $file done...
tcg: Standardize on TCGReg as the enum for hard registers
Most targets did not name the enum; tci used TCGRegister.
Signed-off-by: Richard Henderson <rth@twiddle.net>Reviewed-by: Andreas Färber <afaerber@suse.de>Reviewed-by: Stefan Weil <sw@weilnetz.de>...
tcg: Add interpreter for bytecode
Signed-off-by: Stefan Weil <sw@weilnetz.de>