From: Dave.Martin@arm.com (Dave Martin)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH] arm: tcm: Don't crash when TCM banks are protected by TrustZone
Date: Thu, 28 May 2015 11:16:48 +0100 [thread overview]
Message-ID: <20150528101641.GA3657@e103592.cambridge.arm.com> (raw)
In-Reply-To: <1432805760-4590-1-git-send-email-michael@smart-africa.com>
On Thu, May 28, 2015 at 11:36:00AM +0200, Michael van der Westhuizen wrote:
> Fixes the TCM initialisation code to handle TCM banks that are
> present but inaccessible due to TrustZone configuration. This is
> the default case when enabling the non-secure world. It may also
> be the case that that the user decided to use TCM for TrustZone.
>
> This change has exposed a bug in handling of TCM where no TCM bank
> was usable (the 0 size TCM case). This change addresses the
> resulting hang.
The TCM registers in CP15 are not part of the architecture -- behaviour
is IMP DEF in v7.
This is a problem for multiplatform kernels in particular. In a v6/v7
multiplatform kernel with a TCM-enabled platform built in, it is
unsafe to probe for TCM by accessing these registers if we are running
on v7. No Undef exception is guaranteed -- anything might happen.
We could add a DT binding for TCM, but it should only describe whether
the CP15 TCM registers are accessible (node present in DT) or not (node
present, but disabled).
For backwards compatiblity with old DTs we could maybe fall back to
unconditional probing for single-platform kernels only, when no tcm
node is present in the DT.
Cheers
---Dave
[...]
next prev parent reply other threads:[~2015-05-28 10:16 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-05-28 9:36 [PATCH] arm: tcm: Don't crash when TCM banks are protected by TrustZone Michael van der Westhuizen
2015-05-28 10:16 ` Dave Martin [this message]
2015-05-28 11:32 ` Michael van der Westhuizen
2015-05-28 13:32 ` Dave Martin
2015-05-28 13:37 ` Michael van der Westhuizen
2015-05-28 13:54 ` [PATCH v2] " Michael van der Westhuizen
2015-06-02 11:16 ` Linus Walleij
2015-06-02 14:52 ` Russell King - ARM Linux
2015-06-02 15:21 ` Michael van der Westhuizen
2015-06-02 15:35 ` Russell King - ARM Linux
2015-06-02 15:10 ` [PATCH v3] " Michael van der Westhuizen
2015-06-04 10:40 ` Dave Martin
2015-06-04 11:35 ` Michael van der Westhuizen
2015-06-04 11:58 ` [PATCH v4] " Michael van der Westhuizen
2015-06-04 12:14 ` Linus Walleij
2015-06-04 13:43 ` Dave Martin
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=20150528101641.GA3657@e103592.cambridge.arm.com \
--to=dave.martin@arm.com \
--cc=linux-arm-kernel@lists.infradead.org \
/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