u-boot/arch/arm/include/asm
Chen-Yu Tsai 980d6a5511 ARM: Add an empty secure stack section
Until now we've been using memory beyond psci_text_end as stack space
for the secure monitor or PSCI implementation, even if space was not
allocated for it.

This was partially fixed in ("ARM: allocate extra space for PSCI stack
in secure section during link phase"). However, calculating stack space
from psci_text_end in one place, while allocating the space in another
is error prone.

This patch adds a separate empty secure stack section, with space for
CONFIG_ARMV7_PSCI_NR_CPUS stacks, each 1 KB. There's also
__secure_stack_start and __secure_stack_end symbols. The linker script
handles calculating the correct VMAs for the stack section. For
platforms that relocate/copy the secure monitor before using it, the
space is not allocated in the executable, saving space.

For platforms that do not define CONFIG_ARMV7_PSCI_NR_CPUS, a whole page
of stack space for 4 CPUs is allocated, matching the previous behavior.

Signed-off-by: Chen-Yu Tsai <wens@csie.org>
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
2016-07-15 15:54:57 +02:00
..
arch-am33xx arm, am335x: Enable Spread Spectrum for the MPU 2016-06-09 13:53:07 -04:00
arch-armada100 ARM: remove CONFIG_ARM926EJS defines 2014-11-20 11:28:25 -05:00
arch-armv7 ARMv7: Factor out reusable timer_wait from sunxi/psci_sun7i.S 2015-07-20 11:44:38 -07:00
arch-bcm235xx arm: bcm235xx: implement the boot0 hook code 2016-06-24 17:24:37 -04:00
arch-bcm281xx arm/arm64: implement a boot header capability 2016-06-06 13:39:19 -04:00
arch-bcmcygnus configs: Re-sync with cmd/Kconfig 2016-04-25 15:09:47 -04:00
arch-bcmnsp arm: add Cygnus and NSP boards 2014-08-30 07:46:40 -04:00
arch-ep93xx arm: ep9315: Return back Cirrus Logic EDB9315A board support 2014-07-04 23:45:48 +02:00
arch-fsl-layerscape armv8: fsl-layerscape: Append "A" in SoC name for ARM based SoCs 2016-06-28 12:08:53 -07:00
arch-hi6220 driver: gpio: hikey: Fix pointer conversion warnings for hikey 2015-11-12 15:58:59 -05:00
arch-imx mx7: Distinguish between dual and solo versions 2016-03-09 12:50:39 +01:00
arch-lpc32xx arm: lpc32xx: switch SPL builds to driver model 2016-01-13 21:05:22 -05:00
arch-ls102xa Merge branch 'master' of git://git.denx.de/u-boot-fsl-qoriq 2016-05-24 13:42:03 -04:00
arch-meson arm: meson: implement calls to secure monitor 2016-05-27 15:39:47 -04:00
arch-mvebu spi: kirkwood_spi: Add support for multiple chip-selects on MVEBU 2016-04-06 15:38:56 +02:00
arch-mx5 imx: cpu: move common chip revision id's 2015-10-30 15:20:56 +01:00
arch-mx6 Merge branch 'master' of git://git.denx.de/u-boot-fsl-qoriq 2016-05-24 13:42:03 -04:00
arch-mx7 Merge branch 'master' of git://git.denx.de/u-boot-fsl-qoriq 2016-05-24 13:42:03 -04:00
arch-mx25 imx: cpu: move common chip revision id's 2015-10-30 15:20:56 +01:00
arch-mx27 mx27: 16-bit wide watchdog registers 2016-03-25 14:03:28 +01:00
arch-mx31 imx-common: consolidate macros and prototypes into sys_proto.h 2015-09-02 15:29:14 +02:00
arch-mx35 imx-common: consolidate macros and prototypes into sys_proto.h 2015-09-02 15:29:14 +02:00
arch-mxs ARM: mxs: allow boards to select DC-DC switching clock source 2016-01-03 15:56:36 +01:00
arch-omap3 ARM: omap-common: Add device type to CPU string 2016-05-27 15:41:37 -04:00
arch-omap4 omap4: Reboot mode support 2016-03-15 15:12:53 -04:00
arch-omap5 arm: omap: Introduce vcores_init function 2016-06-02 21:42:18 -04:00
arch-orion5x edminiv2: switch to SPL 2015-02-25 07:59:50 +01:00
arch-pxa arm: pxa: use common timer functions 2015-08-24 20:30:37 +02:00
arch-rmobile Add more SPDX-License-Identifier tags 2016-01-19 08:31:21 -05:00
arch-rockchip clk: convert API to match reset/mailbox style 2016-06-19 17:05:55 -06:00
arch-s3c24x0 mtd: nand: s3c: Unify the register definition and naming 2014-11-26 23:21:43 -06:00
arch-s32v234 armv8: s32v234: Introduce basic support for s32v234evb 2016-06-13 08:56:35 -04:00
arch-sa1100
arch-spear arm: spear: Add command to switch between 1-bit HW ECC and SW BCH4 2015-09-11 17:15:14 -04:00
arch-stm32f1 gpio: stm32_gpio: move base addresses to the soc file 2016-02-24 18:42:50 -05:00
arch-stm32f4 stm32: stm32f4: move flash driver to mtd driver location 2016-03-26 18:49:28 -04:00
arch-stm32f7 stm32f746-disco: enable flash support 2016-03-26 18:49:28 -04:00
arch-stv0991 stv0991: configure clock & pad muxing for qspi 2015-07-03 13:50:53 +05:30
arch-sunxi sunxi: Use BROM stored boot_media value to determine our boot-source 2016-07-15 15:54:56 +02:00
arch-tegra mmc: tegra: add basic Tegra186 support 2016-05-31 11:22:59 -07:00
arch-tegra20 ARM: tegra: use DT bindings for GPIO naming 2016-05-31 09:53:56 -07:00
arch-tegra30 ARM: tegra: use DT bindings for GPIO naming 2016-05-31 09:53:56 -07:00
arch-tegra114 Add more SPDX-License-Identifier tags 2016-01-19 08:31:21 -05:00
arch-tegra124 ARM: tegra: use DT bindings for GPIO naming 2016-05-31 09:53:56 -07:00
arch-tegra186 ARM: tegra: add core Tegra186 support 2016-05-31 11:22:59 -07:00
arch-tegra210 ARM: tegra: use DT bindings for GPIO naming 2016-05-31 09:53:56 -07:00
arch-vf610 colibri-vf: Disable pull-up configuration in GPIO pin mux 2016-03-02 14:47:16 +01:00
arch-zynqmp ARM64: zynqmp: Add SPL support support 2016-05-24 11:15:01 +02:00
armv8 arm64: Remove non-full-va map code 2016-03-15 15:13:10 -04:00
imx-common imx-common: introduce simpler macros for runtime dection 2016-05-24 14:59:55 +02:00
iproc-common arm: add Cygnus and NSP boards 2014-08-30 07:46:40 -04:00
kona-common bcm281xx: add support for "USB OTG clock" 2014-12-29 16:31:23 -05:00
proc-armv ARM: add missing HYP mode constant 2014-07-28 17:06:35 +02:00
ti-common Fix to davinci_nand.h to place CEnCFG registers at correct 2016-06-06 13:39:12 -04:00
armv7.h ARM: Add an empty secure stack section 2016-07-15 15:54:57 +02:00
armv7m.h Change e-mail address of Kamil Lulko 2015-12-05 18:22:32 -05:00
assembler.h arm: include: Import unified.h from Linux kernel 2016-06-02 21:21:43 -04:00
atomic.h arm, ubifs: fix gcc5.x compiler warning 2016-01-20 10:03:58 -05:00
barriers.h arm/arm64: Move barrier instructions into separate header 2016-05-12 11:13:03 -04:00
bitops.h arm, ubifs: fix gcc5.x compiler warning 2016-01-20 10:03:58 -05:00
bootm.h Add GPL-2.0+ SPDX-License-Identifier to source files 2013-07-24 09:44:38 -04:00
byteorder.h armv8: Use __aarch64__ rather than CONFIG_ARM64 in some cases 2014-01-10 10:10:23 +01:00
cache.h arm: support Thumb-1 with CONFIG_SYS_THUMB_BUILD 2015-11-10 15:03:48 +01:00
config.h armv8/fsl_lsch3: Change arch to fsl-layerscape 2015-10-29 10:34:00 -07:00
davinci_rtc.h am33xx, davinci: Create and use <asm/davinci_rtc.h> 2013-11-01 15:30:22 -04:00
dma-mapping.h arm: asm: dma-mapping: added dma_free_coherent API 2015-04-14 05:48:09 +02:00
ehci-omap.h Add more SPDX-License-Identifier tags 2016-01-19 08:31:21 -05:00
emif.h ARM: DRA7: DDR: Enable SR in Power Management Control 2016-03-15 21:30:19 -04:00
errno.h
fsl_secure_boot.h armv8: LS2080A: Consolidate LS2080A and LS2085A 2016-04-06 10:26:46 -07:00
gic.h arm64 patch: gicv3 support 2014-04-08 00:15:12 +02:00
global_data.h arm64: Remove non-full-va map code 2016-03-15 15:13:10 -04:00
gpio.h gpio: do not include <asm/arch/gpio.h> for UniPhier 2016-02-29 03:50:15 +09:00
hardware.h
io.h arm: add missing writes[bwql], reads[bwql]. 2016-04-10 17:18:41 +02:00
linkage.h
mach-types.h arm: Remove snowball and u8500_href boards 2015-09-11 14:08:06 -04:00
macro.h Armv8: Initializing CNTVOFF_EL2 2015-04-16 11:27:15 +02:00
memory.h include: delete include/linux/config.h 2013-11-08 15:25:13 -05:00
omap_common.h dra7xx: Enable USB_PHY3 32KHz clock 2016-06-02 21:42:15 -04:00
omap_gpio.h gpio: omap: Drop 'method' parameter 2015-08-12 20:48:06 -04:00
omap_mmc.h omap_hsmmc: update struct hsmmc to accomodate base address from DT 2015-10-22 14:22:28 -04:00
omap_musb.h Add GPL-2.0+ SPDX-License-Identifier to source files 2013-07-24 09:44:38 -04:00
pl310.h arm: socfpga: enable data/inst prefetch and shared override in the L2 2015-10-17 01:47:31 +02:00
posix_types.h armv8: Use __aarch64__ rather than CONFIG_ARM64 in some cases 2014-01-10 10:10:23 +01:00
processor.h Remove ${objtree}/include/asm/proc/ link 2014-06-11 16:27:05 -04:00
psci.h ARM: Add an empty secure stack section 2016-07-15 15:54:57 +02:00
ptrace.h Remove ${objtree}/include/asm/proc/ link 2014-06-11 16:27:05 -04:00
sections.h Add GPL-2.0+ SPDX-License-Identifier to source files 2013-07-24 09:44:38 -04:00
secure.h ARM: HYP/non-sec: allow relocation to secure RAM 2014-07-28 17:19:09 +02:00
setjmp.h arm: Fix setjmp (again) 2016-07-08 17:16:38 -04:00
setup.h
spl.h spl: define BOOT_DEVICE_USB 2016-02-14 16:36:13 +09:00
string.h
system.h arm: implement generic PSCI reset call for armv8 2016-05-27 15:39:46 -04:00
types.h ARM: asm: types: Introduce DMA_ADDR_T_64BIT 2016-03-27 09:13:03 -04:00
u-boot-arm.h common: Move dram_init() declaration to common location 2015-02-09 15:08:48 +01:00
u-boot.h arm: Drop old non-generic-board code 2015-09-28 10:48:24 -04:00
unaligned.h arm64: core support 2014-01-09 16:08:44 +01:00
unified.h arm: include: Import unified.h from Linux kernel 2016-06-02 21:21:43 -04:00
utils.h Add GPL-2.0+ SPDX-License-Identifier to source files 2013-07-24 09:44:38 -04:00