[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH v4 07/19] hw/arm/smmu: Introduce CACHED_ENTRY_TO_ADDR
From: |
Eric Auger |
Subject: |
Re: [PATCH v4 07/19] hw/arm/smmu: Introduce CACHED_ENTRY_TO_ADDR |
Date: |
Mon, 8 Jul 2024 15:27:40 +0200 |
User-agent: |
Mozilla Thunderbird |
Hi Mostafa,
On 7/4/24 20:04, Jean-Philippe Brucker wrote:
> On Mon, Jul 01, 2024 at 11:02:29AM +0000, Mostafa Saleh wrote:
>> Soon, smmuv3_do_translate() will be used to translate the CD and the
>> TTBx, instead of re-writting the same logic to convert the returned
>> cached entry to an address, add a new macro CACHED_ENTRY_TO_ADDR.
>>
>> Signed-off-by: Mostafa Saleh <smostafa@google.com>
>> ---
>> hw/arm/smmuv3.c | 3 +--
>> include/hw/arm/smmu-common.h | 3 +++
>> 2 files changed, 4 insertions(+), 2 deletions(-)
>>
>> diff --git a/hw/arm/smmuv3.c b/hw/arm/smmuv3.c
>> index cc61708160..229b3c388c 100644
>> --- a/hw/arm/smmuv3.c
>> +++ b/hw/arm/smmuv3.c
>> @@ -950,8 +950,7 @@ epilogue:
>> switch (status) {
>> case SMMU_TRANS_SUCCESS:
>> entry.perm = cached_entry->entry.perm;
>> - entry.translated_addr = cached_entry->entry.translated_addr +
>> - (addr & cached_entry->entry.addr_mask);
>> + entry.translated_addr = CACHED_ENTRY_TO_ADDR(cached_entry, addr);
>> entry.addr_mask = cached_entry->entry.addr_mask;
>> trace_smmuv3_translate_success(mr->parent_obj.name, sid, addr,
>> entry.translated_addr, entry.perm,
>> diff --git a/include/hw/arm/smmu-common.h b/include/hw/arm/smmu-common.h
>> index 96eb017e50..09d3b9e734 100644
>> --- a/include/hw/arm/smmu-common.h
>> +++ b/include/hw/arm/smmu-common.h
>> @@ -37,6 +37,9 @@
>> #define VMSA_IDXMSK(isz, strd, lvl) ((1ULL << \
>> VMSA_BIT_LVL(isz, strd, lvl))
>> - 1)
>>
>> +#define CACHED_ENTRY_TO_ADDR(ent, addr) (ent)->entry.translated_addr +
>> \
>> + ((addr) &
>> (ent)->entry.addr_mask);
> nit: maybe wrap this in parenthesis to avoid future usage mistakes and
> drop the semicolon
With Jean's comments taken into account,
Reviewed-by: Eric Auger <eric.auger@redhat.com>
Eric
>
> Thanks,
> Jean
>
>> +
>> /*
>> * Page table walk error types
>> */
>> --
>> 2.45.2.803.g4e1b14247a-goog
>>
- [PATCH v4 05/19] hw/arm/smmu: Split smmuv3_translate(), (continued)
[PATCH v4 07/19] hw/arm/smmu: Introduce CACHED_ENTRY_TO_ADDR, Mostafa Saleh, 2024/07/01
[PATCH v4 10/19] hw/arm/smmu-common: Add support for nested TLB, Mostafa Saleh, 2024/07/01
[PATCH v4 09/19] hw/arm/smmu-common: Rework TLB lookup for nesting, Mostafa Saleh, 2024/07/01
[PATCH v4 12/19] hw/arm/smmu: Support nesting in smmuv3_range_inval(), Mostafa Saleh, 2024/07/01