From 36cef61704750d8a1987cd9e938eaae66828d4e3 Mon Sep 17 00:00:00 2001 From: imp Date: Thu, 5 Oct 2017 23:01:50 +0000 Subject: [PATCH] Tag all armv7 kernels as such in their machine config line. Transition all boards that support arm cortex CPUs to armv7. This leaves two armv6 kernels in the tree. RPI-B, which uses the BCM2835 which has a ARM1176 core, and VERSATILEPB, which is a qemu board setup around the time RPI-B went in. Copy std.armv6 to std.armv7, even though that duplicates a lot of stuff. More work needs to be done to sort out the duplication. Differential Revision: https://reviews.freebsd.org/D12027 --- sys/arm/allwinner/std.allwinner | 2 +- sys/arm/allwinner/std.allwinner_up | 2 +- sys/arm/altera/socfpga/std.socfpga | 2 +- sys/arm/amlogic/aml8726/std.aml8726 | 2 +- sys/arm/annapurna/alpine/std.alpine | 2 +- sys/arm/broadcom/bcm2835/std.bcm2836 | 2 +- sys/arm/conf/ALLWINNER_UP | 2 +- sys/arm/conf/ALPINE | 2 +- sys/arm/conf/AML8726 | 2 +- sys/arm/conf/ARMADA38X | 2 +- sys/arm/conf/ARMADAXP | 2 +- sys/arm/conf/BEAGLEBONE | 2 +- sys/arm/conf/EFIKA_MX | 2 +- sys/arm/conf/EXYNOS5.common | 2 +- sys/arm/conf/GENERIC | 4 +- sys/arm/conf/IMX53 | 2 +- sys/arm/conf/IMX6 | 2 +- sys/arm/conf/PANDABOARD | 2 +- sys/arm/conf/RK3188 | 2 +- sys/arm/conf/RPI2 | 2 +- sys/arm/conf/SOCFPGA | 2 +- sys/arm/conf/TEGRA124 | 2 +- sys/arm/conf/VIRT | 59 ++++++++++++++++++++ sys/arm/conf/VYBRID | 2 +- sys/arm/conf/ZEDBOARD | 2 +- sys/arm/conf/std.armv6 | 2 +- sys/arm/conf/std.armv7 | 79 +++++++++++++++++++++++++++ sys/arm/freescale/imx/std.imx51 | 2 +- sys/arm/freescale/imx/std.imx53 | 2 +- sys/arm/freescale/imx/std.imx6 | 2 +- sys/arm/freescale/vybrid/std.vybrid | 2 +- sys/arm/mv/armada38x/std.armada38x | 2 +- sys/arm/mv/std-pj4b.mv | 2 +- sys/arm/nvidia/tegra124/std.tegra124 | 2 +- sys/arm/qemu/std.virt | 2 +- sys/arm/rockchip/std.rk30xx | 2 +- sys/arm/samsung/exynos/std.exynos5250 | 2 +- sys/arm/samsung/exynos/std.exynos5420 | 2 +- sys/arm/ti/std.ti | 2 +- sys/arm/xilinx/std.zynq7 | 2 +- sys/conf/files.arm | 26 +++++---- sys/conf/options.arm | 1 + 42 files changed, 192 insertions(+), 51 deletions(-) create mode 100644 sys/arm/conf/VIRT create mode 100644 sys/arm/conf/std.armv7 diff --git a/sys/arm/allwinner/std.allwinner b/sys/arm/allwinner/std.allwinner index 5a1bf94e474b..360d16932e0d 100644 --- a/sys/arm/allwinner/std.allwinner +++ b/sys/arm/allwinner/std.allwinner @@ -2,7 +2,7 @@ #$FreeBSD$ cpu CPU_CORTEXA -machine arm armv6 +machine arm armv7 makeoptions CONF_CFLAGS="-march=armv7a" makeoptions KERNVIRTADDR=0xc0200000 diff --git a/sys/arm/allwinner/std.allwinner_up b/sys/arm/allwinner/std.allwinner_up index 6294cd0b461c..0d5661eed558 100644 --- a/sys/arm/allwinner/std.allwinner_up +++ b/sys/arm/allwinner/std.allwinner_up @@ -2,7 +2,7 @@ #$FreeBSD$ cpu CPU_CORTEXA -machine arm armv6 +machine arm armv7 makeoptions CONF_CFLAGS="-march=armv7a" makeoptions KERNVIRTADDR=0xc0200000 diff --git a/sys/arm/altera/socfpga/std.socfpga b/sys/arm/altera/socfpga/std.socfpga index 687c5a7f7a22..bbfb218da28a 100644 --- a/sys/arm/altera/socfpga/std.socfpga +++ b/sys/arm/altera/socfpga/std.socfpga @@ -1,7 +1,7 @@ # $FreeBSD$ cpu CPU_CORTEXA -machine arm armv6 +machine arm armv7 makeoptions CONF_CFLAGS="-march=armv7a" makeoptions KERNVIRTADDR=0xc0f00000 diff --git a/sys/arm/amlogic/aml8726/std.aml8726 b/sys/arm/amlogic/aml8726/std.aml8726 index bd1c12e1c417..2a044046d126 100644 --- a/sys/arm/amlogic/aml8726/std.aml8726 +++ b/sys/arm/amlogic/aml8726/std.aml8726 @@ -1,7 +1,7 @@ # $FreeBSD$ cpu CPU_CORTEXA -machine arm armv6 +machine arm armv7 makeoptions CONF_CFLAGS="-march=armv7a" # Physical memory starts at 0x80000000. We assume the kernel is loaded diff --git a/sys/arm/annapurna/alpine/std.alpine b/sys/arm/annapurna/alpine/std.alpine index 002b4ce5fa78..b04821c9c62d 100644 --- a/sys/arm/annapurna/alpine/std.alpine +++ b/sys/arm/annapurna/alpine/std.alpine @@ -1,7 +1,7 @@ # $FreeBSD$ cpu CPU_CORTEXA -machine arm armv6 +machine arm armv7 makeoptions CONF_CFLAGS="-march=armv7a -DAL_HAVE_TYPES" makeoptions KERNVIRTADDR=0xa0200000 diff --git a/sys/arm/broadcom/bcm2835/std.bcm2836 b/sys/arm/broadcom/bcm2835/std.bcm2836 index 789450f4fab9..74accfe46bf2 100644 --- a/sys/arm/broadcom/bcm2835/std.bcm2836 +++ b/sys/arm/broadcom/bcm2835/std.bcm2836 @@ -1,6 +1,6 @@ # $FreeBSD$ -machine arm armv6 +machine arm armv7 cpu CPU_CORTEXA makeoptions CONF_CFLAGS="-march=armv7a" options SOC_BCM2836 diff --git a/sys/arm/conf/ALLWINNER_UP b/sys/arm/conf/ALLWINNER_UP index 3c2384a823b9..e6b8f8c4799b 100644 --- a/sys/arm/conf/ALLWINNER_UP +++ b/sys/arm/conf/ALLWINNER_UP @@ -20,7 +20,7 @@ ident ALLWINNER_UP -include "std.armv6" +include "std.armv7" include "../allwinner/std.allwinner_up" options INTRNG diff --git a/sys/arm/conf/ALPINE b/sys/arm/conf/ALPINE index bb64740b56f9..dae2659784ea 100644 --- a/sys/arm/conf/ALPINE +++ b/sys/arm/conf/ALPINE @@ -19,7 +19,7 @@ ident ALPINE -include "std.armv6" +include "std.armv7" include "../annapurna/alpine/std.alpine" makeoptions MODULES_OVERRIDE="" diff --git a/sys/arm/conf/AML8726 b/sys/arm/conf/AML8726 index 267e3075af67..b5a187471b40 100644 --- a/sys/arm/conf/AML8726 +++ b/sys/arm/conf/AML8726 @@ -23,7 +23,7 @@ ident AML8726 -include "std.armv6" +include "std.armv7" include "../amlogic/aml8726/std.aml8726" options SCHED_ULE # ULE scheduler diff --git a/sys/arm/conf/ARMADA38X b/sys/arm/conf/ARMADA38X index 7134f8832809..abc8a96fec02 100644 --- a/sys/arm/conf/ARMADA38X +++ b/sys/arm/conf/ARMADA38X @@ -5,7 +5,7 @@ # include "../mv/armada38x/std.armada38x" -include "std.armv6" +include "std.armv7" ident ARMADA38X diff --git a/sys/arm/conf/ARMADAXP b/sys/arm/conf/ARMADAXP index 7e36f13126a0..c1810fcdf40c 100644 --- a/sys/arm/conf/ARMADAXP +++ b/sys/arm/conf/ARMADAXP @@ -23,7 +23,7 @@ ident MV-88F78XX0 -include "std.armv6" +include "std.armv7" include "../mv/armadaxp/std.mv78x60" options SOC_MV_ARMADAXP diff --git a/sys/arm/conf/BEAGLEBONE b/sys/arm/conf/BEAGLEBONE index fec1f2859a61..0d41a424c808 100644 --- a/sys/arm/conf/BEAGLEBONE +++ b/sys/arm/conf/BEAGLEBONE @@ -23,7 +23,7 @@ ident BEAGLEBONE -include "std.armv6" +include "std.armv7" include "../ti/am335x/std.am335x" makeoptions MODULES_EXTRA="dtb/am335x am335x_dmtpps" diff --git a/sys/arm/conf/EFIKA_MX b/sys/arm/conf/EFIKA_MX index a77a5a8eb1c6..c8090bf9b2f4 100644 --- a/sys/arm/conf/EFIKA_MX +++ b/sys/arm/conf/EFIKA_MX @@ -20,7 +20,7 @@ ident EFIKA_MX -include "std.armv6" +include "std.armv7" include "../freescale/imx/std.imx51" makeoptions WITHOUT_MODULES="ahc" diff --git a/sys/arm/conf/EXYNOS5.common b/sys/arm/conf/EXYNOS5.common index 5bfc9c792265..e3a4b70849b3 100644 --- a/sys/arm/conf/EXYNOS5.common +++ b/sys/arm/conf/EXYNOS5.common @@ -20,7 +20,7 @@ makeoptions WERROR="-Werror" -include "std.armv6" +include "std.armv7" options SCHED_ULE # ULE scheduler options PLATFORM # Platform based SoC options PREEMPTION # Enable kernel thread preemption diff --git a/sys/arm/conf/GENERIC b/sys/arm/conf/GENERIC index dcd231e4f360..abf16fda7ebd 100644 --- a/sys/arm/conf/GENERIC +++ b/sys/arm/conf/GENERIC @@ -22,13 +22,13 @@ ident GENERIC cpu CPU_CORTEXA options SMP_ON_UP -machine arm armv6 +machine arm armv7 makeoptions CONF_CFLAGS="-march=armv7a" makeoptions KERNVIRTADDR=0xc0000000 options KERNVIRTADDR=0xc0000000 -include "std.armv6" +include "std.armv7" files "../allwinner/files.allwinner" files "../allwinner/files.allwinner_up" files "../allwinner/a10/files.a10" diff --git a/sys/arm/conf/IMX53 b/sys/arm/conf/IMX53 index 0cf6205fe7f3..c2513dbb5c83 100644 --- a/sys/arm/conf/IMX53 +++ b/sys/arm/conf/IMX53 @@ -20,7 +20,7 @@ ident IMX53 -include "std.armv6" +include "std.armv7" include "../freescale/imx/std.imx53" options SOC_IMX53 diff --git a/sys/arm/conf/IMX6 b/sys/arm/conf/IMX6 index 25f8b0777e27..882676a625e4 100644 --- a/sys/arm/conf/IMX6 +++ b/sys/arm/conf/IMX6 @@ -19,7 +19,7 @@ # $FreeBSD$ ident IMX6 -include "std.armv6" +include "std.armv7" include "../freescale/imx/std.imx6" options INTRNG diff --git a/sys/arm/conf/PANDABOARD b/sys/arm/conf/PANDABOARD index 05ea2af69962..31accc39130f 100644 --- a/sys/arm/conf/PANDABOARD +++ b/sys/arm/conf/PANDABOARD @@ -27,7 +27,7 @@ ident PANDABOARD hints "PANDABOARD.hints" -include "std.armv6" +include "std.armv7" include "../ti/omap4/std.omap4" makeoptions MODULES_EXTRA=dtb/omap4 diff --git a/sys/arm/conf/RK3188 b/sys/arm/conf/RK3188 index 00dfcd45b729..1767592cbb04 100644 --- a/sys/arm/conf/RK3188 +++ b/sys/arm/conf/RK3188 @@ -20,7 +20,7 @@ ident RK3188 -include "std.armv6" +include "std.armv7" include "../rockchip/std.rk30xx" options SOC_ROCKCHIP_RK3188 diff --git a/sys/arm/conf/RPI2 b/sys/arm/conf/RPI2 index 058100176a3b..0a3dd31d0a6a 100644 --- a/sys/arm/conf/RPI2 +++ b/sys/arm/conf/RPI2 @@ -22,7 +22,7 @@ ident RPI2 -include "std.armv6" +include "std.armv7" include "../broadcom/bcm2835/std.rpi" include "../broadcom/bcm2835/std.bcm2836" diff --git a/sys/arm/conf/SOCFPGA b/sys/arm/conf/SOCFPGA index 0291db7a4bdb..19b099d40c2e 100644 --- a/sys/arm/conf/SOCFPGA +++ b/sys/arm/conf/SOCFPGA @@ -19,7 +19,7 @@ # $FreeBSD$ ident SOCFPGA -include "std.armv6" +include "std.armv7" include "../altera/socfpga/std.socfpga" makeoptions MODULES_OVERRIDE="" diff --git a/sys/arm/conf/TEGRA124 b/sys/arm/conf/TEGRA124 index cf466bb89307..b0122b870338 100644 --- a/sys/arm/conf/TEGRA124 +++ b/sys/arm/conf/TEGRA124 @@ -18,7 +18,7 @@ # # $FreeBSD$ -include "std.armv6" +include "std.armv7" include "../nvidia/tegra124/std.tegra124" ident TEGRA124 diff --git a/sys/arm/conf/VIRT b/sys/arm/conf/VIRT new file mode 100644 index 000000000000..d96e34a13f0b --- /dev/null +++ b/sys/arm/conf/VIRT @@ -0,0 +1,59 @@ +# +# VIRT -- Custom configuration for the qemu virt platform +# +# For more information on this file, please read the config(5) manual page, +# and/or the handbook section on Kernel Configuration Files: +# +# http://www.FreeBSD.org/doc/en_US.ISO8859-1/books/handbook/kernelconfig-config.html +# +# The handbook is also available locally in /usr/share/doc/handbook +# if you've installed the doc distribution, otherwise always see the +# FreeBSD World Wide Web server (http://www.FreeBSD.org/) for the +# latest information. +# +# An exhaustive list of options and more detailed explanations of the +# device lines is also present in the ../../conf/NOTES and NOTES files. +# If you are in doubt as to the purpose or necessity of a line, check first +# in NOTES. +# +# $FreeBSD$ + +ident VIRT + +include "std.armv7" +include "../qemu/std.virt" + +options SCHED_ULE # ULE scheduler +options PLATFORM +options SMP # Enable multiple cores + +# Interrupt controller +device gic +options INTRNG + +# ARM Generic Timer +device generic_timer + +device bpf +device loop +device ether +device uart +device pty +device snp +device pl011 +device psci + +device virtio +device virtio_mmio +device virtio_blk +device vtnet + +device md +device random # Entropy device + +# Flattened Device Tree +options FDT # Configure using FDT/DTB data + +# Extensible Firmware Interface +options EFI + diff --git a/sys/arm/conf/VYBRID b/sys/arm/conf/VYBRID index 336c4ddc1357..600822119c49 100644 --- a/sys/arm/conf/VYBRID +++ b/sys/arm/conf/VYBRID @@ -19,7 +19,7 @@ # $FreeBSD$ ident VYBRID -include "std.armv6" +include "std.armv7" include "../freescale/vybrid/std.vybrid" makeoptions WERROR="-Werror" diff --git a/sys/arm/conf/ZEDBOARD b/sys/arm/conf/ZEDBOARD index 4085aa8d1370..9923454e036b 100644 --- a/sys/arm/conf/ZEDBOARD +++ b/sys/arm/conf/ZEDBOARD @@ -21,7 +21,7 @@ ident ZEDBOARD -include "std.armv6" +include "std.armv7" include "../xilinx/std.zynq7" makeoptions MODULES_EXTRA="dtb/zynq" diff --git a/sys/arm/conf/std.armv6 b/sys/arm/conf/std.armv6 index 4ee9caff32e7..5a733104b481 100644 --- a/sys/arm/conf/std.armv6 +++ b/sys/arm/conf/std.armv6 @@ -1,4 +1,4 @@ -# Standard kernel config items for all ARMv6/v7 systems. +# Standard kernel config items for all ARMv6 systems. # # $FreeBSD$ diff --git a/sys/arm/conf/std.armv7 b/sys/arm/conf/std.armv7 new file mode 100644 index 000000000000..260d9fdce87f --- /dev/null +++ b/sys/arm/conf/std.armv7 @@ -0,0 +1,79 @@ +# Standard kernel config items for all ARMv7 systems. +# +# $FreeBSD$ + +options HZ=1000 +options ARM_L2_PIPT # Only L2 PIPT is supported +options PREEMPTION # Enable kernel thread preemption +options INET # InterNETworking +options INET6 # IPv6 communications protocols +options TCP_HHOOK # hhook(9) framework for TCP +options IPSEC # IP (v4/v6) security +options SCTP # Stream Control Transmission Protocol +options FFS # Berkeley Fast Filesystem +options SOFTUPDATES # Enable FFS soft updates support +options UFS_ACL # Support for access control lists +options UFS_DIRHASH # Improve performance on big directories +options UFS_GJOURNAL # Enable gjournal-based UFS journaling +options QUOTA # Enable disk quotas for UFS +options NFSCL # Network Filesystem Client +options NFSLOCKD # Network Lock Manager +options NFS_ROOT # NFS usable as /, requires NFSCL +options MSDOSFS # MSDOS Filesystem +options CD9660 # ISO 9660 Filesystem +options PROCFS # Process filesystem (requires PSEUDOFS) +options PSEUDOFS # Pseudo-filesystem framework +options TMPFS # Efficient memory filesystem +options GEOM_PART_GPT # GUID Partition Tables +options GEOM_PART_BSD # BSD partition scheme +options GEOM_PART_MBR # MBR partition scheme +options GEOM_LABEL # Provides labelization +options COMPAT_43 # Compatible with BSD 4.3 [KEEP THIS!] +options SCSI_DELAY=5000 # Delay (in ms) before probing SCSI +options KTRACE # ktrace(1) support +options SYSVSHM # SYSV-style shared memory +options SYSVMSG # SYSV-style message queues +options SYSVSEM # SYSV-style semaphores +options _KPOSIX_PRIORITY_SCHEDULING # POSIX P1003_1B real-time extensions +options PRINTF_BUFR_SIZE=128 # Prevent printf output being interspersed. +options KBD_INSTALL_CDEV # install a CDEV entry in /dev +options HWPMC_HOOKS # Necessary kernel hooks for hwpmc(4) +options FREEBSD_BOOT_LOADER # Process metadata passed from loader(8) +options VFP # Enable floating point hardware support + +options COMPAT_FREEBSD10 # Compatible with FreeBSD10 +options COMPAT_FREEBSD11 # Compatible with FreeBSD11 + +# DTrace support +options KDTRACE_HOOKS # Kernel DTrace hooks +options DDB_CTF # all architectures - kernel ELF linker loads CTF data +makeoptions WITH_CTF=1 + +# Debugging support. Always need this: +makeoptions DEBUG=-g # Build kernel with gdb(1) debug symbols +options KDB # Enable kernel debugger support. +options KDB_TRACE # Print a stack trace for a panic. + +# For full debugger support use (turn off in stable branch): +options DDB # Support DDB +#options DEADLKRES # Enable the deadlock resolver +options INVARIANTS # Enable calls of extra sanity checking +options INVARIANT_SUPPORT # Extra sanity checks of internal structures, required by INVARIANTS +options WITNESS # Enable checks to detect deadlocks and cycles +options WITNESS_SKIPSPIN # Don't run witness on spinlocks for speed +options MALLOC_DEBUG_MAXZONES=8 # Separate malloc(9) zones +options ALT_BREAK_TO_DEBUGGER # Enter debugger on keyboard escape sequence +options USB_DEBUG # Enable usb debug support code + +# Optional extras, never enabled by default: +#options BOOTVERBOSE +#options DEBUG # May result in extreme spewage +#options KTR +#options KTR_COMPILE=KTR_ALL +#options KTR_ENTRIES=16384 +#options KTR_MASK=(KTR_SPARE2) +#options KTR_VERBOSE=0 +#options USB_REQ_DEBUG +#options USB_VERBOSE +#options VERBOSE_SYSINIT # Enable verbose sysinit messages + diff --git a/sys/arm/freescale/imx/std.imx51 b/sys/arm/freescale/imx/std.imx51 index 4f9ac1454b9a..730c976899a7 100644 --- a/sys/arm/freescale/imx/std.imx51 +++ b/sys/arm/freescale/imx/std.imx51 @@ -1,5 +1,5 @@ # $FreeBSD$ -machine arm armv6 +machine arm armv7 cpu CPU_CORTEXA makeoptions CONF_CFLAGS="-march=armv7a" diff --git a/sys/arm/freescale/imx/std.imx53 b/sys/arm/freescale/imx/std.imx53 index 4f9ac1454b9a..730c976899a7 100644 --- a/sys/arm/freescale/imx/std.imx53 +++ b/sys/arm/freescale/imx/std.imx53 @@ -1,5 +1,5 @@ # $FreeBSD$ -machine arm armv6 +machine arm armv7 cpu CPU_CORTEXA makeoptions CONF_CFLAGS="-march=armv7a" diff --git a/sys/arm/freescale/imx/std.imx6 b/sys/arm/freescale/imx/std.imx6 index 7d9dc3ce82d2..8778a29a705d 100644 --- a/sys/arm/freescale/imx/std.imx6 +++ b/sys/arm/freescale/imx/std.imx6 @@ -1,5 +1,5 @@ # $FreeBSD$ -machine arm armv6 +machine arm armv7 cpu CPU_CORTEXA makeoptions CONF_CFLAGS="-march=armv7a" diff --git a/sys/arm/freescale/vybrid/std.vybrid b/sys/arm/freescale/vybrid/std.vybrid index 6baf9489ae0b..25d2a6b39150 100644 --- a/sys/arm/freescale/vybrid/std.vybrid +++ b/sys/arm/freescale/vybrid/std.vybrid @@ -1,7 +1,7 @@ # $FreeBSD$ cpu CPU_CORTEXA -machine arm armv6 +machine arm armv7 makeoptions CONF_CFLAGS="-march=armv7a" makeoptions KERNVIRTADDR=0xc0100000 diff --git a/sys/arm/mv/armada38x/std.armada38x b/sys/arm/mv/armada38x/std.armada38x index 732fd90124c1..abda7a769406 100644 --- a/sys/arm/mv/armada38x/std.armada38x +++ b/sys/arm/mv/armada38x/std.armada38x @@ -2,7 +2,7 @@ files "../mv/armada38x/files.armada38x" files "../mv/files.mv" cpu CPU_CORTEXA -machine arm armv6 +machine arm armv7 makeoptions CONF_CFLAGS="-march=armv7a" makeoptions KERNVIRTADDR=0xc0000000 diff --git a/sys/arm/mv/std-pj4b.mv b/sys/arm/mv/std-pj4b.mv index 8a64fab7bc1e..bf12e62b657f 100644 --- a/sys/arm/mv/std-pj4b.mv +++ b/sys/arm/mv/std-pj4b.mv @@ -2,7 +2,7 @@ files "../mv/files.mv" cpu CPU_MV_PJ4B -machine arm armv6 +machine arm armv7 makeoptions CONF_CFLAGS="-march=armv7a" # This was originally defined as "(KERNBASE-(1024*1024*1024))" but that diff --git a/sys/arm/nvidia/tegra124/std.tegra124 b/sys/arm/nvidia/tegra124/std.tegra124 index 35de22534f46..e9688732d696 100644 --- a/sys/arm/nvidia/tegra124/std.tegra124 +++ b/sys/arm/nvidia/tegra124/std.tegra124 @@ -1,6 +1,6 @@ # $FreeBSD$ cpu CPU_CORTEXA -machine arm armv6 +machine arm armv7 makeoptions CONF_CFLAGS="-march=armv7a" options KERNVIRTADDR = 0xc0200000 diff --git a/sys/arm/qemu/std.virt b/sys/arm/qemu/std.virt index 858e195914ce..ac21f828ece4 100644 --- a/sys/arm/qemu/std.virt +++ b/sys/arm/qemu/std.virt @@ -1,5 +1,5 @@ # $FreeBSD$ -machine arm armv6 +machine arm armv7 cpu CPU_CORTEXA makeoptions CONF_CFLAGS="-march=armv7a" diff --git a/sys/arm/rockchip/std.rk30xx b/sys/arm/rockchip/std.rk30xx index 431526b1c36e..4747145d4b8a 100644 --- a/sys/arm/rockchip/std.rk30xx +++ b/sys/arm/rockchip/std.rk30xx @@ -2,7 +2,7 @@ #$FreeBSD$ cpu CPU_CORTEXA -machine arm armv6 +machine arm armv7 makeoptions CONF_CFLAGS="-march=armv7a" makeoptions KERNVIRTADDR=0xc0400000 diff --git a/sys/arm/samsung/exynos/std.exynos5250 b/sys/arm/samsung/exynos/std.exynos5250 index 52e450823d74..7f0a2fb190e3 100644 --- a/sys/arm/samsung/exynos/std.exynos5250 +++ b/sys/arm/samsung/exynos/std.exynos5250 @@ -1,7 +1,7 @@ # $FreeBSD$ cpu CPU_CORTEXA -machine arm armv6 +machine arm armv7 makeoptions CONF_CFLAGS="-march=armv7a" makeoptions KERNVIRTADDR=0xc0f00000 diff --git a/sys/arm/samsung/exynos/std.exynos5420 b/sys/arm/samsung/exynos/std.exynos5420 index 52e450823d74..7f0a2fb190e3 100644 --- a/sys/arm/samsung/exynos/std.exynos5420 +++ b/sys/arm/samsung/exynos/std.exynos5420 @@ -1,7 +1,7 @@ # $FreeBSD$ cpu CPU_CORTEXA -machine arm armv6 +machine arm armv7 makeoptions CONF_CFLAGS="-march=armv7a" makeoptions KERNVIRTADDR=0xc0f00000 diff --git a/sys/arm/ti/std.ti b/sys/arm/ti/std.ti index 5eb69fdbdae1..83c144393910 100644 --- a/sys/arm/ti/std.ti +++ b/sys/arm/ti/std.ti @@ -1,6 +1,6 @@ # $FreeBSD$ -machine arm armv6 +machine arm armv7 makeoptions CONF_CFLAGS="-march=armv7a" files "../ti/files.ti" diff --git a/sys/arm/xilinx/std.zynq7 b/sys/arm/xilinx/std.zynq7 index addf7bcb663c..6690fd5e9a04 100644 --- a/sys/arm/xilinx/std.zynq7 +++ b/sys/arm/xilinx/std.zynq7 @@ -4,7 +4,7 @@ # $FreeBSD$ cpu CPU_CORTEXA -machine arm armv6 +machine arm armv7 makeoptions CONF_CFLAGS="-march=armv7a" files "../xilinx/files.zynq7" diff --git a/sys/conf/files.arm b/sys/conf/files.arm index a7fe68582306..10c86e5ce4ac 100644 --- a/sys/conf/files.arm +++ b/sys/conf/files.arm @@ -25,8 +25,8 @@ arm/arm/blockio.S standard arm/arm/bus_space_asm_generic.S standard arm/arm/bus_space_base.c optional fdt arm/arm/bus_space_generic.c standard -arm/arm/busdma_machdep-v4.c optional !armv6 !ARM_USE_V6_BUSDMA -arm/arm/busdma_machdep-v6.c optional armv6 | ARM_USE_V6_BUSDMA +arm/arm/busdma_machdep-v4.c optional !armv7 !armv6 !ARM_USE_V6_BUSDMA +arm/arm/busdma_machdep-v6.c optional armv7 | armv6 | ARM_USE_V6_BUSDMA arm/arm/copystr.S standard arm/arm/cpufunc.c standard arm/arm/cpufunc_asm.S standard @@ -43,11 +43,12 @@ arm/arm/cpufunc_asm_sheeva.S optional cpu_arm9e arm/arm/cpufunc_asm_xscale.S optional cpu_xscale_pxa2x0 | cpu_xscale_ixp425 | cpu_xscale_81342 arm/arm/cpufunc_asm_xscale_c3.S optional cpu_xscale_81342 arm/arm/cpuinfo.c standard -arm/arm/cpu_asm-v6.S optional armv6 +arm/arm/cpu_asm-v6.S optional armv7 | armv6 arm/arm/db_disasm.c optional ddb arm/arm/db_interface.c optional ddb arm/arm/db_trace.c optional ddb arm/arm/debug_monitor.c optional ddb armv6 +arm/arm/debug_monitor.c optional ddb armv7 arm/arm/disassem.c optional ddb arm/arm/dump_machdep.c standard arm/arm/elf_machdep.c standard @@ -60,14 +61,14 @@ arm/arm/gdb_machdep.c optional gdb arm/arm/generic_timer.c optional generic_timer arm/arm/gic.c optional gic arm/arm/gic_fdt.c optional gic fdt -arm/arm/identcpu-v4.c optional !armv6 -arm/arm/identcpu-v6.c optional armv6 +arm/arm/identcpu-v4.c optional !armv7 !armv6 +arm/arm/identcpu-v6.c optional armv7 | armv6 arm/arm/in_cksum.c optional inet | inet6 arm/arm/in_cksum_arm.S optional inet | inet6 arm/arm/intr.c optional !intrng kern/subr_intr.c optional intrng arm/arm/locore.S standard no-obj -arm/arm/hypervisor-stub.S optional armv6 +arm/arm/hypervisor-stub.S optional armv7 | armv6 arm/arm/machdep.c standard arm/arm/machdep_boot.c standard arm/arm/machdep_kdb.c standard @@ -85,8 +86,8 @@ arm/arm/pl310.c optional pl310 arm/arm/platform.c optional platform arm/arm/platform_if.m optional platform arm/arm/platform_pl310_if.m optional platform pl310 -arm/arm/pmap-v4.c optional !armv6 -arm/arm/pmap-v6.c optional armv6 +arm/arm/pmap-v4.c optional !armv7 !armv6 +arm/arm/pmap-v6.c optional armv7 | armv6 arm/arm/pmu.c optional pmu | fdt hwpmc arm/arm/ptrace_machdep.c standard arm/arm/sc_machdep.c optional sc @@ -97,12 +98,12 @@ arm/arm/stdatomic.c standard \ compile-with "${NORMAL_C:N-Wmissing-prototypes}" arm/arm/support.S standard arm/arm/swtch.S standard -arm/arm/swtch-v4.S optional !armv6 -arm/arm/swtch-v6.S optional armv6 +arm/arm/swtch-v4.S optional !armv7 !armv6 +arm/arm/swtch-v6.S optional armv7 | armv6 arm/arm/sys_machdep.c standard arm/arm/syscall.c standard -arm/arm/trap-v4.c optional !armv6 -arm/arm/trap-v6.c optional armv6 +arm/arm/trap-v4.c optional !armv7 !armv6 +arm/arm/trap-v6.c optional armv7 | armv6 arm/arm/uio_machdep.c standard arm/arm/undefined.c standard arm/arm/unwind.c optional ddb | kdtrace_hooks @@ -128,6 +129,7 @@ dev/fdt/fdt_arm_platform.c optional platform fdt dev/hdmi/hdmi_if.m optional hdmi dev/hwpmc/hwpmc_arm.c optional hwpmc dev/hwpmc/hwpmc_armv7.c optional hwpmc armv6 +dev/hwpmc/hwpmc_armv7.c optional hwpmc armv7 dev/iicbus/twsi/twsi.c optional twsi dev/ofw/ofwpci.c optional fdt pci dev/pci/pci_host_generic.c optional pci_host_generic pci diff --git a/sys/conf/options.arm b/sys/conf/options.arm index f3ab2fc0214e..91ca74b8edbe 100644 --- a/sys/conf/options.arm +++ b/sys/conf/options.arm @@ -1,5 +1,6 @@ #$FreeBSD$ ARMV6 opt_global.h +ARMV7 opt_global.h ARM_CACHE_LOCK_ENABLE opt_global.h ARM_KERN_DIRECTMAP opt_vm.h ARM_L2_PIPT opt_global.h