[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH 0/2] tcg: aarch64: use 32-bit offset for 32-bit
From: |
Richard Henderson |
Subject: |
Re: [Qemu-devel] [PATCH 0/2] tcg: aarch64: use 32-bit offset for 32-bit user-mode emulation |
Date: |
Thu, 23 Jul 2015 14:19:37 -0700 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.1.0 |
On 07/15/2015 08:26 AM, Paolo Bonzini wrote:
> The register allocator may sometimes pass a 64-bit value to a 32-bit
> operation if truncations are considered no-ops by the backend.
> When this happens, user-mode emulation may use an incorrect offset
> for loads and stores. This affects aarch64 and x86, because other
> architectures already zero-extend the offset before using it for a
> load or store.
>
> To fix this for aarch64, use the uxtw modifier on load and store
> instructions.
>
> Paolo
>
> Paolo Bonzini (2):
> tcg: aarch64: add ext argument to tcg_out_insn_3310
> tcg: aarch64: use 32-bit offset for 32-bit user-mode emulation
>
> tcg/aarch64/tcg-target.c | 63
> +++++++++++++++++++++++++++---------------------
> 1 file changed, 36 insertions(+), 27 deletions(-)
>
Applied to tcg-for-2.4.
r~