diff options
| author | Aurelien Jarno | 2012-09-08 05:45:43 +0200 |
|---|---|---|
| committer | Alexander Graf | 2012-09-10 13:38:33 +0200 |
| commit | 6845df48cec9cc6833429942b3ceed333a791119 (patch) | |
| tree | 029b48d677d0f3f078315d528a2d2672fe5dd995 /scripts | |
| parent | target-s390x: switch to AREG0 free mode (diff) | |
| download | qemu-6845df48cec9cc6833429942b3ceed333a791119.tar.gz qemu-6845df48cec9cc6833429942b3ceed333a791119.tar.xz qemu-6845df48cec9cc6833429942b3ceed333a791119.zip | |
tcg/s390: fix ld/st with CONFIG_TCG_PASS_AREG0
The load/store slow path has been broken in e141ab52d:
- We need to move 4 registers for store functions and 3 registers for
load functions and not the reverse.
- According to the s390x calling convention the arguments of a function
should be zero extended. This means that the register shift should be
done with TCG_TYPE_I64 to ensure the higher word is correctly zero
extended when needed.
I am aware that CONFIG_TCG_PASS_AREG0 is being removed and thus that
this patch can be improved, but doing so means it can also be applied to
the 1.1 and 1.2 stable branches.
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
Signed-off-by: Alexander Graf <agraf@suse.de>
Diffstat (limited to 'scripts')
0 files changed, 0 insertions, 0 deletions
