aboutsummaryrefslogtreecommitdiff
path: root/core/arch/arm/cpu
diff options
context:
space:
mode:
authorEtienne Carriere <etienne.carriere@linaro.org>2017-05-23 18:31:16 +0200
committerJérôme Forissier <jerome.forissier@linaro.org>2017-05-29 10:41:53 +0200
commit438968513e584eb74737a547fd9472044774500d (patch)
treef8672722dc659075c6e6910d64a7ecc5b9401fd6 /core/arch/arm/cpu
parentfc68faa5a2ca626d7e24442fd61303db335e0cdd (diff)
core: factorize cpu support
Create core/arch/arm/cpu/<cpu-name>.mk to store CPU generic configurations settings. Update supported platforms to rely on the generic CPU support. Platform shall still specify whether they support or not the NEON extension. Cortex-A53 and Cortex-A57 are all ARMv8.0 compliant. For ARMv8 core, we will use ARMv8-A architecture minor version configuration files. Signed-off-by: Etienne Carriere <etienne.carriere@linaro.org> Acked-by: Jerome Forissier <jerome.forissier@linaro.org>
Diffstat (limited to 'core/arch/arm/cpu')
-rw-r--r--core/arch/arm/cpu/cortex-a15.mk7
-rw-r--r--core/arch/arm/cpu/cortex-a7.mk7
-rw-r--r--core/arch/arm/cpu/cortex-a9.mk9
-rw-r--r--core/arch/arm/cpu/cortex-armv8-0.mk7
4 files changed, 30 insertions, 0 deletions
diff --git a/core/arch/arm/cpu/cortex-a15.mk b/core/arch/arm/cpu/cortex-a15.mk
new file mode 100644
index 00000000..37ad2a44
--- /dev/null
+++ b/core/arch/arm/cpu/cortex-a15.mk
@@ -0,0 +1,7 @@
+$(call force,CFG_ARM32_core,y)
+$(call force,CFG_ARM64_core,n)
+$(call force,CFG_HWSUPP_MEM_PERM_WXN,y)
+$(call force,CFG_HWSUPP_MEM_PERM_PXN,y)
+arm32-platform-cpuarch := cortex-a15
+arm32-platform-cflags += -mcpu=$(arm32-platform-cpuarch)
+arm32-platform-aflags += -mcpu=$(arm32-platform-cpuarch)
diff --git a/core/arch/arm/cpu/cortex-a7.mk b/core/arch/arm/cpu/cortex-a7.mk
new file mode 100644
index 00000000..7d6dcaf7
--- /dev/null
+++ b/core/arch/arm/cpu/cortex-a7.mk
@@ -0,0 +1,7 @@
+$(call force,CFG_ARM32_core,y)
+$(call force,CFG_ARM64_core,n)
+$(call force,CFG_HWSUPP_MEM_PERM_WXN,y)
+$(call force,CFG_HWSUPP_MEM_PERM_PXN,y)
+arm32-platform-cpuarch := cortex-a7
+arm32-platform-cflags += -mcpu=$(arm32-platform-cpuarch)
+arm32-platform-aflags += -mcpu=$(arm32-platform-cpuarch)
diff --git a/core/arch/arm/cpu/cortex-a9.mk b/core/arch/arm/cpu/cortex-a9.mk
new file mode 100644
index 00000000..b1ec77aa
--- /dev/null
+++ b/core/arch/arm/cpu/cortex-a9.mk
@@ -0,0 +1,9 @@
+$(call force,CFG_ARM32_core,y)
+$(call force,CFG_ARM64_core,n)
+$(call force,CFG_WITH_LPAE,n)
+$(call force,CFG_HWSUPP_MEM_PERM_WXN,n)
+$(call force,CFG_HWSUPP_MEM_PERM_PXN,n)
+$(call force,CFG_SECURE_TIME_SOURCE_CNTPCT,n)
+arm32-platform-cpuarch := cortex-a9
+arm32-platform-cflags += -mcpu=$(arm32-platform-cpuarch)
+arm32-platform-aflags += -mcpu=$(arm32-platform-cpuarch)
diff --git a/core/arch/arm/cpu/cortex-armv8-0.mk b/core/arch/arm/cpu/cortex-armv8-0.mk
new file mode 100644
index 00000000..42ebd375
--- /dev/null
+++ b/core/arch/arm/cpu/cortex-armv8-0.mk
@@ -0,0 +1,7 @@
+$(call force,CFG_HWSUPP_MEM_PERM_WXN,y)
+$(call force,CFG_HWSUPP_MEM_PERM_PXN,y)
+# cortex-a53 and cortex-a57 complies on arm32 architectures
+arm32-platform-cpuarch := cortex-a53
+arm32-platform-cflags += -mcpu=$(arm32-platform-cpuarch)
+arm32-platform-aflags += -mcpu=$(arm32-platform-cpuarch)
+platform-flavor-armv8 := 1