Hi all, where are we with this series? I am trying to figure out how to apply the whole thing, in order to build only compatible ARM boards and devices for KVM-only builds.
Ie, I would like to combine this with: "arm cleanup experiment for kvm-only build" https://lists.gnu.org/archive/html/qemu-devel/2021-03/msg02790.html My series there gets us to a buildable and working KVM-only ARM target, with all make check tests passing. However, in order to be able to remove more code, remove stubs etc, I found the presence of incompatible ARM boards and devices as blocking additional cleanups. Therefore, in order to proceed with additional cleanup in arm, and adding the accel-specific extensions to the cpu class, I see being able to disable incompatible boards for KVM as necessary. IIUC there are: * This series "target: Provide target-specific Kconfig" * Support disabling TCG on ARM ? * Support disabling TCG on ARM (part 2) ? What is the current state here? Thanks, Claudio On 1/31/21 12:13 PM, Philippe Mathieu-Daudé wrote: > Hi, > > This series add a Kconfig file to each target, allowing > to select target-specific features there, instead of from > the hardware Kconfig. > > This simplifies managing multi-arch features such semihosting. > > Series organization: > > 1/ Some targets use the architecture symbol to select boards and > peripherals (SH4 and LM32), we need to clean that first. > > 2/ Introduce empty target Kconfig, update meson. > > 3/ Move architectural features out of hardware: > - x86 SEV > - ARM v7m > - generic semihosting > > [following only important to patchew, unrelated to this series] > Based-on: <20210131105918.228787-1-f4...@amsat.org> > > Philippe Mathieu-Daudé (10): > hw/sh4/Kconfig: Rename CONFIG_SH4 -> CONFIG_SH4_PERIPHERALS > hw/lm32/Kconfig: Introduce CONFIG_LM32_EVR for lm32-evr/uclinux boards > hw/sh4/Kconfig: Rename CONFIG_LM32 -> CONFIG_LM32_PERIPHERALS > hw/lm32/Kconfig: Have MILKYMIST select LM32_PERIPHERALS > meson: Introduce target-specific Kconfig > target/i386: Move SEV feature to target Kconfig > target/arm: Move V7M feature to target Kconfig > default-configs: Remove unnecessary SEMIHOSTING selection > target: Move ARM_COMPATIBLE_SEMIHOSTING feature to target Kconfig > target: Move SEMIHOSTING feature to target Kconfig > > default-configs/devices/arm-softmmu.mak | 2 -- > default-configs/devices/lm32-softmmu.mak | 4 +--- > default-configs/devices/m68k-softmmu.mak | 2 -- > .../devices/mips-softmmu-common.mak | 3 --- > default-configs/devices/nios2-softmmu.mak | 2 -- > default-configs/devices/riscv32-softmmu.mak | 2 -- > default-configs/devices/riscv64-softmmu.mak | 2 -- > default-configs/devices/unicore32-softmmu.mak | 1 - > default-configs/devices/xtensa-softmmu.mak | 2 -- > meson.build | 3 ++- > Kconfig | 1 + > hw/arm/Kconfig | 4 ---- > hw/block/meson.build | 2 +- > hw/char/meson.build | 6 ++--- > hw/i386/Kconfig | 4 ---- > hw/intc/meson.build | 4 ++-- > hw/lm32/Kconfig | 10 +++++--- > hw/lm32/meson.build | 2 +- > hw/sh4/Kconfig | 6 ++--- > hw/timer/meson.build | 4 ++-- > target/Kconfig | 23 +++++++++++++++++++ > target/alpha/Kconfig | 2 ++ > target/arm/Kconfig | 11 +++++++++ > target/avr/Kconfig | 2 ++ > target/cris/Kconfig | 2 ++ > target/hppa/Kconfig | 2 ++ > target/i386/Kconfig | 9 ++++++++ > target/lm32/Kconfig | 3 +++ > target/m68k/Kconfig | 3 +++ > target/microblaze/Kconfig | 2 ++ > target/mips/Kconfig | 7 ++++++ > target/moxie/Kconfig | 2 ++ > target/nios2/Kconfig | 3 +++ > target/openrisc/Kconfig | 2 ++ > target/ppc/Kconfig | 5 ++++ > target/riscv/Kconfig | 7 ++++++ > target/rx/Kconfig | 2 ++ > target/s390x/Kconfig | 2 ++ > target/sh4/Kconfig | 2 ++ > target/sparc/Kconfig | 5 ++++ > target/tilegx/Kconfig | 2 ++ > target/tricore/Kconfig | 2 ++ > target/unicore32/Kconfig | 3 +++ > target/xtensa/Kconfig | 3 +++ > 44 files changed, 129 insertions(+), 43 deletions(-) > create mode 100644 target/Kconfig > create mode 100644 target/alpha/Kconfig > create mode 100644 target/arm/Kconfig > create mode 100644 target/avr/Kconfig > create mode 100644 target/cris/Kconfig > create mode 100644 target/hppa/Kconfig > create mode 100644 target/i386/Kconfig > create mode 100644 target/lm32/Kconfig > create mode 100644 target/m68k/Kconfig > create mode 100644 target/microblaze/Kconfig > create mode 100644 target/mips/Kconfig > create mode 100644 target/moxie/Kconfig > create mode 100644 target/nios2/Kconfig > create mode 100644 target/openrisc/Kconfig > create mode 100644 target/ppc/Kconfig > create mode 100644 target/riscv/Kconfig > create mode 100644 target/rx/Kconfig > create mode 100644 target/s390x/Kconfig > create mode 100644 target/sh4/Kconfig > create mode 100644 target/sparc/Kconfig > create mode 100644 target/tilegx/Kconfig > create mode 100644 target/tricore/Kconfig > create mode 100644 target/unicore32/Kconfig > create mode 100644 target/xtensa/Kconfig >