Re: [PATCH v5 2/6] irqchip, gicv3: Workaround for Cavium ThunderX erratum 23154

From: Marc Zyngier
Date: Tue Sep 22 2015 - 12:58:24 EST


On Mon, 21 Sep 2015 22:58:35 +0200
Robert Richter <rric@xxxxxxxxxx> wrote:

> From: Robert Richter <rrichter@xxxxxxxxxx>
>
> This patch implements Cavium ThunderX erratum 23154.
>
> The gicv3 of ThunderX requires a modified version for reading the IAR
> status to ensure data synchronization. Since this is in the fast-path
> and called with each interrupt, runtime patching is used using jump
> label patching for smallest overhead (no-op). This is the same
> technique as used for tracepoints.
>
> v5:
> * fixed calling gic_read_iar_cavium_thunderx() if jump label is
> enabled
> * made is_cavium_thunderx static
> * removed ARCH_THUNDER dependency for Cavium errata options to
> make it available for generic kernels
>
> v4:
> * simplify code to only use cpus_have_cap() in gicv3_enable_quirks()
>
> v3:
> * fix erratum to be dependend from midr
> * use arm64 errata framework
>
> v2:
> * implement code in a single asm() to keep instruction sequence
> * added comment to the code that explains the erratum
> * apply workaround also if running as guest, thus check MIDR
>
> Signed-off-by: Robert Richter <rrichter@xxxxxxxxxx>

Reviewed-by: Marc Zyngier <marc.zyngier@xxxxxxx>

M.
--
Jazz is not dead. It just smells funny.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/