* [U-Boot] [PATCH v2 0/4] ARM: move ARMV7_PSCI and ARMV7_PSCI_NR_CPUS to Kconfig
@ 2016-08-30 7:22 Masahiro Yamada
2016-08-30 7:22 ` [U-Boot] [PATCH v2 1/4] ARM: tegra: remove wrong dependency on SPL_BUILD Masahiro Yamada
` (4 more replies)
0 siblings, 5 replies; 16+ messages in thread
From: Masahiro Yamada @ 2016-08-30 7:22 UTC (permalink / raw)
To: u-boot
Masahiro Yamada (4):
ARM: tegra: remove wrong dependency on SPL_BUILD
ARM: armv7: guard memory reserve for PSCI with #ifdef
CONFIG_ARMV7_PSCI
ARM: armv7: move CONFIG_ARMV7_PSCI to Kconfig
ARM: armv7: move ARMV7_PSCI_NR_CPUS to Kconfig
arch/arm/Kconfig | 3 +++
arch/arm/cpu/armv7/Kconfig | 19 +++++++++++++++++++
arch/arm/cpu/armv7/mx7/Kconfig | 1 +
arch/arm/cpu/u-boot.lds | 4 ++--
arch/arm/mach-tegra/tegra124/Kconfig | 5 +++--
arch/arm/mach-uniphier/Kconfig | 1 +
board/sunxi/Kconfig | 5 +++++
include/configs/arndale.h | 1 -
include/configs/bcm_ep_board.h | 1 -
include/configs/jetson-tk1.h | 2 --
include/configs/ls1021aqds.h | 2 --
include/configs/ls1021atwr.h | 2 --
include/configs/mx7_common.h | 2 --
include/configs/sun6i.h | 2 --
include/configs/sun7i.h | 2 --
include/configs/sun8i.h | 13 -------------
include/configs/uniphier.h | 2 --
include/configs/vexpress_ca15_tc2.h | 1 -
18 files changed, 34 insertions(+), 34 deletions(-)
--
1.9.1
^ permalink raw reply [flat|nested] 16+ messages in thread
* [U-Boot] [PATCH v2 1/4] ARM: tegra: remove wrong dependency on SPL_BUILD
2016-08-30 7:22 [U-Boot] [PATCH v2 0/4] ARM: move ARMV7_PSCI and ARMV7_PSCI_NR_CPUS to Kconfig Masahiro Yamada
@ 2016-08-30 7:22 ` Masahiro Yamada
2016-09-07 17:59 ` [U-Boot] [U-Boot, v2, " Tom Rini
2016-08-30 7:22 ` [U-Boot] [PATCH v2 2/4] ARM: armv7: guard memory reserve for PSCI with #ifdef CONFIG_ARMV7_PSCI Masahiro Yamada
` (3 subsequent siblings)
4 siblings, 1 reply; 16+ messages in thread
From: Masahiro Yamada @ 2016-08-30 7:22 UTC (permalink / raw)
To: u-boot
SPL_BUILD is not a CONFIG in Kconfig, so !SPL_BUILD is always true.
Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
---
Changes in v2: None
arch/arm/mach-tegra/tegra124/Kconfig | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/arch/arm/mach-tegra/tegra124/Kconfig b/arch/arm/mach-tegra/tegra124/Kconfig
index f3324ff..44f63f7 100644
--- a/arch/arm/mach-tegra/tegra124/Kconfig
+++ b/arch/arm/mach-tegra/tegra124/Kconfig
@@ -6,8 +6,8 @@ choice
config TARGET_JETSON_TK1
bool "NVIDIA Tegra124 Jetson TK1 board"
- select CPU_V7_HAS_NONSEC if !SPL_BUILD
- select CPU_V7_HAS_VIRT if !SPL_BUILD
+ select CPU_V7_HAS_NONSEC
+ select CPU_V7_HAS_VIRT
config TARGET_NYAN_BIG
bool "Google/NVIDIA Nyan-big Chromebook"
--
1.9.1
^ permalink raw reply related [flat|nested] 16+ messages in thread
* [U-Boot] [PATCH v2 2/4] ARM: armv7: guard memory reserve for PSCI with #ifdef CONFIG_ARMV7_PSCI
2016-08-30 7:22 [U-Boot] [PATCH v2 0/4] ARM: move ARMV7_PSCI and ARMV7_PSCI_NR_CPUS to Kconfig Masahiro Yamada
2016-08-30 7:22 ` [U-Boot] [PATCH v2 1/4] ARM: tegra: remove wrong dependency on SPL_BUILD Masahiro Yamada
@ 2016-08-30 7:22 ` Masahiro Yamada
2016-09-07 17:59 ` [U-Boot] [U-Boot, v2, " Tom Rini
2016-09-23 5:09 ` [U-Boot] [PATCH v2 " Jon Masters
2016-08-30 7:22 ` [U-Boot] [PATCH v2 3/4] ARM: armv7: move CONFIG_ARMV7_PSCI to Kconfig Masahiro Yamada
` (2 subsequent siblings)
4 siblings, 2 replies; 16+ messages in thread
From: Masahiro Yamada @ 2016-08-30 7:22 UTC (permalink / raw)
To: u-boot
If CONFIG_ARMV7_NONSEC is enabled, the linker script requires
CONFIG_ARMV7_PSCI_NR_CPUS regardless of CONFIG_ARMV7_PSCI.
Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
---
Changes in v2: None
arch/arm/cpu/u-boot.lds | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/arch/arm/cpu/u-boot.lds b/arch/arm/cpu/u-boot.lds
index 36c9fd0..0a5fae6 100644
--- a/arch/arm/cpu/u-boot.lds
+++ b/arch/arm/cpu/u-boot.lds
@@ -83,10 +83,10 @@ SECTIONS
#endif
{
KEEP(*(.__secure_stack_start))
-
+#ifdef CONFIG_ARMV7_PSCI
/* Skip addreses for stack */
. = . + CONFIG_ARMV7_PSCI_NR_CPUS * ARM_PSCI_STACK_SIZE;
-
+#endif
/* Align end of stack section to page boundary */
. = ALIGN(CONSTANT(COMMONPAGESIZE));
--
1.9.1
^ permalink raw reply related [flat|nested] 16+ messages in thread
* [U-Boot] [PATCH v2 3/4] ARM: armv7: move CONFIG_ARMV7_PSCI to Kconfig
2016-08-30 7:22 [U-Boot] [PATCH v2 0/4] ARM: move ARMV7_PSCI and ARMV7_PSCI_NR_CPUS to Kconfig Masahiro Yamada
2016-08-30 7:22 ` [U-Boot] [PATCH v2 1/4] ARM: tegra: remove wrong dependency on SPL_BUILD Masahiro Yamada
2016-08-30 7:22 ` [U-Boot] [PATCH v2 2/4] ARM: armv7: guard memory reserve for PSCI with #ifdef CONFIG_ARMV7_PSCI Masahiro Yamada
@ 2016-08-30 7:22 ` Masahiro Yamada
2016-09-07 0:53 ` Masahiro Yamada
` (2 more replies)
2016-08-30 7:22 ` [U-Boot] [PATCH v2 4/4] ARM: armv7: move ARMV7_PSCI_NR_CPUS " Masahiro Yamada
2016-09-01 13:45 ` [U-Boot] [PATCH v2 0/4] ARM: move ARMV7_PSCI and " Alexander Graf
4 siblings, 3 replies; 16+ messages in thread
From: Masahiro Yamada @ 2016-08-30 7:22 UTC (permalink / raw)
To: u-boot
Add ARCH_SUPPORT_PSCI as a non-configurable option that platforms
can select. Then, move CONFIG_ARMV7_PSCI, which is automatically
enabled if both ARMV7_NONSEC and ARCH_SUPPORT_PSCI are enabled.
Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
---
Changes in v2: None
arch/arm/Kconfig | 3 +++
arch/arm/cpu/armv7/Kconfig | 10 ++++++++++
arch/arm/cpu/armv7/mx7/Kconfig | 1 +
arch/arm/mach-tegra/tegra124/Kconfig | 1 +
arch/arm/mach-uniphier/Kconfig | 1 +
board/sunxi/Kconfig | 5 +++++
include/configs/jetson-tk1.h | 1 -
include/configs/ls1021aqds.h | 1 -
include/configs/ls1021atwr.h | 1 -
include/configs/mx7_common.h | 1 -
include/configs/sun6i.h | 1 -
include/configs/sun7i.h | 1 -
include/configs/sun8i.h | 1 -
include/configs/uniphier.h | 1 -
14 files changed, 21 insertions(+), 8 deletions(-)
diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
index c871eaf..37fee43 100644
--- a/arch/arm/Kconfig
+++ b/arch/arm/Kconfig
@@ -816,10 +816,13 @@ config TARGET_LS1021AQDS
bool "Support ls1021aqds"
select CPU_V7
select SUPPORT_SPL
+ select ARCH_SUPPORT_PSCI
+
config TARGET_LS1021ATWR
bool "Support ls1021atwr"
select CPU_V7
select SUPPORT_SPL
+ select ARCH_SUPPORT_PSCI
config TARGET_LS1043AQDS
bool "Support ls1043aqds"
diff --git a/arch/arm/cpu/armv7/Kconfig b/arch/arm/cpu/armv7/Kconfig
index 41c6639..4390f59 100644
--- a/arch/arm/cpu/armv7/Kconfig
+++ b/arch/arm/cpu/armv7/Kconfig
@@ -6,6 +6,9 @@ config CPU_V7_HAS_NONSEC
config CPU_V7_HAS_VIRT
bool
+config ARCH_SUPPORT_PSCI
+ bool
+
config ARMV7_NONSEC
bool "Enable support for booting in non-secure mode" if EXPERT
depends on CPU_V7_HAS_NONSEC
@@ -31,6 +34,13 @@ config ARMV7_VIRT
---help---
Say Y here to boot in hypervisor (HYP) mode when booting non-secure.
+config ARMV7_PSCI
+ bool "Enable PSCI support" if EXPERT
+ depends on ARMV7_NONSEC && ARCH_SUPPORT_PSCI
+ default y
+ help
+ Say Y here to enable PSCI support.
+
config ARMV7_LPAE
bool "Use LPAE page table format" if EXPERT
depends on CPU_V7
diff --git a/arch/arm/cpu/armv7/mx7/Kconfig b/arch/arm/cpu/armv7/mx7/Kconfig
index 5fdc8dd..fb00b8c 100644
--- a/arch/arm/cpu/armv7/mx7/Kconfig
+++ b/arch/arm/cpu/armv7/mx7/Kconfig
@@ -5,6 +5,7 @@ config MX7
select ROM_UNIFIED_SECTIONS
select CPU_V7_HAS_VIRT
select CPU_V7_HAS_NONSEC
+ select ARCH_SUPPORT_PSCI
default y
config MX7D
diff --git a/arch/arm/mach-tegra/tegra124/Kconfig b/arch/arm/mach-tegra/tegra124/Kconfig
index 44f63f7..f97eb85 100644
--- a/arch/arm/mach-tegra/tegra124/Kconfig
+++ b/arch/arm/mach-tegra/tegra124/Kconfig
@@ -8,6 +8,7 @@ config TARGET_JETSON_TK1
bool "NVIDIA Tegra124 Jetson TK1 board"
select CPU_V7_HAS_NONSEC
select CPU_V7_HAS_VIRT
+ select ARCH_SUPPORT_PSCI
config TARGET_NYAN_BIG
bool "Google/NVIDIA Nyan-big Chromebook"
diff --git a/arch/arm/mach-uniphier/Kconfig b/arch/arm/mach-uniphier/Kconfig
index 8961458..7bee6c7 100644
--- a/arch/arm/mach-uniphier/Kconfig
+++ b/arch/arm/mach-uniphier/Kconfig
@@ -8,6 +8,7 @@ config ARCH_UNIPHIER_32BIT
select CPU_V7
select CPU_V7_HAS_NONSEC
select ARMV7_NONSEC
+ select ARCH_SUPPORT_PSCI
config ARCH_UNIPHIER_64BIT
bool
diff --git a/board/sunxi/Kconfig b/board/sunxi/Kconfig
index 1b30669..4e91f49 100644
--- a/board/sunxi/Kconfig
+++ b/board/sunxi/Kconfig
@@ -37,6 +37,7 @@ config MACH_SUN6I
select CPU_V7
select CPU_V7_HAS_NONSEC
select CPU_V7_HAS_VIRT
+ select ARCH_SUPPORT_PSCI
select SUNXI_GEN_SUN6I
select SUPPORT_SPL
select ARMV7_BOOT_SEC_DEFAULT if OLD_SUNXI_KERNEL_COMPAT
@@ -46,6 +47,7 @@ config MACH_SUN7I
select CPU_V7
select CPU_V7_HAS_NONSEC
select CPU_V7_HAS_VIRT
+ select ARCH_SUPPORT_PSCI
select SUNXI_GEN_SUN4I
select SUPPORT_SPL
select ARMV7_BOOT_SEC_DEFAULT if OLD_SUNXI_KERNEL_COMPAT
@@ -55,6 +57,7 @@ config MACH_SUN8I_A23
select CPU_V7
select CPU_V7_HAS_NONSEC
select CPU_V7_HAS_VIRT
+ select ARCH_SUPPORT_PSCI
select SUNXI_GEN_SUN6I
select SUPPORT_SPL
select ARMV7_BOOT_SEC_DEFAULT if OLD_SUNXI_KERNEL_COMPAT
@@ -64,6 +67,7 @@ config MACH_SUN8I_A33
select CPU_V7
select CPU_V7_HAS_NONSEC
select CPU_V7_HAS_VIRT
+ select ARCH_SUPPORT_PSCI
select SUNXI_GEN_SUN6I
select SUPPORT_SPL
select ARMV7_BOOT_SEC_DEFAULT if OLD_SUNXI_KERNEL_COMPAT
@@ -79,6 +83,7 @@ config MACH_SUN8I_H3
select CPU_V7
select CPU_V7_HAS_NONSEC
select CPU_V7_HAS_VIRT
+ select ARCH_SUPPORT_PSCI
select SUNXI_GEN_SUN6I
select SUPPORT_SPL
select ARMV7_BOOT_SEC_DEFAULT if OLD_SUNXI_KERNEL_COMPAT
diff --git a/include/configs/jetson-tk1.h b/include/configs/jetson-tk1.h
index 2b172a5..1eba74a 100644
--- a/include/configs/jetson-tk1.h
+++ b/include/configs/jetson-tk1.h
@@ -60,7 +60,6 @@
#include "tegra-common-usb-gadget.h"
#include "tegra-common-post.h"
-#define CONFIG_ARMV7_PSCI 1
#define CONFIG_ARMV7_PSCI_NR_CPUS 4
/* Reserve top 1M for secure RAM */
#define CONFIG_ARMV7_SECURE_BASE 0xfff00000
diff --git a/include/configs/ls1021aqds.h b/include/configs/ls1021aqds.h
index 47180f9..86969a1 100644
--- a/include/configs/ls1021aqds.h
+++ b/include/configs/ls1021aqds.h
@@ -9,7 +9,6 @@
#define CONFIG_LS102XA
-#define CONFIG_ARMV7_PSCI
#define CONFIG_ARMV7_PSCI_1_0
#define CONFIG_ARMV7_PSCI_NR_CPUS CONFIG_MAX_CPUS
diff --git a/include/configs/ls1021atwr.h b/include/configs/ls1021atwr.h
index 2f19950..d0fc7ff 100644
--- a/include/configs/ls1021atwr.h
+++ b/include/configs/ls1021atwr.h
@@ -9,7 +9,6 @@
#define CONFIG_LS102XA
-#define CONFIG_ARMV7_PSCI
#define CONFIG_ARMV7_PSCI_1_0
#define CONFIG_ARMV7_PSCI_NR_CPUS CONFIG_MAX_CPUS
diff --git a/include/configs/mx7_common.h b/include/configs/mx7_common.h
index 7295fa6..52c0d0f 100644
--- a/include/configs/mx7_common.h
+++ b/include/configs/mx7_common.h
@@ -72,7 +72,6 @@
#define CONFIG_CMD_FUSE
#define CONFIG_MXC_OCOTP
-#define CONFIG_ARMV7_PSCI
#define CONFIG_ARMV7_PSCI_NR_CPUS 2
#define CONFIG_ARMV7_SECURE_BASE 0x00900000
diff --git a/include/configs/sun6i.h b/include/configs/sun6i.h
index 0625502..41552c4 100644
--- a/include/configs/sun6i.h
+++ b/include/configs/sun6i.h
@@ -22,7 +22,6 @@
#define CONFIG_SUNXI_USB_PHYS 3
-#define CONFIG_ARMV7_PSCI 1
#define CONFIG_ARMV7_PSCI_NR_CPUS 4
#define CONFIG_ARMV7_SECURE_BASE SUNXI_SRAM_B_BASE
#define CONFIG_ARMV7_SECURE_MAX_SIZE (64 * 1024) /* 64 KB */
diff --git a/include/configs/sun7i.h b/include/configs/sun7i.h
index e9074d5..63760c5 100644
--- a/include/configs/sun7i.h
+++ b/include/configs/sun7i.h
@@ -20,7 +20,6 @@
#define CONFIG_SUNXI_USB_PHYS 3
-#define CONFIG_ARMV7_PSCI 1
#define CONFIG_ARMV7_PSCI_NR_CPUS 2
#define CONFIG_ARMV7_SECURE_BASE SUNXI_SRAM_B_BASE
#define CONFIG_ARMV7_SECURE_MAX_SIZE (64 * 1024) /* 64 KB */
diff --git a/include/configs/sun8i.h b/include/configs/sun8i.h
index b9a8731..151ffdc 100644
--- a/include/configs/sun8i.h
+++ b/include/configs/sun8i.h
@@ -27,7 +27,6 @@
#endif
#ifndef CONFIG_MACH_SUN8I_A83T
-#define CONFIG_ARMV7_PSCI 1
#if defined(CONFIG_MACH_SUN8I_A23)
#define CONFIG_ARMV7_PSCI_NR_CPUS 2
#elif defined(CONFIG_MACH_SUN8I_A33)
diff --git a/include/configs/uniphier.h b/include/configs/uniphier.h
index 55ba99c..66696c2 100644
--- a/include/configs/uniphier.h
+++ b/include/configs/uniphier.h
@@ -11,7 +11,6 @@
#ifndef __CONFIG_UNIPHIER_COMMON_H__
#define __CONFIG_UNIPHIER_COMMON_H__
-#define CONFIG_ARMV7_PSCI
#define CONFIG_ARMV7_PSCI_1_0
#define CONFIG_ARMV7_PSCI_NR_CPUS 4
--
1.9.1
^ permalink raw reply related [flat|nested] 16+ messages in thread
* [U-Boot] [PATCH v2 4/4] ARM: armv7: move ARMV7_PSCI_NR_CPUS to Kconfig
2016-08-30 7:22 [U-Boot] [PATCH v2 0/4] ARM: move ARMV7_PSCI and ARMV7_PSCI_NR_CPUS to Kconfig Masahiro Yamada
` (2 preceding siblings ...)
2016-08-30 7:22 ` [U-Boot] [PATCH v2 3/4] ARM: armv7: move CONFIG_ARMV7_PSCI to Kconfig Masahiro Yamada
@ 2016-08-30 7:22 ` Masahiro Yamada
2016-09-07 17:59 ` [U-Boot] [U-Boot, v2, " Tom Rini
2016-09-01 13:45 ` [U-Boot] [PATCH v2 0/4] ARM: move ARMV7_PSCI and " Alexander Graf
4 siblings, 1 reply; 16+ messages in thread
From: Masahiro Yamada @ 2016-08-30 7:22 UTC (permalink / raw)
To: u-boot
Move this option to Kconfig and set its default value to 4; this
increases the number of supported CPUs for some boards.
It consumes 1KB memory per CPU for PSCI stack, but it should not
be a big deal, given the amount of memory used for the modern OSes.
Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
---
Changes in v2:
- Add help to the Kconfig entry
arch/arm/cpu/armv7/Kconfig | 9 +++++++++
include/configs/arndale.h | 1 -
include/configs/bcm_ep_board.h | 1 -
include/configs/jetson-tk1.h | 1 -
include/configs/ls1021aqds.h | 1 -
include/configs/ls1021atwr.h | 1 -
include/configs/mx7_common.h | 1 -
include/configs/sun6i.h | 1 -
include/configs/sun7i.h | 1 -
include/configs/sun8i.h | 12 ------------
include/configs/uniphier.h | 1 -
include/configs/vexpress_ca15_tc2.h | 1 -
12 files changed, 9 insertions(+), 22 deletions(-)
diff --git a/arch/arm/cpu/armv7/Kconfig b/arch/arm/cpu/armv7/Kconfig
index 4390f59..b9c4f4e 100644
--- a/arch/arm/cpu/armv7/Kconfig
+++ b/arch/arm/cpu/armv7/Kconfig
@@ -41,6 +41,15 @@ config ARMV7_PSCI
help
Say Y here to enable PSCI support.
+config ARMV7_PSCI_NR_CPUS
+ int "Maximum supported CPUs for PSCI"
+ depends on ARMV7_NONSEC
+ default 4
+ help
+ The maximum number of CPUs supported in the PSCI firmware.
+ It is no problem to set a larger value than the number of
+ CPUs in the actual hardware implementation.
+
config ARMV7_LPAE
bool "Use LPAE page table format" if EXPERT
depends on CPU_V7
diff --git a/include/configs/arndale.h b/include/configs/arndale.h
index 18e59fc..b08f341 100644
--- a/include/configs/arndale.h
+++ b/include/configs/arndale.h
@@ -45,7 +45,6 @@
#define CONFIG_S5P_PA_SYSRAM 0x02020000
#define CONFIG_SMP_PEN_ADDR CONFIG_S5P_PA_SYSRAM
-#define CONFIG_ARMV7_PSCI_NR_CPUS 4
/* The PERIPHBASE in the CBAR register is wrong on the Arndale, so override it */
#define CONFIG_ARM_GIC_BASE_ADDRESS 0x10480000
diff --git a/include/configs/bcm_ep_board.h b/include/configs/bcm_ep_board.h
index b5e5029..4b255d8 100644
--- a/include/configs/bcm_ep_board.h
+++ b/include/configs/bcm_ep_board.h
@@ -91,6 +91,5 @@
/* Misc utility code */
#define CONFIG_BOUNCE_BUFFER
#define CONFIG_CRC32_VERIFY
-#define CONFIG_ARMV7_PSCI_NR_CPUS 4
#endif /* __BCM_EP_BOARD_H */
diff --git a/include/configs/jetson-tk1.h b/include/configs/jetson-tk1.h
index 1eba74a..7c59790 100644
--- a/include/configs/jetson-tk1.h
+++ b/include/configs/jetson-tk1.h
@@ -60,7 +60,6 @@
#include "tegra-common-usb-gadget.h"
#include "tegra-common-post.h"
-#define CONFIG_ARMV7_PSCI_NR_CPUS 4
/* Reserve top 1M for secure RAM */
#define CONFIG_ARMV7_SECURE_BASE 0xfff00000
#define CONFIG_ARMV7_SECURE_RESERVE_SIZE 0x00100000
diff --git a/include/configs/ls1021aqds.h b/include/configs/ls1021aqds.h
index 86969a1..abbd1c4 100644
--- a/include/configs/ls1021aqds.h
+++ b/include/configs/ls1021aqds.h
@@ -10,7 +10,6 @@
#define CONFIG_LS102XA
#define CONFIG_ARMV7_PSCI_1_0
-#define CONFIG_ARMV7_PSCI_NR_CPUS CONFIG_MAX_CPUS
#define CONFIG_ARMV7_SECURE_BASE OCRAM_BASE_S_ADDR
diff --git a/include/configs/ls1021atwr.h b/include/configs/ls1021atwr.h
index d0fc7ff..511b0b3 100644
--- a/include/configs/ls1021atwr.h
+++ b/include/configs/ls1021atwr.h
@@ -10,7 +10,6 @@
#define CONFIG_LS102XA
#define CONFIG_ARMV7_PSCI_1_0
-#define CONFIG_ARMV7_PSCI_NR_CPUS CONFIG_MAX_CPUS
#define CONFIG_ARMV7_SECURE_BASE OCRAM_BASE_S_ADDR
diff --git a/include/configs/mx7_common.h b/include/configs/mx7_common.h
index 52c0d0f..4b1077c 100644
--- a/include/configs/mx7_common.h
+++ b/include/configs/mx7_common.h
@@ -72,7 +72,6 @@
#define CONFIG_CMD_FUSE
#define CONFIG_MXC_OCOTP
-#define CONFIG_ARMV7_PSCI_NR_CPUS 2
#define CONFIG_ARMV7_SECURE_BASE 0x00900000
#endif
diff --git a/include/configs/sun6i.h b/include/configs/sun6i.h
index 41552c4..67a26c2 100644
--- a/include/configs/sun6i.h
+++ b/include/configs/sun6i.h
@@ -22,7 +22,6 @@
#define CONFIG_SUNXI_USB_PHYS 3
-#define CONFIG_ARMV7_PSCI_NR_CPUS 4
#define CONFIG_ARMV7_SECURE_BASE SUNXI_SRAM_B_BASE
#define CONFIG_ARMV7_SECURE_MAX_SIZE (64 * 1024) /* 64 KB */
diff --git a/include/configs/sun7i.h b/include/configs/sun7i.h
index 63760c5..d8e6e20 100644
--- a/include/configs/sun7i.h
+++ b/include/configs/sun7i.h
@@ -20,7 +20,6 @@
#define CONFIG_SUNXI_USB_PHYS 3
-#define CONFIG_ARMV7_PSCI_NR_CPUS 2
#define CONFIG_ARMV7_SECURE_BASE SUNXI_SRAM_B_BASE
#define CONFIG_ARMV7_SECURE_MAX_SIZE (64 * 1024) /* 64 KB */
diff --git a/include/configs/sun8i.h b/include/configs/sun8i.h
index 151ffdc..011d70f 100644
--- a/include/configs/sun8i.h
+++ b/include/configs/sun8i.h
@@ -26,18 +26,6 @@
#define CONFIG_SUNXI_USB_PHYS 2
#endif
-#ifndef CONFIG_MACH_SUN8I_A83T
-#if defined(CONFIG_MACH_SUN8I_A23)
-#define CONFIG_ARMV7_PSCI_NR_CPUS 2
-#elif defined(CONFIG_MACH_SUN8I_A33)
-#define CONFIG_ARMV7_PSCI_NR_CPUS 4
-#elif defined(CONFIG_MACH_SUN8I_H3)
-#define CONFIG_ARMV7_PSCI_NR_CPUS 4
-#else
-#error Unsupported sun8i variant
-#endif
-#endif
-
/*
* Include common sunxi configuration where most the settings are
*/
diff --git a/include/configs/uniphier.h b/include/configs/uniphier.h
index 66696c2..b3ca46b 100644
--- a/include/configs/uniphier.h
+++ b/include/configs/uniphier.h
@@ -12,7 +12,6 @@
#define __CONFIG_UNIPHIER_COMMON_H__
#define CONFIG_ARMV7_PSCI_1_0
-#define CONFIG_ARMV7_PSCI_NR_CPUS 4
#define CONFIG_SYS_EEPROM_PAGE_WRITE_DELAY_MS 10
diff --git a/include/configs/vexpress_ca15_tc2.h b/include/configs/vexpress_ca15_tc2.h
index 9583e8c..b509a9c 100644
--- a/include/configs/vexpress_ca15_tc2.h
+++ b/include/configs/vexpress_ca15_tc2.h
@@ -16,6 +16,5 @@
#define CONFIG_SYSFLAGS_ADDR 0x1c010030
#define CONFIG_SMP_PEN_ADDR CONFIG_SYSFLAGS_ADDR
-#define CONFIG_ARMV7_PSCI_NR_CPUS 4
#endif
--
1.9.1
^ permalink raw reply related [flat|nested] 16+ messages in thread
* [U-Boot] [PATCH v2 0/4] ARM: move ARMV7_PSCI and ARMV7_PSCI_NR_CPUS to Kconfig
2016-08-30 7:22 [U-Boot] [PATCH v2 0/4] ARM: move ARMV7_PSCI and ARMV7_PSCI_NR_CPUS to Kconfig Masahiro Yamada
` (3 preceding siblings ...)
2016-08-30 7:22 ` [U-Boot] [PATCH v2 4/4] ARM: armv7: move ARMV7_PSCI_NR_CPUS " Masahiro Yamada
@ 2016-09-01 13:45 ` Alexander Graf
4 siblings, 0 replies; 16+ messages in thread
From: Alexander Graf @ 2016-09-01 13:45 UTC (permalink / raw)
To: u-boot
On 08/30/2016 09:22 AM, Masahiro Yamada wrote:
> Masahiro Yamada (4):
> ARM: tegra: remove wrong dependency on SPL_BUILD
> ARM: armv7: guard memory reserve for PSCI with #ifdef
> CONFIG_ARMV7_PSCI
> ARM: armv7: move CONFIG_ARMV7_PSCI to Kconfig
> ARM: armv7: move ARMV7_PSCI_NR_CPUS to Kconfig
Reviewed-by: Alexander Graf <agraf@suse.de>
If you want to make me happier next time, write up a description on what
the patch set is about in the cover letter :)
Alex
^ permalink raw reply [flat|nested] 16+ messages in thread
* [U-Boot] [PATCH v2 3/4] ARM: armv7: move CONFIG_ARMV7_PSCI to Kconfig
2016-08-30 7:22 ` [U-Boot] [PATCH v2 3/4] ARM: armv7: move CONFIG_ARMV7_PSCI to Kconfig Masahiro Yamada
@ 2016-09-07 0:53 ` Masahiro Yamada
2016-09-07 12:49 ` Tom Rini
2016-09-07 17:59 ` [U-Boot] [U-Boot, v2, " Tom Rini
2016-09-07 17:59 ` Tom Rini
2 siblings, 1 reply; 16+ messages in thread
From: Masahiro Yamada @ 2016-09-07 0:53 UTC (permalink / raw)
To: u-boot
Tom,
2016-08-30 16:22 GMT+09:00 Masahiro Yamada <yamada.masahiro@socionext.com>:
> Add ARCH_SUPPORT_PSCI as a non-configurable option that platforms
> can select. Then, move CONFIG_ARMV7_PSCI, which is automatically
> enabled if both ARMV7_NONSEC and ARCH_SUPPORT_PSCI are enabled.
>
> Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
> ---
If possible,
please add Alex's Reviewed-by to each patch of this series
when applied.
Alex issued his tag in the cover letter, but I assume Patchwork cannot
handle this automatically.
http://lists.denx.de/pipermail/u-boot/2016-September/265486.html
--
Best Regards
Masahiro Yamada
^ permalink raw reply [flat|nested] 16+ messages in thread
* [U-Boot] [PATCH v2 3/4] ARM: armv7: move CONFIG_ARMV7_PSCI to Kconfig
2016-09-07 0:53 ` Masahiro Yamada
@ 2016-09-07 12:49 ` Tom Rini
0 siblings, 0 replies; 16+ messages in thread
From: Tom Rini @ 2016-09-07 12:49 UTC (permalink / raw)
To: u-boot
On Wed, Sep 07, 2016 at 09:53:13AM +0900, Masahiro Yamada wrote:
> Tom,
>
> 2016-08-30 16:22 GMT+09:00 Masahiro Yamada <yamada.masahiro@socionext.com>:
> > Add ARCH_SUPPORT_PSCI as a non-configurable option that platforms
> > can select. Then, move CONFIG_ARMV7_PSCI, which is automatically
> > enabled if both ARMV7_NONSEC and ARCH_SUPPORT_PSCI are enabled.
> >
> > Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
> > ---
>
>
> If possible,
> please add Alex's Reviewed-by to each patch of this series
> when applied.
>
>
> Alex issued his tag in the cover letter, but I assume Patchwork cannot
> handle this automatically.
> http://lists.denx.de/pipermail/u-boot/2016-September/265486.html
Yes, stuff like that is still a work in progress, added, thanks!
--
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: Digital signature
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20160907/a52afe0d/attachment.sig>
^ permalink raw reply [flat|nested] 16+ messages in thread
* [U-Boot] [U-Boot, v2, 1/4] ARM: tegra: remove wrong dependency on SPL_BUILD
2016-08-30 7:22 ` [U-Boot] [PATCH v2 1/4] ARM: tegra: remove wrong dependency on SPL_BUILD Masahiro Yamada
@ 2016-09-07 17:59 ` Tom Rini
0 siblings, 0 replies; 16+ messages in thread
From: Tom Rini @ 2016-09-07 17:59 UTC (permalink / raw)
To: u-boot
On Tue, Aug 30, 2016 at 04:22:20PM +0900, Masahiro Yamada wrote:
> SPL_BUILD is not a CONFIG in Kconfig, so !SPL_BUILD is always true.
>
> Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
Applied to u-boot/master, thanks!
--
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: Digital signature
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20160907/2e596a2c/attachment.sig>
^ permalink raw reply [flat|nested] 16+ messages in thread
* [U-Boot] [U-Boot, v2, 2/4] ARM: armv7: guard memory reserve for PSCI with #ifdef CONFIG_ARMV7_PSCI
2016-08-30 7:22 ` [U-Boot] [PATCH v2 2/4] ARM: armv7: guard memory reserve for PSCI with #ifdef CONFIG_ARMV7_PSCI Masahiro Yamada
@ 2016-09-07 17:59 ` Tom Rini
2016-09-23 5:09 ` [U-Boot] [PATCH v2 " Jon Masters
1 sibling, 0 replies; 16+ messages in thread
From: Tom Rini @ 2016-09-07 17:59 UTC (permalink / raw)
To: u-boot
On Tue, Aug 30, 2016 at 04:22:21PM +0900, Masahiro Yamada wrote:
> If CONFIG_ARMV7_NONSEC is enabled, the linker script requires
> CONFIG_ARMV7_PSCI_NR_CPUS regardless of CONFIG_ARMV7_PSCI.
>
> Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
Applied to u-boot/master, thanks!
--
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: Digital signature
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20160907/7e67cd33/attachment.sig>
^ permalink raw reply [flat|nested] 16+ messages in thread
* [U-Boot] [U-Boot, v2, 3/4] ARM: armv7: move CONFIG_ARMV7_PSCI to Kconfig
2016-08-30 7:22 ` [U-Boot] [PATCH v2 3/4] ARM: armv7: move CONFIG_ARMV7_PSCI to Kconfig Masahiro Yamada
2016-09-07 0:53 ` Masahiro Yamada
@ 2016-09-07 17:59 ` Tom Rini
2016-09-07 17:59 ` Tom Rini
2 siblings, 0 replies; 16+ messages in thread
From: Tom Rini @ 2016-09-07 17:59 UTC (permalink / raw)
To: u-boot
On Tue, Aug 30, 2016 at 04:22:22PM +0900, Masahiro Yamada wrote:
> Add ARCH_SUPPORT_PSCI as a non-configurable option that platforms
> can select. Then, move CONFIG_ARMV7_PSCI, which is automatically
> enabled if both ARMV7_NONSEC and ARCH_SUPPORT_PSCI are enabled.
>
> Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
Applied to u-boot/master, thanks!
--
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: Digital signature
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20160907/26fefb50/attachment.sig>
^ permalink raw reply [flat|nested] 16+ messages in thread
* [U-Boot] [U-Boot, v2, 3/4] ARM: armv7: move CONFIG_ARMV7_PSCI to Kconfig
2016-08-30 7:22 ` [U-Boot] [PATCH v2 3/4] ARM: armv7: move CONFIG_ARMV7_PSCI to Kconfig Masahiro Yamada
2016-09-07 0:53 ` Masahiro Yamada
2016-09-07 17:59 ` [U-Boot] [U-Boot, v2, " Tom Rini
@ 2016-09-07 17:59 ` Tom Rini
2 siblings, 0 replies; 16+ messages in thread
From: Tom Rini @ 2016-09-07 17:59 UTC (permalink / raw)
To: u-boot
On Tue, Aug 30, 2016 at 04:22:22PM +0900, Masahiro Yamada wrote:
> Add ARCH_SUPPORT_PSCI as a non-configurable option that platforms
> can select. Then, move CONFIG_ARMV7_PSCI, which is automatically
> enabled if both ARMV7_NONSEC and ARCH_SUPPORT_PSCI are enabled.
>
> Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
Applied to u-boot/master, thanks!
--
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: Digital signature
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20160907/264de00a/attachment.sig>
^ permalink raw reply [flat|nested] 16+ messages in thread
* [U-Boot] [U-Boot, v2, 4/4] ARM: armv7: move ARMV7_PSCI_NR_CPUS to Kconfig
2016-08-30 7:22 ` [U-Boot] [PATCH v2 4/4] ARM: armv7: move ARMV7_PSCI_NR_CPUS " Masahiro Yamada
@ 2016-09-07 17:59 ` Tom Rini
0 siblings, 0 replies; 16+ messages in thread
From: Tom Rini @ 2016-09-07 17:59 UTC (permalink / raw)
To: u-boot
On Tue, Aug 30, 2016 at 04:22:23PM +0900, Masahiro Yamada wrote:
> Move this option to Kconfig and set its default value to 4; this
> increases the number of supported CPUs for some boards.
>
> It consumes 1KB memory per CPU for PSCI stack, but it should not
> be a big deal, given the amount of memory used for the modern OSes.
>
> Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
Applied to u-boot/master, thanks!
--
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: Digital signature
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20160907/dda152b4/attachment.sig>
^ permalink raw reply [flat|nested] 16+ messages in thread
* [U-Boot] [PATCH v2 2/4] ARM: armv7: guard memory reserve for PSCI with #ifdef CONFIG_ARMV7_PSCI
2016-08-30 7:22 ` [U-Boot] [PATCH v2 2/4] ARM: armv7: guard memory reserve for PSCI with #ifdef CONFIG_ARMV7_PSCI Masahiro Yamada
2016-09-07 17:59 ` [U-Boot] [U-Boot, v2, " Tom Rini
@ 2016-09-23 5:09 ` Jon Masters
2016-09-23 5:34 ` Jon Masters
1 sibling, 1 reply; 16+ messages in thread
From: Jon Masters @ 2016-09-23 5:09 UTC (permalink / raw)
To: u-boot
On 08/30/2016 03:22 AM, Masahiro Yamada wrote:
> If CONFIG_ARMV7_NONSEC is enabled, the linker script requires
> CONFIG_ARMV7_PSCI_NR_CPUS regardless of CONFIG_ARMV7_PSCI.
>
> Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
> ---
>
> Changes in v2: None
>
> arch/arm/cpu/u-boot.lds | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/arch/arm/cpu/u-boot.lds b/arch/arm/cpu/u-boot.lds
> index 36c9fd0..0a5fae6 100644
> --- a/arch/arm/cpu/u-boot.lds
> +++ b/arch/arm/cpu/u-boot.lds
> @@ -83,10 +83,10 @@ SECTIONS
> #endif
> {
> KEEP(*(.__secure_stack_start))
> -
> +#ifdef CONFIG_ARMV7_PSCI
> /* Skip addreses for stack */
> . = . + CONFIG_ARMV7_PSCI_NR_CPUS * ARM_PSCI_STACK_SIZE;
> -
> +#endif
> /* Align end of stack section to page boundary */
> . = ALIGN(CONSTANT(COMMONPAGESIZE));
>
>
In the Fedora U-Boot ELF builds being tested for 32-bit U-Boot on KVM
(AArch32 on ARMv8 hardware, as a means of decommissioning older v7
builders and replacing them with VMs on v8 hosts) this results in the
following for a vexpress_ca15_tc2 U-Boot build target:
2 .secure_text 00000130 8082d000 8082d000 0003d000 2**5
CONTENTS, ALLOC, LOAD, READONLY, CODE
3 .secure_stack 00000000 8082e000 8082e000 0004e000 2**0
ALLOC
4 .__secure_end 00000004 8082e000 8082e000 0003e000 2**0
CONTENTS, ALLOC, LOAD, DATA
Which QEMU then refuses to load because there's no space allocated for
the secure_stack. What do you think we should do about this? I haven't
been tracking the PSCI implementation (which is pretty cool btw, woot!)
work you've been doing and we don't really need it for the VM case
anyway, just need the resulting build to link correctly. So sure,
probably I/we need to understand the status of the PSCI work too.
Jon.
--
Computer Architect | Sent from my Fedora powered laptop
^ permalink raw reply [flat|nested] 16+ messages in thread
* [U-Boot] [PATCH v2 2/4] ARM: armv7: guard memory reserve for PSCI with #ifdef CONFIG_ARMV7_PSCI
2016-09-23 5:09 ` [U-Boot] [PATCH v2 " Jon Masters
@ 2016-09-23 5:34 ` Jon Masters
2016-09-26 5:25 ` Masahiro Yamada
0 siblings, 1 reply; 16+ messages in thread
From: Jon Masters @ 2016-09-23 5:34 UTC (permalink / raw)
To: u-boot
On 09/23/2016 01:09 AM, Jon Masters wrote:
> On 08/30/2016 03:22 AM, Masahiro Yamada wrote:
>> If CONFIG_ARMV7_NONSEC is enabled, the linker script requires
>> CONFIG_ARMV7_PSCI_NR_CPUS regardless of CONFIG_ARMV7_PSCI.
>>
>> Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
>> ---
>>
>> Changes in v2: None
>>
>> arch/arm/cpu/u-boot.lds | 4 ++--
>> 1 file changed, 2 insertions(+), 2 deletions(-)
>>
>> diff --git a/arch/arm/cpu/u-boot.lds b/arch/arm/cpu/u-boot.lds
>> index 36c9fd0..0a5fae6 100644
>> --- a/arch/arm/cpu/u-boot.lds
>> +++ b/arch/arm/cpu/u-boot.lds
>> @@ -83,10 +83,10 @@ SECTIONS
>> #endif
>> {
>> KEEP(*(.__secure_stack_start))
>> -
>> +#ifdef CONFIG_ARMV7_PSCI
>> /* Skip addreses for stack */
>> . = . + CONFIG_ARMV7_PSCI_NR_CPUS * ARM_PSCI_STACK_SIZE;
>> -
>> +#endif
>> /* Align end of stack section to page boundary */
>> . = ALIGN(CONSTANT(COMMONPAGESIZE));
>>
>>
>
> In the Fedora U-Boot ELF builds being tested for 32-bit U-Boot on KVM
> (AArch32 on ARMv8 hardware, as a means of decommissioning older v7
> builders and replacing them with VMs on v8 hosts) this results in the
> following for a vexpress_ca15_tc2 U-Boot build target:
>
> 2 .secure_text 00000130 8082d000 8082d000 0003d000 2**5
> CONTENTS, ALLOC, LOAD, READONLY, CODE
> 3 .secure_stack 00000000 8082e000 8082e000 0004e000 2**0
> ALLOC
> 4 .__secure_end 00000004 8082e000 8082e000 0003e000 2**0
> CONTENTS, ALLOC, LOAD, DATA
>
> Which QEMU then refuses to load because there's no space allocated for
> the secure_stack. What do you think we should do about this? I haven't
> been tracking the PSCI implementation (which is pretty cool btw, woot!)
> work you've been doing and we don't really need it for the VM case
> anyway, just need the resulting build to link correctly. So sure,
> probably I/we need to understand the status of the PSCI work too.
Ok, so the specific problem seems to be:
commit 5a3aae68c74e029ed29d22999ab6f22687382f2d
Author: Masahiro Yamada <yamada.masahiro@socionext.com>
Date: Tue Aug 30 16:22:21 2016 +0900
ARM: armv7: guard memory reserve for PSCI with #ifdef CONFIG_ARMV7_PSCI
If CONFIG_ARMV7_NONSEC is enabled, the linker script requires
CONFIG_ARMV7_PSCI_NR_CPUS regardless of CONFIG_ARMV7_PSCI.
Reviewed-by: Alexander Graf <agraf@suse.de>
Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
This introduced the change that results in no secure stack space being
allocated in the ELF image. The vexpress_ca15_tc2 target doesn't claim
to support PSCI /however/ the default includes say that we are
ARMV7_NONSEC and CONFIG_ARMV7_PSCI_NR_CPUS will default to 4 in that
case regardless, so this is why we were previously allocating space for
the (presumably unused) secure_stack (prior to the above commit). That
commit changed things by wrapping it in a conditional on ARMV7_PSCI.
Can someone who is actually a U-Boot person tell us what the intention
is in this case, and what should actually happen to the linker script?
Jon.
--
Computer Architect | Sent from my Fedora powered laptop
^ permalink raw reply [flat|nested] 16+ messages in thread
* [U-Boot] [PATCH v2 2/4] ARM: armv7: guard memory reserve for PSCI with #ifdef CONFIG_ARMV7_PSCI
2016-09-23 5:34 ` Jon Masters
@ 2016-09-26 5:25 ` Masahiro Yamada
0 siblings, 0 replies; 16+ messages in thread
From: Masahiro Yamada @ 2016-09-26 5:25 UTC (permalink / raw)
To: u-boot
Hi Jon,
2016-09-23 14:34 GMT+09:00 Jon Masters <jcm@redhat.com>:
> On 09/23/2016 01:09 AM, Jon Masters wrote:
>> On 08/30/2016 03:22 AM, Masahiro Yamada wrote:
>>> If CONFIG_ARMV7_NONSEC is enabled, the linker script requires
>>> CONFIG_ARMV7_PSCI_NR_CPUS regardless of CONFIG_ARMV7_PSCI.
>>>
>>> Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
>>> ---
>>>
>>> Changes in v2: None
>>>
>>> arch/arm/cpu/u-boot.lds | 4 ++--
>>> 1 file changed, 2 insertions(+), 2 deletions(-)
>>>
>>> diff --git a/arch/arm/cpu/u-boot.lds b/arch/arm/cpu/u-boot.lds
>>> index 36c9fd0..0a5fae6 100644
>>> --- a/arch/arm/cpu/u-boot.lds
>>> +++ b/arch/arm/cpu/u-boot.lds
>>> @@ -83,10 +83,10 @@ SECTIONS
>>> #endif
>>> {
>>> KEEP(*(.__secure_stack_start))
>>> -
>>> +#ifdef CONFIG_ARMV7_PSCI
>>> /* Skip addreses for stack */
>>> . = . + CONFIG_ARMV7_PSCI_NR_CPUS * ARM_PSCI_STACK_SIZE;
>>> -
>>> +#endif
>>> /* Align end of stack section to page boundary */
>>> . = ALIGN(CONSTANT(COMMONPAGESIZE));
>>>
>>>
>>
>> In the Fedora U-Boot ELF builds being tested for 32-bit U-Boot on KVM
>> (AArch32 on ARMv8 hardware, as a means of decommissioning older v7
>> builders and replacing them with VMs on v8 hosts) this results in the
>> following for a vexpress_ca15_tc2 U-Boot build target:
>>
>> 2 .secure_text 00000130 8082d000 8082d000 0003d000 2**5
>> CONTENTS, ALLOC, LOAD, READONLY, CODE
>> 3 .secure_stack 00000000 8082e000 8082e000 0004e000 2**0
>> ALLOC
>> 4 .__secure_end 00000004 8082e000 8082e000 0003e000 2**0
>> CONTENTS, ALLOC, LOAD, DATA
>>
>> Which QEMU then refuses to load because there's no space allocated for
>> the secure_stack. What do you think we should do about this? I haven't
>> been tracking the PSCI implementation (which is pretty cool btw, woot!)
>> work you've been doing and we don't really need it for the VM case
>> anyway, just need the resulting build to link correctly. So sure,
>> probably I/we need to understand the status of the PSCI work too.
>
> Ok, so the specific problem seems to be:
>
> commit 5a3aae68c74e029ed29d22999ab6f22687382f2d
> Author: Masahiro Yamada <yamada.masahiro@socionext.com>
> Date: Tue Aug 30 16:22:21 2016 +0900
>
> ARM: armv7: guard memory reserve for PSCI with #ifdef CONFIG_ARMV7_PSCI
>
> If CONFIG_ARMV7_NONSEC is enabled, the linker script requires
> CONFIG_ARMV7_PSCI_NR_CPUS regardless of CONFIG_ARMV7_PSCI.
>
> Reviewed-by: Alexander Graf <agraf@suse.de>
> Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
>
> This introduced the change that results in no secure stack space being
> allocated in the ELF image. The vexpress_ca15_tc2 target doesn't claim
> to support PSCI /however/ the default includes say that we are
> ARMV7_NONSEC and CONFIG_ARMV7_PSCI_NR_CPUS will default to 4 in that
> case regardless, so this is why we were previously allocating space for
> the (presumably unused) secure_stack (prior to the above commit). That
> commit changed things by wrapping it in a conditional on ARMV7_PSCI.
>
> Can someone who is actually a U-Boot person tell us what the intention
> is in this case, and what should actually happen to the linker script?
>
> Jon.
>
My motivation for that commit was just
to move some PSCI related options to Kconfig.
If the empty section is the cause of your problem, I think
http://patchwork.ozlabs.org/patch/674962/
will work.
But, it will break CONFIG_ARMV7_SECURE_MAX_SIZE checking, instead.
The PSCI work for ARMv7 is mostly from Chen-Yu. So, I am hoping he will help us.
--
Best Regards
Masahiro Yamada
^ permalink raw reply [flat|nested] 16+ messages in thread
end of thread, other threads:[~2016-09-26 5:25 UTC | newest]
Thread overview: 16+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-08-30 7:22 [U-Boot] [PATCH v2 0/4] ARM: move ARMV7_PSCI and ARMV7_PSCI_NR_CPUS to Kconfig Masahiro Yamada
2016-08-30 7:22 ` [U-Boot] [PATCH v2 1/4] ARM: tegra: remove wrong dependency on SPL_BUILD Masahiro Yamada
2016-09-07 17:59 ` [U-Boot] [U-Boot, v2, " Tom Rini
2016-08-30 7:22 ` [U-Boot] [PATCH v2 2/4] ARM: armv7: guard memory reserve for PSCI with #ifdef CONFIG_ARMV7_PSCI Masahiro Yamada
2016-09-07 17:59 ` [U-Boot] [U-Boot, v2, " Tom Rini
2016-09-23 5:09 ` [U-Boot] [PATCH v2 " Jon Masters
2016-09-23 5:34 ` Jon Masters
2016-09-26 5:25 ` Masahiro Yamada
2016-08-30 7:22 ` [U-Boot] [PATCH v2 3/4] ARM: armv7: move CONFIG_ARMV7_PSCI to Kconfig Masahiro Yamada
2016-09-07 0:53 ` Masahiro Yamada
2016-09-07 12:49 ` Tom Rini
2016-09-07 17:59 ` [U-Boot] [U-Boot, v2, " Tom Rini
2016-09-07 17:59 ` Tom Rini
2016-08-30 7:22 ` [U-Boot] [PATCH v2 4/4] ARM: armv7: move ARMV7_PSCI_NR_CPUS " Masahiro Yamada
2016-09-07 17:59 ` [U-Boot] [U-Boot, v2, " Tom Rini
2016-09-01 13:45 ` [U-Boot] [PATCH v2 0/4] ARM: move ARMV7_PSCI and " Alexander Graf
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.