[PATCH] ARMv7: Flush the vectors page using the base address
Catalin Marinas
catalin.marinas at arm.com
Tue Mar 15 18:42:08 EDT 2011
On Tuesday, 15 March 2011, Russell King - ARM Linux
<linux at arm.linux.org.uk> wrote:
> On Tue, Mar 15, 2011 at 06:13:15PM +0000, Catalin Marinas wrote:
>> With the domains removal patch, the vectors page is populated using the
>> kernel linear mapping address. However, the flush_icache_range()
>> function must be called on the high vectors address because the I-cache
>> is allowed to have aliases (or can even be ASID-tagged VIVT).
>
> This is exactly one of the issues I raised when we went down this hacky
> path of always doing this crap.
I don't think we have better options but feel free to rewrite it.
> What you're now doing is missing the D-cache flush in the case of an
> aliasing D-cache. It's no better than it was before.
In cases where we have domains disabled (ARMv7), the D-cache is
non-aliasing, so there is no issue.
Even if we enable this code for other cache configurations, we can
always flush both aliases. This only happen during boot and I doubt
you would notice any delay.
Catalin
--
Catalin
More information about the linux-arm-kernel
mailing list