[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-arm] [PATCH v2 21/68] target/arm: Convert Synchronization prim
From: |
Richard Henderson |
Subject: |
Re: [Qemu-arm] [PATCH v2 21/68] target/arm: Convert Synchronization primitives |
Date: |
Tue, 27 Aug 2019 12:35:22 -0700 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.8.0 |
On 8/27/19 4:10 AM, Peter Maydell wrote:
> On Tue, 27 Aug 2019 at 11:46, Peter Maydell <address@hidden> wrote:
>> ...OK, not this specific function, as I just noticed it's the _a32
>> one, but trans_STREXB(), trans_STREXH(), etc are wrong.
>
> I did a quick grep through for places checking the 6K condition,
> and I think these are the only ones that need changing:
>
> diff --git a/target/arm/translate.c b/target/arm/translate.c
> index b4d53f3d37f..58e50f2d808 100644
> --- a/target/arm/translate.c
> +++ b/target/arm/translate.c
> @@ -8874,7 +8874,7 @@ static bool trans_STREXD_t32(DisasContext *s,
> arg_STREX *a)
>
> static bool trans_STREXB(DisasContext *s, arg_STREX *a)
> {
> - if (!ENABLE_ARCH_6K) {
> + if (!ENABLE_ARCH_6K && !arm_dc_feature(s, ARM_FEATURE_M)) {
Looking again, I think the correct test is
if (s->thumb ? !ENABLE_ARCH_7 : !ENABLE_ARCH_6K)
for all of these.
r~
- Re: [Qemu-arm] [PATCH v2 19/68] target/arm: Convert T32 ADDW/SUBW, (continued)
- [Qemu-arm] [PATCH v2 22/68] target/arm: Convert USAD8, USADA8, SBFX, UBFX, BFC, BFI, UDF, Richard Henderson, 2019/08/19
- [Qemu-arm] [PATCH v2 21/68] target/arm: Convert Synchronization primitives, Richard Henderson, 2019/08/19
[Qemu-arm] [PATCH v2 26/68] target/arm: Convert MOVW, MOVT, Richard Henderson, 2019/08/19
[Qemu-arm] [PATCH v2 20/68] target/arm: Convert load/store (register, immediate, literal), Richard Henderson, 2019/08/19
[Qemu-arm] [PATCH v2 23/68] target/arm: Convert Parallel addition and subtraction, Richard Henderson, 2019/08/19
[Qemu-arm] [PATCH v2 24/68] target/arm: Convert Packing, unpacking, saturation, and reversal, Richard Henderson, 2019/08/19