diff mbox series

[v16,94/99] target/arm: move CONFIG_V7M out of default-devices

Message ID 20210604155312.15902-95-alex.bennee@linaro.org
State New
Headers show
Series arm tcg/kvm refactor and split with kvm only support | expand

Commit Message

Alex Bennée June 4, 2021, 3:53 p.m. UTC
We currently select CONFIG_V7M for a bunch of our m-profile devices.
The last sticking point is translate.c which cannot be compiled
without expecting v7m support. Express this dependency in Kconfig
rather than in default devices as a stepping stone to a fully
configurable translate.c.

While we are at it we also need to select ARM_COMPATIBLE_SEMIHOSTING
as that is implied for M profile machines.

Signed-off-by: Alex Bennée <alex.bennee@linaro.org>

---
 default-configs/devices/arm-softmmu.mak | 3 ---
 hw/arm/Kconfig                          | 3 +++
 target/arm/tcg/sysemu/meson.build       | 5 ++++-
 3 files changed, 7 insertions(+), 4 deletions(-)

-- 
2.20.1

Comments

Richard Henderson June 5, 2021, 10:41 p.m. UTC | #1
On 6/4/21 8:53 AM, Alex Bennée wrote:
>   config ARM_V7M

>       bool

> +    # currently v7M must be included in a TCG build due to translate.c

> +    default y if TCG && (ARM || AARCH64)

>       select PTIMER

> +    select ARM_COMPATIBLE_SEMIHOSTING


I don't really understand "default", because if one were to set ARM_V7M=n in 
the config, things wouldn't work.  But I guess the comment sort-of covers that.

I'll give you an
Acked-by: Richard Henderson <richard.henderson@linaro.org>


anyway, because it does seem an improvement for the --disable-tcg case.


r~
diff mbox series

Patch

diff --git a/default-configs/devices/arm-softmmu.mak b/default-configs/devices/arm-softmmu.mak
index 0500156a0c..4114aa9e35 100644
--- a/default-configs/devices/arm-softmmu.mak
+++ b/default-configs/devices/arm-softmmu.mak
@@ -1,8 +1,5 @@ 
 # 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
 
diff --git a/hw/arm/Kconfig b/hw/arm/Kconfig
index 67723d9ea6..afaf807c92 100644
--- a/hw/arm/Kconfig
+++ b/hw/arm/Kconfig
@@ -296,7 +296,10 @@  config ZYNQ
 
 config ARM_V7M
     bool
+    # currently v7M must be included in a TCG build due to translate.c
+    default y if TCG && (ARM || AARCH64)
     select PTIMER
+    select ARM_COMPATIBLE_SEMIHOSTING
 
 config ALLWINNER_A10
     bool
diff --git a/target/arm/tcg/sysemu/meson.build b/target/arm/tcg/sysemu/meson.build
index 56e4b5ccea..520f305deb 100644
--- a/target/arm/tcg/sysemu/meson.build
+++ b/target/arm/tcg/sysemu/meson.build
@@ -1,7 +1,10 @@ 
 arm_softmmu_ss.add(when: 'CONFIG_TCG', if_true: files(
   'debug_helper.c',
-  'm_helper.c',
   'mte_helper.c',
   'tcg-cpu.c',
   'tlb_helper.c',
 ))
+
+arm_softmmu_ss.add(when: 'CONFIG_ARM_V7M', if_true: files(
+  'm_helper.c',
+))