[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH for-next 6/8] tcg-i386: Use new return-argument
From: |
Richard Henderson |
Subject: |
Re: [Qemu-devel] [PATCH for-next 6/8] tcg-i386: Use new return-argument ld/st helpers |
Date: |
Thu, 15 Aug 2013 13:44:08 -0700 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:17.0) Gecko/20130805 Thunderbird/17.0.8 |
On 08/15/2013 08:54 AM, Aurelien Jarno wrote:
>> > # define GETRA() ((uintptr_t)__builtin_return_address(0))
>> > -# define GETPC_LDST() ((uintptr_t)(GETRA() + 7 + \
>> > - *(int32_t *)((void *)GETRA() + 3) -
>> > 1))
>> > +/* The return address argument for ldst is passed directly. */
>> > +# define GETPC_LDST() (abort(), 0)
> Why an abort here, while in the arm version, you adds support for
> not defining GETPC_LDST?
>
GETPC_LDST is for the original helpers, when called from TCG.
In the arm case, TCG still uses the original helpers, so GETPC_LDST is used.
In the i386, TCG never uses the original helpers, so GETPC_LDST should never be
used. We could do like arm and completely drop the check, I suppose.
r~
[Qemu-devel] [PATCH for-next 7/8] tcg-arm: Use ldrd/strd for appropriate qemu_ld/st64, Richard Henderson, 2013/08/05
[Qemu-devel] [PATCH for-next 8/8] tcg-arm: Rearrange slow-path qemu_ld/st, Richard Henderson, 2013/08/05