[PATCHv3] arm64: gic-v3-its: Clear the Pending table before enabling LPIs
olteanv at gmail.com
Mon Mar 8 18:29:26 CET 2021
On Fri, Mar 05, 2021 at 03:02:35PM +0800, Zhiqiang Hou wrote:
> From: Hou Zhiqiang <Zhiqiang.Hou at nxp.com>
> The GICv3 RM requires "The first 1KB of memory for the LPI Pending tables
> must contain only zeros on initial allocation, and this must be visible
> to the Redistributors, or else the effect is UNPREDICTABLE".
> And as the following statement, we here clear the whole Pending tables
> instead of the first 1KB.
> "An LPI Pending table that contains only zeros, including in the first 1KB,
> indicates that there are no pending LPIs.
> The first 1KB of the LPI Pending table is IMPLEMENTATION DEFINED. However,
> if the first 1KB of the LPI Pending table and the rest of the table contain
> only zeros, this must indicate that there are no pending LPIs."
> And there isn't any pending LPI under U-Boot, so it's unnecessary to
> load the contents of the Pending table during the enablement, then set
> the GICR_PENDBASER.PTZ flag.
> Signed-off-by: Hou Zhiqiang <Zhiqiang.Hou at nxp.com>
Tested-by: Vladimir Oltean <vladimir.oltean at nxp.com> # NXP LS1028A
More information about the U-Boot