[v1,3/5] hw/arm: move CONFIG_V7M out of default-devices

Message ID 20210621152120.4465-4-alex.bennee@linaro.org
State Superseded
Headers show
Series
  • custom device configs (split from larger series)
Related show

Commit Message

Alex Bennée June 21, 2021, 3:21 p.m.
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.

Acked-by: Richard Henderson <richard.henderson@linaro.org>

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


---
vconfigs
  - cherry pick from re-factor
  - minor tweak to subject line
---
 default-configs/devices/arm-softmmu.mak | 3 ---
 hw/arm/Kconfig                          | 3 +++
 2 files changed, 3 insertions(+), 3 deletions(-)

-- 
2.20.1

Comments

Thomas Huth July 6, 2021, 11:04 a.m. | #1
On 21/06/2021 17.21, Alex Bennée wrote:
> 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.

> 

> Acked-by: Richard Henderson <richard.henderson@linaro.org>

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

> 

> ---

> vconfigs

>    - cherry pick from re-factor

>    - minor tweak to subject line

> ---

>   default-configs/devices/arm-softmmu.mak | 3 ---

>   hw/arm/Kconfig                          | 3 +++

>   2 files changed, 3 insertions(+), 3 deletions(-)

> 

> 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 528f71bb9d..062fe94b64 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


Reviewed-by: Thomas Huth <thuth@redhat.com>
Philippe Mathieu-Daudé July 6, 2021, 12:14 p.m. | #2
On 6/21/21 5:21 PM, Alex Bennée wrote:
> 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.

> 

> Acked-by: Richard Henderson <richard.henderson@linaro.org>

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

> 

> ---

> vconfigs

>   - cherry pick from re-factor

>   - minor tweak to subject line

> ---

>  default-configs/devices/arm-softmmu.mak | 3 ---

>  hw/arm/Kconfig                          | 3 +++

>  2 files changed, 3 insertions(+), 3 deletions(-)


Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>

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 528f71bb9d..062fe94b64 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