Re: [PATCH v3 18/19] hw/arm: Do not build to 'virt' machine on Xen
On 3/16/20 6:11 PM, Peter Maydell wrote: On Mon, 16 Mar 2020 at 16:08, Philippe Mathieu-Daudé wrote: Xen on ARM does not use QEMU machines [*]. Disable the 'virt' machine there to avoid odd errors such: CC i386-softmmu/hw/cpu/a15mpcore.o hw/cpu/a15mpcore.c:28:10: fatal error: kvm_arm.h: No such file or directory [*] https://wiki.xenproject.org/wiki/Xen_ARM_with_Virtualization_Extensions#Use_of_qemu-system-i386_on_ARM Signed-off-by: Philippe Mathieu-Daudé --- Cc: Stefano Stabellini Cc: Anthony Perard Cc: Paul Durrant Cc: xen-de...@lists.xenproject.org --- hw/arm/Kconfig | 1 + 1 file changed, 1 insertion(+) diff --git a/hw/arm/Kconfig b/hw/arm/Kconfig index 8e801cd15f..69a8e30125 100644 --- a/hw/arm/Kconfig +++ b/hw/arm/Kconfig @@ -1,5 +1,6 @@ config ARM_VIRT bool +depends on !XEN default y if KVM imply PCI_DEVICES imply TEST_DEVICES -- This seems odd to me: (1) the error message you quote is for a15mpcore.c, not virt.c This is the first device the virt board selects: config ARM_VIRT bool imply PCI_DEVICES imply TEST_DEVICES imply VFIO_AMD_XGBE imply VFIO_PLATFORM imply VFIO_XGMAC imply TPM_TIS_SYSBUS select A15MPCORE ... (2) shouldn't this be prevented by something saying "don't build guest architecture X boards into Y-softmmu", rather than a specific flag for a specific arm board ? Yes, agreed. This surgical change was quicker for my testing, but we don't need this patch right now, so let's drop it. thanks -- PMM
Re: [PATCH v3 18/19] hw/arm: Do not build to 'virt' machine on Xen
On Mon, 16 Mar 2020, Philippe Mathieu-Daudé wrote: > Xen on ARM does not use QEMU machines [*]. Disable the 'virt' > machine there to avoid odd errors such: > > CC i386-softmmu/hw/cpu/a15mpcore.o > hw/cpu/a15mpcore.c:28:10: fatal error: kvm_arm.h: No such file or directory > > [*] > https://wiki.xenproject.org/wiki/Xen_ARM_with_Virtualization_Extensions#Use_of_qemu-system-i386_on_ARM I confirm that what's written on that wikipage is correct: Xen on ARM doesn't use QEMU for emulation, only as a PV backends provider. As such, and also because the code is a bit entangled with the x86 platform, even on ARM we are building and running qemu-system-i386 to get the PV disk and PV framebuffer. Of course, no x86 emulation is actually done. Ideally we would have a non-arch-specific machine type for the PV backends, but that doesn't exist today. In short, I think this patch is fine, at least until somebody comes around and tries to add emulation to Xen on ARM. > Signed-off-by: Philippe Mathieu-Daudé > --- > Cc: Stefano Stabellini > Cc: Anthony Perard > Cc: Paul Durrant > Cc: xen-de...@lists.xenproject.org > --- > hw/arm/Kconfig | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/hw/arm/Kconfig b/hw/arm/Kconfig > index 8e801cd15f..69a8e30125 100644 > --- a/hw/arm/Kconfig > +++ b/hw/arm/Kconfig > @@ -1,5 +1,6 @@ > config ARM_VIRT > bool > +depends on !XEN > default y if KVM > imply PCI_DEVICES > imply TEST_DEVICES > -- > 2.21.1 >
Re: [PATCH v3 18/19] hw/arm: Do not build to 'virt' machine on Xen
On Mon, 16 Mar 2020 at 16:08, Philippe Mathieu-Daudé wrote: > > Xen on ARM does not use QEMU machines [*]. Disable the 'virt' > machine there to avoid odd errors such: > > CC i386-softmmu/hw/cpu/a15mpcore.o > hw/cpu/a15mpcore.c:28:10: fatal error: kvm_arm.h: No such file or directory > > [*] > https://wiki.xenproject.org/wiki/Xen_ARM_with_Virtualization_Extensions#Use_of_qemu-system-i386_on_ARM > > Signed-off-by: Philippe Mathieu-Daudé > --- > Cc: Stefano Stabellini > Cc: Anthony Perard > Cc: Paul Durrant > Cc: xen-de...@lists.xenproject.org > --- > hw/arm/Kconfig | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/hw/arm/Kconfig b/hw/arm/Kconfig > index 8e801cd15f..69a8e30125 100644 > --- a/hw/arm/Kconfig > +++ b/hw/arm/Kconfig > @@ -1,5 +1,6 @@ > config ARM_VIRT > bool > +depends on !XEN > default y if KVM > imply PCI_DEVICES > imply TEST_DEVICES > -- This seems odd to me: (1) the error message you quote is for a15mpcore.c, not virt.c (2) shouldn't this be prevented by something saying "don't build guest architecture X boards into Y-softmmu", rather than a specific flag for a specific arm board ? thanks -- PMM