aboutsummaryrefslogtreecommitdiff
path: root/sys/arm
diff options
context:
space:
mode:
authorAndrew Turner <andrew@FreeBSD.org>2016-10-04 12:25:44 +0000
committerAndrew Turner <andrew@FreeBSD.org>2016-10-04 12:25:44 +0000
commit1834282de6b9f6fd30291bfe1cc9c3ecf5547c40 (patch)
tree21afc3d068e0fcf6f3725b0103bde6dc51f09bb7 /sys/arm
parentd029cb6152ecc692603ec44312805f84aa4f0140 (diff)
downloadsrc-1834282de6b9f6fd30291bfe1cc9c3ecf5547c40.tar.gz
src-1834282de6b9f6fd30291bfe1cc9c3ecf5547c40.zip
Split CPU_CORTEXA into CPU_CORTEXA8, for the Cortex-A8, and CPU_CORTEXA_MP,
for later Cortex-A CPUs that support the Multiprocessor Extensions. This will be needed to support both in a single GENERIC kernel while still being able to only build for a single SoC. Reviewed by: mmel Relnotes: yes Sponsored by: ABT Systems Ltd Differential Revision: https://reviews.freebsd.org/D8138
Notes
Notes: svn path=/head/; revision=306672
Diffstat (limited to 'sys/arm')
-rw-r--r--sys/arm/allwinner/std.allwinner2
-rw-r--r--sys/arm/allwinner/std.allwinner_up2
-rw-r--r--sys/arm/altera/socfpga/std.socfpga2
-rw-r--r--sys/arm/amlogic/aml8726/std.aml87262
-rw-r--r--sys/arm/annapurna/alpine/std.alpine2
-rw-r--r--sys/arm/arm/cpufunc.c16
-rw-r--r--sys/arm/arm/elf_trampoline.c2
-rw-r--r--sys/arm/broadcom/bcm2835/std.bcm28362
-rw-r--r--sys/arm/conf/GENERIC2
-rw-r--r--sys/arm/freescale/imx/std.imx512
-rw-r--r--sys/arm/freescale/imx/std.imx532
-rw-r--r--sys/arm/freescale/imx/std.imx62
-rw-r--r--sys/arm/freescale/vybrid/std.vybrid2
-rw-r--r--sys/arm/include/cpuconf.h9
-rw-r--r--sys/arm/include/cpufunc.h3
-rw-r--r--sys/arm/include/intr.h2
-rw-r--r--sys/arm/mv/armada38x/std.armada38x2
-rw-r--r--sys/arm/nvidia/tegra124/std.tegra1242
-rw-r--r--sys/arm/qemu/std.virt2
-rw-r--r--sys/arm/rockchip/std.rk30xx2
-rw-r--r--sys/arm/samsung/exynos/std.exynos52502
-rw-r--r--sys/arm/samsung/exynos/std.exynos54202
-rw-r--r--sys/arm/ti/am335x/std.am335x2
-rw-r--r--sys/arm/ti/omap4/std.omap42
-rw-r--r--sys/arm/ti/std.ti1
-rw-r--r--sys/arm/xilinx/std.zynq72
26 files changed, 40 insertions, 33 deletions
diff --git a/sys/arm/allwinner/std.allwinner b/sys/arm/allwinner/std.allwinner
index 5a1bf94e474b..44fe8d10916e 100644
--- a/sys/arm/allwinner/std.allwinner
+++ b/sys/arm/allwinner/std.allwinner
@@ -1,7 +1,7 @@
# Allwinner common options
#$FreeBSD$
-cpu CPU_CORTEXA
+cpu CPU_CORTEXA_MP
machine arm armv6
makeoptions CONF_CFLAGS="-march=armv7a"
diff --git a/sys/arm/allwinner/std.allwinner_up b/sys/arm/allwinner/std.allwinner_up
index 6294cd0b461c..09a913851510 100644
--- a/sys/arm/allwinner/std.allwinner_up
+++ b/sys/arm/allwinner/std.allwinner_up
@@ -1,7 +1,7 @@
# Allwinner Uniprocessor common options
#$FreeBSD$
-cpu CPU_CORTEXA
+cpu CPU_CORTEXA8
machine arm armv6
makeoptions CONF_CFLAGS="-march=armv7a"
diff --git a/sys/arm/altera/socfpga/std.socfpga b/sys/arm/altera/socfpga/std.socfpga
index 687c5a7f7a22..66fdc39ac2fe 100644
--- a/sys/arm/altera/socfpga/std.socfpga
+++ b/sys/arm/altera/socfpga/std.socfpga
@@ -1,6 +1,6 @@
# $FreeBSD$
-cpu CPU_CORTEXA
+cpu CPU_CORTEXA_MP
machine arm armv6
makeoptions CONF_CFLAGS="-march=armv7a"
diff --git a/sys/arm/amlogic/aml8726/std.aml8726 b/sys/arm/amlogic/aml8726/std.aml8726
index bd1c12e1c417..948dee294e16 100644
--- a/sys/arm/amlogic/aml8726/std.aml8726
+++ b/sys/arm/amlogic/aml8726/std.aml8726
@@ -1,6 +1,6 @@
# $FreeBSD$
-cpu CPU_CORTEXA
+cpu CPU_CORTEXA_MP
machine arm armv6
makeoptions CONF_CFLAGS="-march=armv7a"
diff --git a/sys/arm/annapurna/alpine/std.alpine b/sys/arm/annapurna/alpine/std.alpine
index 002b4ce5fa78..29b2b4fcdc5a 100644
--- a/sys/arm/annapurna/alpine/std.alpine
+++ b/sys/arm/annapurna/alpine/std.alpine
@@ -1,6 +1,6 @@
# $FreeBSD$
-cpu CPU_CORTEXA
+cpu CPU_CORTEXA_MP
machine arm armv6
makeoptions CONF_CFLAGS="-march=armv7a -DAL_HAVE_TYPES"
diff --git a/sys/arm/arm/cpufunc.c b/sys/arm/arm/cpufunc.c
index 9a114677fd76..caef32cdc398 100644
--- a/sys/arm/arm/cpufunc.c
+++ b/sys/arm/arm/cpufunc.c
@@ -438,7 +438,7 @@ struct cpu_functions arm1176_cpufuncs = {
};
#endif /*CPU_ARM1176 */
-#if defined(CPU_CORTEXA) || defined(CPU_KRAIT)
+#if defined(CPU_CORTEXA8) || defined(CPU_CORTEXA_MP) || defined(CPU_KRAIT)
struct cpu_functions cortexa_cpufuncs = {
/* MMU functions */
.cf_control = cpufunc_control,
@@ -463,7 +463,7 @@ struct cpu_functions cortexa_cpufuncs = {
/* Soft functions */
.cf_setup = cortexa_setup
};
-#endif /* CPU_CORTEXA */
+#endif /* CPU_CORTEXA8 || CPU_CORTEXA_MP || CPU_KRAIT */
/*
* Global constants also used by locore.s
@@ -481,7 +481,7 @@ u_int cpu_reset_needs_v4_MMU_disable; /* flag used in locore-v4.s */
defined(CPU_XSCALE_PXA2X0) || defined(CPU_XSCALE_IXP425) || \
defined(CPU_FA526) || defined(CPU_MV_PJ4B) || \
defined(CPU_XSCALE_81342) || \
- defined(CPU_CORTEXA) || defined(CPU_KRAIT)
+ defined(CPU_CORTEXA8) || defined(CPU_CORTEXA_MP) || defined(CPU_KRAIT)
/* Global cache line sizes, use 32 as default */
int arm_dcache_min_line_size = 32;
@@ -672,7 +672,7 @@ set_cpufuncs()
goto out;
}
#endif /* CPU_ARM1176 */
-#if defined(CPU_CORTEXA) || defined(CPU_KRAIT)
+#if defined(CPU_CORTEXA8) || defined(CPU_CORTEXA_MP) || defined(CPU_KRAIT)
switch(cputype & CPU_ID_SCHEME_MASK) {
case CPU_ID_CORTEXA5:
case CPU_ID_CORTEXA7:
@@ -690,7 +690,7 @@ set_cpufuncs()
default:
break;
}
-#endif /* CPU_CORTEXA */
+#endif /* CPU_CORTEXA8 || CPU_CORTEXA_MP || CPU_KRAIT */
#if defined(CPU_MV_PJ4B)
if (cputype == CPU_ID_MV88SV581X_V7 ||
@@ -843,7 +843,7 @@ arm10_setup(void)
#if defined(CPU_ARM1176) \
|| defined(CPU_MV_PJ4B) \
- || defined(CPU_CORTEXA) || defined(CPU_KRAIT)
+ || defined(CPU_CORTEXA8) || defined(CPU_CORTEXA_MP) || defined(CPU_KRAIT)
static __inline void
cpu_scc_setup_ccnt(void)
{
@@ -913,7 +913,7 @@ pj4bv7_setup(void)
}
#endif /* CPU_MV_PJ4B */
-#if defined(CPU_CORTEXA) || defined(CPU_KRAIT)
+#if defined(CPU_CORTEXA8) || defined(CPU_CORTEXA_MP) || defined(CPU_KRAIT)
void
cortexa_setup(void)
@@ -921,7 +921,7 @@ cortexa_setup(void)
cpu_scc_setup_ccnt();
}
-#endif /* CPU_CORTEXA */
+#endif /* CPU_CORTEXA8 || CPU_CORTEXA_MP || CPU_KRAIT */
#if defined(CPU_FA526)
void
diff --git a/sys/arm/arm/elf_trampoline.c b/sys/arm/arm/elf_trampoline.c
index 53bf23ad04b6..4b3e2fc88700 100644
--- a/sys/arm/arm/elf_trampoline.c
+++ b/sys/arm/arm/elf_trampoline.c
@@ -88,7 +88,7 @@ extern void xscalec3_l2cache_purge(void);
#elif defined(SOC_MV_KIRKWOOD) || defined(SOC_MV_DISCOVERY)
#define cpu_l2cache_wbinv_all sheeva_l2cache_wbinv_all
extern void sheeva_l2cache_wbinv_all(void);
-#elif defined(CPU_CORTEXA) || defined(CPU_KRAIT)
+#elif defined(CPU_CORTEXA8) || defined(CPU_CORTEXA_MP) || defined(CPU_KRAIT)
#define cpu_idcache_wbinv_all armv7_idcache_wbinv_all
#define cpu_l2cache_wbinv_all()
#else
diff --git a/sys/arm/broadcom/bcm2835/std.bcm2836 b/sys/arm/broadcom/bcm2835/std.bcm2836
index 789450f4fab9..83ba9ffd7b6a 100644
--- a/sys/arm/broadcom/bcm2835/std.bcm2836
+++ b/sys/arm/broadcom/bcm2835/std.bcm2836
@@ -1,7 +1,7 @@
# $FreeBSD$
machine arm armv6
-cpu CPU_CORTEXA
+cpu CPU_CORTEXA_MP
makeoptions CONF_CFLAGS="-march=armv7a"
options SOC_BCM2836
diff --git a/sys/arm/conf/GENERIC b/sys/arm/conf/GENERIC
index 3445b22e92ea..fb396194b019 100644
--- a/sys/arm/conf/GENERIC
+++ b/sys/arm/conf/GENERIC
@@ -20,7 +20,7 @@
ident GENERIC
-cpu CPU_CORTEXA
+cpu CPU_CORTEXA_MP
machine arm armv6
makeoptions CONF_CFLAGS="-march=armv7a"
diff --git a/sys/arm/freescale/imx/std.imx51 b/sys/arm/freescale/imx/std.imx51
index 4f9ac1454b9a..6149b50f1b8b 100644
--- a/sys/arm/freescale/imx/std.imx51
+++ b/sys/arm/freescale/imx/std.imx51
@@ -1,6 +1,6 @@
# $FreeBSD$
machine arm armv6
-cpu CPU_CORTEXA
+cpu CPU_CORTEXA8
makeoptions CONF_CFLAGS="-march=armv7a"
options KERNVIRTADDR=0xc0100000
diff --git a/sys/arm/freescale/imx/std.imx53 b/sys/arm/freescale/imx/std.imx53
index 4f9ac1454b9a..6149b50f1b8b 100644
--- a/sys/arm/freescale/imx/std.imx53
+++ b/sys/arm/freescale/imx/std.imx53
@@ -1,6 +1,6 @@
# $FreeBSD$
machine arm armv6
-cpu CPU_CORTEXA
+cpu CPU_CORTEXA8
makeoptions CONF_CFLAGS="-march=armv7a"
options KERNVIRTADDR=0xc0100000
diff --git a/sys/arm/freescale/imx/std.imx6 b/sys/arm/freescale/imx/std.imx6
index 5c6c39c2f6b7..4d14a5247d3d 100644
--- a/sys/arm/freescale/imx/std.imx6
+++ b/sys/arm/freescale/imx/std.imx6
@@ -1,6 +1,6 @@
# $FreeBSD$
machine arm armv6
-cpu CPU_CORTEXA
+cpu CPU_CORTEXA_MP
makeoptions CONF_CFLAGS="-march=armv7a"
options KERNVIRTADDR = 0xc2000000
diff --git a/sys/arm/freescale/vybrid/std.vybrid b/sys/arm/freescale/vybrid/std.vybrid
index 6baf9489ae0b..d257d478f356 100644
--- a/sys/arm/freescale/vybrid/std.vybrid
+++ b/sys/arm/freescale/vybrid/std.vybrid
@@ -1,6 +1,6 @@
# $FreeBSD$
-cpu CPU_CORTEXA
+cpu CPU_CORTEXA_MP
machine arm armv6
makeoptions CONF_CFLAGS="-march=armv7a"
diff --git a/sys/arm/include/cpuconf.h b/sys/arm/include/cpuconf.h
index 24a3b8f1c2cd..7b4bd85ff8ff 100644
--- a/sys/arm/include/cpuconf.h
+++ b/sys/arm/include/cpuconf.h
@@ -56,7 +56,8 @@
defined(CPU_XSCALE_PXA2X0) + \
defined(CPU_FA526) + \
defined(CPU_XSCALE_IXP425)) + \
- defined(CPU_CORTEXA) + \
+ defined(CPU_CORTEXA8) + \
+ defined(CPU_CORTEXA_MP) + \
defined(CPU_KRAIT) + \
defined(CPU_MV_PJ4B)
@@ -85,7 +86,8 @@
#endif
#endif
-#if defined(CPU_CORTEXA) || defined(CPU_KRAIT) || defined(CPU_MV_PJ4B)
+#if defined(CPU_CORTEXA8) || defined(CPU_CORTEXA_MP) || \
+ defined(CPU_KRAIT) || defined(CPU_MV_PJ4B)
#define ARM_ARCH_7A 1
#else
#define ARM_ARCH_7A 0
@@ -155,7 +157,8 @@
#define ARM_MMU_V6 0
#endif
-#if defined(CPU_CORTEXA) || defined(CPU_KRAIT) || defined(CPU_MV_PJ4B)
+#if defined(CPU_CORTEXA8) || defined(CPU_CORTEXA_MP) || \
+ defined(CPU_KRAIT) || defined(CPU_MV_PJ4B)
#define ARM_MMU_V7 1
#else
#define ARM_MMU_V7 0
diff --git a/sys/arm/include/cpufunc.h b/sys/arm/include/cpufunc.h
index ed348c49c595..3bf52c7e36ca 100644
--- a/sys/arm/include/cpufunc.h
+++ b/sys/arm/include/cpufunc.h
@@ -278,7 +278,8 @@ void sheeva_l2cache_wbinv_all (void);
#if defined(CPU_MV_PJ4B)
void armv6_idcache_wbinv_all (void);
#endif
-#if defined(CPU_MV_PJ4B) || defined(CPU_CORTEXA) || defined(CPU_KRAIT)
+#if defined(CPU_CORTEXA8) || defined(CPU_CORTEXA_MP) || \
+ defined(CPU_MV_PJ4B) || defined(CPU_KRAIT)
void armv7_setttb (u_int);
void armv7_idcache_wbinv_all (void);
void armv7_cpu_sleep (int);
diff --git a/sys/arm/include/intr.h b/sys/arm/include/intr.h
index 7a91525a909d..c202eb5c466e 100644
--- a/sys/arm/include/intr.h
+++ b/sys/arm/include/intr.h
@@ -76,7 +76,7 @@ int intr_pic_ipi_setup(u_int, const char *, intr_ipi_handler_t *, void *);
#elif defined(CPU_ARM9) || defined(SOC_MV_KIRKWOOD) || \
defined(CPU_XSCALE_IXP435)
#define NIRQ 64
-#elif defined(CPU_CORTEXA)
+#elif defined(CPU_CORTEXA8) || defined(CPU_CORTEXA_MP)
#define NIRQ 1020
#elif defined(CPU_KRAIT)
#define NIRQ 288
diff --git a/sys/arm/mv/armada38x/std.armada38x b/sys/arm/mv/armada38x/std.armada38x
index 732fd90124c1..a1d5e721775a 100644
--- a/sys/arm/mv/armada38x/std.armada38x
+++ b/sys/arm/mv/armada38x/std.armada38x
@@ -1,7 +1,7 @@
# $FreeBSD$
files "../mv/armada38x/files.armada38x"
files "../mv/files.mv"
-cpu CPU_CORTEXA
+cpu CPU_CORTEXA_MP
machine arm armv6
makeoptions CONF_CFLAGS="-march=armv7a"
diff --git a/sys/arm/nvidia/tegra124/std.tegra124 b/sys/arm/nvidia/tegra124/std.tegra124
index 35de22534f46..e963ba638107 100644
--- a/sys/arm/nvidia/tegra124/std.tegra124
+++ b/sys/arm/nvidia/tegra124/std.tegra124
@@ -1,5 +1,5 @@
# $FreeBSD$
-cpu CPU_CORTEXA
+cpu CPU_CORTEXA_MP
machine arm armv6
makeoptions CONF_CFLAGS="-march=armv7a"
diff --git a/sys/arm/qemu/std.virt b/sys/arm/qemu/std.virt
index 858e195914ce..aff78f208fb8 100644
--- a/sys/arm/qemu/std.virt
+++ b/sys/arm/qemu/std.virt
@@ -1,6 +1,6 @@
# $FreeBSD$
machine arm armv6
-cpu CPU_CORTEXA
+cpu CPU_CORTEXA_MP
makeoptions CONF_CFLAGS="-march=armv7a"
options KERNVIRTADDR = 0xc1000000
diff --git a/sys/arm/rockchip/std.rk30xx b/sys/arm/rockchip/std.rk30xx
index 431526b1c36e..a8d37037ac5a 100644
--- a/sys/arm/rockchip/std.rk30xx
+++ b/sys/arm/rockchip/std.rk30xx
@@ -1,7 +1,7 @@
# Rockchip rk30xx common options
#$FreeBSD$
-cpu CPU_CORTEXA
+cpu CPU_CORTEXA_MP
machine arm armv6
makeoptions CONF_CFLAGS="-march=armv7a"
diff --git a/sys/arm/samsung/exynos/std.exynos5250 b/sys/arm/samsung/exynos/std.exynos5250
index 52e450823d74..9d62d3f3887d 100644
--- a/sys/arm/samsung/exynos/std.exynos5250
+++ b/sys/arm/samsung/exynos/std.exynos5250
@@ -1,6 +1,6 @@
# $FreeBSD$
-cpu CPU_CORTEXA
+cpu CPU_CORTEXA_MP
machine arm armv6
makeoptions CONF_CFLAGS="-march=armv7a"
diff --git a/sys/arm/samsung/exynos/std.exynos5420 b/sys/arm/samsung/exynos/std.exynos5420
index 52e450823d74..9d62d3f3887d 100644
--- a/sys/arm/samsung/exynos/std.exynos5420
+++ b/sys/arm/samsung/exynos/std.exynos5420
@@ -1,6 +1,6 @@
# $FreeBSD$
-cpu CPU_CORTEXA
+cpu CPU_CORTEXA_MP
machine arm armv6
makeoptions CONF_CFLAGS="-march=armv7a"
diff --git a/sys/arm/ti/am335x/std.am335x b/sys/arm/ti/am335x/std.am335x
index b5565c29df92..5ad0c5329148 100644
--- a/sys/arm/ti/am335x/std.am335x
+++ b/sys/arm/ti/am335x/std.am335x
@@ -3,6 +3,8 @@
files "../ti/am335x/files.am335x"
include "../ti/std.ti"
+cpu CPU_CORTEXA8
+
options KERNVIRTADDR=0xc0200000 # Used in ldscript.arm
makeoptions KERNVIRTADDR=0xc0200000
diff --git a/sys/arm/ti/omap4/std.omap4 b/sys/arm/ti/omap4/std.omap4
index 8d5764bbf52d..d5cfb9a03dcf 100644
--- a/sys/arm/ti/omap4/std.omap4
+++ b/sys/arm/ti/omap4/std.omap4
@@ -3,6 +3,8 @@
files "../ti/omap4/files.omap4"
include "../ti/std.ti"
+cpu CPU_CORTEXA_MP
+
options KERNVIRTADDR=0xc0200000 # Used in ldscript.arm
makeoptions KERNVIRTADDR=0xc0200000
diff --git a/sys/arm/ti/std.ti b/sys/arm/ti/std.ti
index 7509fd7fe3c4..5eb69fdbdae1 100644
--- a/sys/arm/ti/std.ti
+++ b/sys/arm/ti/std.ti
@@ -1,6 +1,5 @@
# $FreeBSD$
-cpu CPU_CORTEXA
machine arm armv6
makeoptions CONF_CFLAGS="-march=armv7a"
diff --git a/sys/arm/xilinx/std.zynq7 b/sys/arm/xilinx/std.zynq7
index addf7bcb663c..4b631bda43d3 100644
--- a/sys/arm/xilinx/std.zynq7
+++ b/sys/arm/xilinx/std.zynq7
@@ -3,7 +3,7 @@
#
# $FreeBSD$
-cpu CPU_CORTEXA
+cpu CPU_CORTEXA_MP
machine arm armv6
makeoptions CONF_CFLAGS="-march=armv7a"