[PATCH v4] arm64: Add support for new control bits CTR_EL0.DIC and CTR_EL0.IDC
Robin Murphy
robin.murphy at arm.com
Thu Feb 22 08:28:03 PST 2018
[Apologies to keep elbowing in, and if I'm being thick here...]
On 22/02/18 15:22, Mark Rutland wrote:
> On Thu, Feb 22, 2018 at 08:51:30AM -0600, Shanker Donthineni wrote:
>> +#define CTR_B31_SHIFT 31
>
> Since this is just a RES1 bit, I think we don't need a mnemonic for it,
> but I'll defer to Will and Catalin on that.
>
>> ENTRY(invalidate_icache_range)
>> +#ifdef CONFIG_ARM64_SKIP_CACHE_POU
>> +alternative_if ARM64_HAS_CACHE_DIC
>> + mov x0, xzr
>> + dsb ishst
>> + isb
>> + ret
>> +alternative_else_nop_endif
>> +#endif
>
> As commented on v3, I don't believe you need the DSB here. If prior
> stores haven't been completed at this point, the existing implementation
> would not work correctly here.
True in terms of ordering between stores prior to entry and the IC IVAU
itself, but what about the DSH ISH currently issued *after* the IC IVAU
before returning? Is provably impossible that existing callers might be
relying on that ordering *anything*, or would we risk losing something
subtle by effectively removing it?
Robin.
More information about the linux-arm-kernel
mailing list