]> git.kernelconcepts.de Git - karo-tx-uboot.git/commit
tegra124: Reserve secure RAM using MC_SECURITY_CFG{0, 1}_0
authorIan Campbell <ijc@hellion.org.uk>
Tue, 21 Apr 2015 05:18:36 +0000 (07:18 +0200)
committerLothar Waßmann <LW@KARO-electronics.de>
Tue, 8 Sep 2015 20:39:37 +0000 (22:39 +0200)
commitae99a40f308ae72b67ccbabc69117a78b3ddcd4e
tree2830aec9f211b5ebb0677d9100bae15434ae63fa
parentf5140c21cfe78ff8945d8782321fd3830c621a7e
tegra124: Reserve secure RAM using MC_SECURITY_CFG{0, 1}_0

These registers can be used to prevent non-secure world from accessing a
megabyte aligned region of RAM, use them to protect the u-boot secure monitor
code.

At first I tried to do this from s_init(), however this inexplicably causes
u-boot's networking (e.g. DHCP) to fail, while networking under Linux was fine.

So instead I have added a new weak arch function protect_secure_section()
called from relocate_secure_section() and reserved the region there. This is
better overall since it defers the reservation until after the sec vs. non-sec
decision (which can be influenced by an envvar) has been made when booting the
os.

Signed-off-by: Ian Campbell <ijc@hellion.org.uk>
[Jan: tiny style adjustment]
Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
Reviewed-by: Tom Rini <trini@konsulko.com>
Reviewed-by: Thierry Reding <treding@nvidia.com>
Tested-by: Thierry Reding <treding@nvidia.com>
Tested-by: Ian Campbell <ijc@hellion.org.uk>
Signed-off-by: Tom Warren <twarren@nvidia.com>
arch/arm/cpu/armv7/virt-v7.c
arch/arm/include/asm/system.h
arch/arm/mach-tegra/ap.c