ARM: 8600/1: Enforce some NS-SVC initialisation
authorRobin Murphy <robin.murphy@arm.com>
Fri, 19 Aug 2016 18:38:41 +0000 (19:38 +0100)
committerRussell King <rmk+kernel@armlinux.org.uk>
Tue, 23 Aug 2016 09:08:33 +0000 (10:08 +0100)
commit1527eda3ab290f4ab519fe495c70ede5b0ad699f
tree2ac653646115e4bf534eae1aebfebcf4b9e86186
parentf271b779f415455e904f3f10067ab7f2fb8af497
ARM: 8600/1: Enforce some NS-SVC initialisation

Since the non-secure copies of banked registers lack architecturally
defined reset values, there is no actual guarantee when entering in Hyp
from secure-only firmware that the Non-Secure PL1 state will look the
way that kernel entry (in particular the decompressor stub) expects.
So far, we've been getting away with it thanks to implementation details
of ARMv7 cores and/or bootloader behaviour, but for the sake of forwards
compatibility let's try to ensure that we have a minimally sane state
before dropping down into it.

Cc: Russell King <linux@armlinux.org.uk>
Reviewed-by: Marc Zyngier <marc.zyngier@arm.com>
Reviewed-by: Christoffer Dall <christoffer.dall@linaro.org>
Signed-off-by: Robin Murphy <robin.murphy@arm.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
arch/arm/kernel/hyp-stub.S