From: James Morse <james.morse@arm.com>
To: Alison Wang <alison.wang@nxp.com>, "bp@alien8.de" <bp@alien8.de>,
"tony.luck@intel.com" <tony.luck@intel.com>
Cc: "mchehab@kernel.org" <mchehab@kernel.org>,
"rrichter@marvell.com" <rrichter@marvell.com>,
"linux-edac@vger.kernel.org" <linux-edac@vger.kernel.org>,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>
Subject: Re: [EXT] Re: [PATCH] edac: nxp: Add L1 and L2 error detection for A53 and A72 cores
Date: Tue, 25 Aug 2020 14:18:09 +0100 [thread overview]
Message-ID: <f962eb83-da13-a5de-9f06-b1b987f1e621@arm.com> (raw)
In-Reply-To: <VI1PR04MB4062A3BF31A7002AD45E5200F4570@VI1PR04MB4062.eurprd04.prod.outlook.com>
Hi Alison,
On 25/08/2020 03:31, Alison Wang wrote:
>> On 09/07/2020 09:22, Alison Wang wrote:
>>> Add error detection for A53 and A72 cores. Hardware error injection is
>>> supported on A53. Software error injection is supported on both.
>>
> <snip>
>>
>> As we can't safely write to these registers from linux, so I think this means all
>> the error injection and maybe SMC stuff can disappear.
> I agreed with your opinion that CPUACTLR_EL1 and L2ACTLR can't be written in Linux.
Well, we can't do what the TRM tells us we must before writing to that register.
> So the error injection can't be done in Linux. Do you mean the error injection can
> only be done in firmware before Linux boots up? If so, the system is running with error
> injection enabled all the time, it may be not a good idea too. Any suggestion?
These registers are expected to have one value, forever. The errata document sometimes
tells us to to set or clear one of these bits to workaround an issue. Because they can
only be written to when the system is idle, typically during boot, this is firmware's
responsibility.
I expect firmware to set the bits in ACTLR_EL3, to prevent lower exception levels from
touching any of these registers.
I don't know how the error injection on A53 or A72 works, so I don't know if you can leave
it enabled all the time. The bit you are setting is described as RES0 by the A53 and A72
TRMs. I suspect I had the wrong TRM open, as my 'L1DEIEN' comment seems to be what your
CPUACTLR_EL1[6] is called on A35. (35, 53? Guess how that happened!)
A35's error injection says:
| While this bit is set, double-bit errors are injected on all writes to the L1 D-cache
| data RAMs for the first word of each 32-byte region.
You certainly can't leave this sort of thing enabled! And you can't change it at runtime,
so we can't use it.
I think features like this are intended to be used to check the integration, not to test
the software.
After I sent the original comments on this, I found Sascha's version, which has these
issues resolved:
https://lore.kernel.org/linux-arm-kernel/20200813075721.27981-1-s.hauer@pengutronix.de/
I think this version should work on your platform too.
Thanks,
James
next prev parent reply other threads:[~2020-08-25 13:18 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-07-09 8:22 [PATCH] edac: nxp: Add L1 and L2 error detection for A53 and A72 cores Alison Wang
2020-08-15 8:41 ` Borislav Petkov
2020-08-21 11:38 ` James Morse
2020-08-25 2:31 ` [EXT] " Alison Wang
2020-08-25 13:18 ` James Morse [this message]
2020-08-26 3:03 ` Alison Wang
2020-08-27 10:40 ` Borislav Petkov
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=f962eb83-da13-a5de-9f06-b1b987f1e621@arm.com \
--to=james.morse@arm.com \
--cc=alison.wang@nxp.com \
--cc=bp@alien8.de \
--cc=linux-edac@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=mchehab@kernel.org \
--cc=rrichter@marvell.com \
--cc=tony.luck@intel.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox