[Qemu-devel] [PATCH v2 for-2.9 0/2] tcg/sparc: zero extend ld/st helper args

Peter Maydell posted 2 patches 6 years, 12 months ago
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/1490871151-29029-1-git-send-email-peter.maydell@linaro.org
Test checkpatch passed
Test docker passed
Test s390x passed
tcg/sparc/tcg-target.inc.c | 29 +++++++++++++++++++++++++++--
1 file changed, 27 insertions(+), 2 deletions(-)
[Qemu-devel] [PATCH v2 for-2.9 0/2] tcg/sparc: zero extend ld/st helper args
Posted by Peter Maydell 6 years, 12 months ago
These patches fix problems with the SPARC TCG backend code
which calls the load and store helpers. Where the argument
being passed to the helper is narrower than the size of the
native register, the SPARC calling convention requires that
we extend it to the register size, but we weren't doing that.
This meant we passed the host code registers which might have
garbage in the high parts, and if the host code was built
with optimization this resulted in wrong behaviour.

Changes v1->v2:
 * fix argument order to emit_extend() in 32-bit host case
 * switch on (op & MO_SIZE) rather than just op

thanks
-- PMM

Peter Maydell (2):
  tcg/sparc: Zero extend data argument to store helpers
  tcg/sparc: Zero extend address argument to ld/st helpers

 tcg/sparc/tcg-target.inc.c | 29 +++++++++++++++++++++++++++--
 1 file changed, 27 insertions(+), 2 deletions(-)

-- 
2.7.4