On 10/1/20 9:38 AM, Paolo Bonzini wrote: > On 29/09/20 22:36, Philippe Mathieu-Daudé wrote: >> Yes, the problem if I don't restrict to KVM, when >> using the Xen accelerator odd things occur >> (using configure --enable-xen --disable-tcg --disable-kvm): >> >> Compiling C object libqemu-i386-softmmu.fa.p/hw_cpu_a15mpcore.c.o >> hw/cpu/a15mpcore.c:28:10: fatal error: kvm_arm.h: No such file or directory >> >> See >> https://wiki.xenproject.org/wiki/Xen_ARM_with_Virtualization_Extensions#Use_of_qemu-system-i386_on_ARM > > I don't understand. Is Xen adding CONFIG_ARM_VIRT=y to > default-configs/i386-softmmu.mak?? No, this is when using: config ARM_VIRT bool + default y I had the understanding devices in hw/$BASEARCH would be only included for $ARCH, but I was wrong, any arch kconfig-include the devices of the other archs. I tried the following diff which doesn't build because various devices in *non*-archdep folders use arch-specific Kconfig values: -- >8 -- diff --git a/meson.build b/meson.build index 9ab5d514d7..cfe19d0007 100644 --- a/meson.build +++ b/meson.build @@ -575,6 +575,7 @@ foreach target : target_dirs if fs.is_file(target_kconfig) minikconf_input += [target_kconfig] endif + minikconf_input += 'hw' / config_target['TARGET_BASE_ARCH'] / 'Kconfig' config_devices_mak = configure_file( input: minikconf_input, output: config_devices_mak, diff --git a/hw/Kconfig b/hw/Kconfig index 4de1797ffd..64c120175a 100644 --- a/hw/Kconfig +++ b/hw/Kconfig @@ -41,29 +41,29 @@ source vfio/Kconfig source watchdog/Kconfig # arch Kconfig -source arm/Kconfig -source alpha/Kconfig -source avr/Kconfig -source cris/Kconfig -source hppa/Kconfig -source i386/Kconfig -source lm32/Kconfig -source m68k/Kconfig -source microblaze/Kconfig -source mips/Kconfig -source moxie/Kconfig -source nios2/Kconfig -source openrisc/Kconfig -source ppc/Kconfig -source riscv/Kconfig -source rx/Kconfig -source s390x/Kconfig -source sh4/Kconfig -source sparc/Kconfig -source sparc64/Kconfig -source tricore/Kconfig -source unicore32/Kconfig -source xtensa/Kconfig # Symbols used by multiple targets config TEST_DEVICES --- > > (By the way, there are duplicate Kconfig symbols between target/arm and > hw/cpu, they could/should be removed from target/arm). I'd rather define Kconfig entry where the model is, so in this case keep them defined in hw/cpu/Kconfig and remove dup entries from hw/arm/Kconfig (if Peter is OK with that). > > Paolo >