[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH v5 15/22] target/arm: Clean address for DC ZVA
From: |
Richard Henderson |
Subject: |
Re: [PATCH v5 15/22] target/arm: Clean address for DC ZVA |
Date: |
Mon, 17 Feb 2020 16:50:13 -0800 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.4.1 |
On 12/5/19 10:58 AM, Peter Maydell wrote:
> On Fri, 11 Oct 2019 at 14:50, Richard Henderson
> <address@hidden> wrote:
>>
>> This data access was forgotten in the previous patch.
>>
>> Fixes: 3a471103ac1823ba
>> Signed-off-by: Richard Henderson <address@hidden>
>> ---
>> target/arm/translate-a64.c | 2 +-
>> 1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/target/arm/translate-a64.c b/target/arm/translate-a64.c
>> index 4e049bb4aa..49817b96ae 100644
>> --- a/target/arm/translate-a64.c
>> +++ b/target/arm/translate-a64.c
>> @@ -1766,7 +1766,7 @@ static void handle_sys(DisasContext *s, uint32_t insn,
>> bool isread,
>> return;
>> case ARM_CP_DC_ZVA:
>> /* Writes clear the aligned block of memory which rt points into. */
>> - tcg_rt = cpu_reg(s, rt);
>> + tcg_rt = clean_data_tbi(s, cpu_reg(s, rt), false);
>> gen_helper_dc_zva(cpu_env, tcg_rt);
>> return;
>
> ...doesn't this mean we don't do a tag check for DC ZVA?
> Or is that handled in the helper ? (I guess it has to be,
> the DC ZVA will span multiple tag granules).
It isn't clear to me that DC ZVA does check tags. There's no pseudocode for
DC_ZVA, which is less helpful than it might be.
I suppose one could infer it from "behaves as a set of stores to each byte
within the block", but considering that stores are both checking or
non-checking depending on addressing mode etc, I'd have preferred an explicit
note.
So far I'm treating DC_ZVA as unchecked.
r~
- Re: [PATCH v5 15/22] target/arm: Clean address for DC ZVA,
Richard Henderson <=