[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH v5 07/11] target/arm: Restrict ARMv7 M-profile cpus to TCG accel
From: |
Philippe Mathieu-Daudé |
Subject: |
[PATCH v5 07/11] target/arm: Restrict ARMv7 M-profile cpus to TCG accel |
Date: |
Sat, 30 Jan 2021 02:52:23 +0100 |
A KVM-only build won't be able to run M-profile cpus.
Only enable the following ARMv7 M-Profile CPUs when TCG is available:
- Cortex-M0
- Cortex-M3
- Cortex-M4
- Cortex-M33
The following machines are no more built when TCG is disabled:
- emcraft-sf2 SmartFusion2 SOM kit from Emcraft (M2S010)
- highbank Calxeda Highbank (ECX-1000)
- lm3s6965evb Stellaris LM3S6965EVB
- lm3s811evb Stellaris LM3S811EVB
- midway Calxeda Midway (ECX-2000)
- mps2-an385 ARM MPS2 with AN385 FPGA image for Cortex-M3
- mps2-an386 ARM MPS2 with AN386 FPGA image for Cortex-M4
- mps2-an500 ARM MPS2 with AN500 FPGA image for Cortex-M7
- mps2-an505 ARM MPS2 with AN505 FPGA image for Cortex-M33
- mps2-an511 ARM MPS2 with AN511 DesignStart FPGA image for
Cortex-M3
- mps2-an521 ARM MPS2 with AN521 FPGA image for dual Cortex-M33
- musca-a ARM Musca-A board (dual Cortex-M33)
- musca-b1 ARM Musca-B1 board (dual Cortex-M33)
- netduino2 Netduino 2 Machine
- netduinoplus2 Netduino Plus 2 Machine
We don't need to enforce CONFIG_ARM_V7M in default-configs anymore.
Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
---
default-configs/devices/arm-softmmu.mak | 11 -----------
hw/arm/Kconfig | 17 +++++++++++++----
2 files changed, 13 insertions(+), 15 deletions(-)
diff --git a/default-configs/devices/arm-softmmu.mak
b/default-configs/devices/arm-softmmu.mak
index ee80bf15150..b72926b8fce 100644
--- a/default-configs/devices/arm-softmmu.mak
+++ b/default-configs/devices/arm-softmmu.mak
@@ -1,28 +1,17 @@
# Default configuration for arm-softmmu
-# TODO: ARM_V7M is currently always required - make this more flexible!
-CONFIG_ARM_V7M=y
-
# CONFIG_PCI_DEVICES=n
# CONFIG_TEST_DEVICES=n
CONFIG_ARM_VIRT=y
CONFIG_CUBIEBOARD=y
CONFIG_EXYNOS4=y
-CONFIG_HIGHBANK=y
-CONFIG_MUSCA=y
-CONFIG_STELLARIS=y
CONFIG_REALVIEW=y
CONFIG_VEXPRESS=y
CONFIG_ZYNQ=y
CONFIG_NPCM7XX=y
-CONFIG_NETDUINO2=y
-CONFIG_NETDUINOPLUS2=y
-CONFIG_MPS2=y
CONFIG_RASPI=y
CONFIG_SABRELITE=y
-CONFIG_EMCRAFT_SF2=y
-CONFIG_MICROBIT=y
CONFIG_FSL_IMX7=y
CONFIG_FSL_IMX6UL=y
CONFIG_ARM_COMPATIBLE_SEMIHOSTING=y
diff --git a/hw/arm/Kconfig b/hw/arm/Kconfig
index 320428bf97e..f56c05c00a8 100644
--- a/hw/arm/Kconfig
+++ b/hw/arm/Kconfig
@@ -16,6 +16,12 @@ config ARM_V7R
depends on TCG
select ARM_COMPATIBLE_SEMIHOSTING
+config ARM_V7M
+ bool
+ depends on TCG
+ select ARM_COMPATIBLE_SEMIHOSTING
+ select PTIMER
+
config ARM_VIRT
bool
imply PCI_DEVICES
@@ -78,6 +84,7 @@ config EXYNOS4
config HIGHBANK
bool
+ default y if TCG
select A9MPCORE
select A15MPCORE
select AHCI
@@ -113,6 +120,7 @@ config MAINSTONE
config MUSCA
bool
+ default y if TCG
select ARMSSE
select PL011
select PL031
@@ -133,10 +141,12 @@ config MUSICPAL
config NETDUINO2
bool
+ default y if TCG
select STM32F205_SOC
config NETDUINOPLUS2
bool
+ default y if TCG
select STM32F405_SOC
config NSERIES
@@ -258,6 +268,7 @@ config SABRELITE
config STELLARIS
bool
+ default y if TCG
select ARM_V7M
select CMSDK_APB_WATCHDOG
select I2C
@@ -331,10 +342,6 @@ config ZYNQ
select XILINX_SPIPS
select ZYNQ_DEVCFG
-config ARM_V7M
- bool
- select PTIMER
-
config ALLWINNER_A10
bool
select AHCI
@@ -463,6 +470,7 @@ config ASPEED_SOC
config MPS2
bool
+ default y if TCG
select ARMSSE
select LAN9118
select MPS2_FPGAIO
@@ -516,6 +524,7 @@ config NRF51_SOC
config EMCRAFT_SF2
bool
+ default y if TCG
select MSF2
select SSI_M25P80
--
2.26.2
- [PATCH v5 00/11] Support disabling TCG on ARM (part 2), Philippe Mathieu-Daudé, 2021/01/29
- [PATCH v5 01/11] exec: Restrict TCG specific headers, Philippe Mathieu-Daudé, 2021/01/29
- [PATCH v5 02/11] default-configs: Remove unnecessary SEMIHOSTING selection, Philippe Mathieu-Daudé, 2021/01/29
- [PATCH v5 03/11] target/arm: Restrict ARMv4 cpus to TCG accel, Philippe Mathieu-Daudé, 2021/01/29
- [PATCH v5 04/11] target/arm: Restrict ARMv5 cpus to TCG accel, Philippe Mathieu-Daudé, 2021/01/29
- [PATCH v5 05/11] target/arm: Restrict ARMv6 cpus to TCG accel, Philippe Mathieu-Daudé, 2021/01/29
- [PATCH v5 06/11] target/arm: Restrict ARMv7 R-profile cpus to TCG accel, Philippe Mathieu-Daudé, 2021/01/29
- [PATCH v5 07/11] target/arm: Restrict ARMv7 M-profile cpus to TCG accel,
Philippe Mathieu-Daudé <=
- [PATCH v5 08/11] target/arm: Make m_helper.c optional via CONFIG_ARM_V7M, Philippe Mathieu-Daudé, 2021/01/29
- [PATCH v5 09/11] target/arm: Reorder meson.build rules, Philippe Mathieu-Daudé, 2021/01/29
- [PATCH v5 10/11] target/arm: Do not build TCG objects when TCG is off, Philippe Mathieu-Daudé, 2021/01/29
- [PATCH v5 11/11] .travis.yml: Add a KVM-only Aarch64 job, Philippe Mathieu-Daudé, 2021/01/29