kvm.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: "Philippe Mathieu-Daudé" <f4bug@amsat.org>
To: qemu-devel@nongnu.org
Cc: "Richard Henderson" <richard.henderson@linaro.org>,
	kvm@vger.kernel.org, "Peter Maydell" <peter.maydell@linaro.org>,
	"Fam Zheng" <fam@euphon.net>, "Thomas Huth" <thuth@redhat.com>,
	"Paolo Bonzini" <pbonzini@redhat.com>,
	"Philippe Mathieu-Daudé" <philmd@redhat.com>,
	"Richard Henderson" <rth@twiddle.net>,
	"Claudio Fontana" <cfontana@suse.de>,
	"Alex Bennée" <alex.bennee@linaro.org>,
	qemu-arm@nongnu.org, "Philippe Mathieu-Daudé" <f4bug@amsat.org>
Subject: [PATCH v5 07/11] target/arm: Restrict ARMv7 M-profile cpus to TCG accel
Date: Sat, 30 Jan 2021 02:52:23 +0100	[thread overview]
Message-ID: <20210130015227.4071332-8-f4bug@amsat.org> (raw)
In-Reply-To: <20210130015227.4071332-1-f4bug@amsat.org>

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


  parent reply	other threads:[~2021-01-30 10:12 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-01-30  1:52 [PATCH v5 00/11] Support disabling TCG on ARM (part 2) Philippe Mathieu-Daudé
2021-01-30  1:52 ` [PATCH v5 01/11] exec: Restrict TCG specific headers Philippe Mathieu-Daudé
2021-01-30  1:52 ` [PATCH v5 02/11] default-configs: Remove unnecessary SEMIHOSTING selection Philippe Mathieu-Daudé
2021-01-30  1:52 ` [PATCH v5 03/11] target/arm: Restrict ARMv4 cpus to TCG accel Philippe Mathieu-Daudé
2021-01-30 14:48   ` Philippe Mathieu-Daudé
2021-01-30 15:37   ` Peter Maydell
2021-01-30 18:36     ` Philippe Mathieu-Daudé
2021-01-30 18:54       ` Peter Maydell
2021-01-31 15:35         ` Philippe Mathieu-Daudé
2021-01-30  1:52 ` [PATCH v5 04/11] target/arm: Restrict ARMv5 " Philippe Mathieu-Daudé
2021-01-30  1:52 ` [PATCH v5 05/11] target/arm: Restrict ARMv6 " Philippe Mathieu-Daudé
2021-01-30  1:52 ` [PATCH v5 06/11] target/arm: Restrict ARMv7 R-profile " Philippe Mathieu-Daudé
2021-01-30  1:52 ` Philippe Mathieu-Daudé [this message]
2021-01-30  1:52 ` [PATCH v5 08/11] target/arm: Make m_helper.c optional via CONFIG_ARM_V7M Philippe Mathieu-Daudé
2021-01-30  1:52 ` [PATCH v5 09/11] target/arm: Reorder meson.build rules Philippe Mathieu-Daudé
2021-01-30  1:52 ` [PATCH v5 10/11] target/arm: Do not build TCG objects when TCG is off Philippe Mathieu-Daudé
2021-01-30  1:52 ` [PATCH v5 11/11] .travis.yml: Add a KVM-only Aarch64 job Philippe Mathieu-Daudé

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20210130015227.4071332-8-f4bug@amsat.org \
    --to=f4bug@amsat.org \
    --cc=alex.bennee@linaro.org \
    --cc=cfontana@suse.de \
    --cc=fam@euphon.net \
    --cc=kvm@vger.kernel.org \
    --cc=pbonzini@redhat.com \
    --cc=peter.maydell@linaro.org \
    --cc=philmd@redhat.com \
    --cc=qemu-arm@nongnu.org \
    --cc=qemu-devel@nongnu.org \
    --cc=richard.henderson@linaro.org \
    --cc=rth@twiddle.net \
    --cc=thuth@redhat.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).