On 01/02/21 11:59, Philippe Mathieu-Daudé wrote:
On 1/31/21 3:18 PM, Philippe Mathieu-Daudé wrote:
xenpv machine requires USB, IDE_PIIX and PCI:
/usr/bin/ld:
libcommon.fa.p/hw_xen_xen-legacy-backend.c.o: in function
`xen_be_register_common':
hw/xen/xen-legacy-backend.c:757: undefined reference to `xen_usb_ops'
libqemu-i386-softmmu.fa.p/hw_i386_xen_xen_platform.c.o: in function
`unplug_disks':
hw/i386/xen/xen_platform.c:153: undefined reference to
`pci_piix3_xen_ide_unplug'
libqemu-i386-softmmu.fa.p/hw_i386_xen_xen_platform.c.o: in function
`pci_unplug_nics':
hw/i386/xen/xen_platform.c:137: undefined reference to `pci_for_each_device'
libqemu-i386-softmmu.fa.p/hw_i386_xen_xen_platform.c.o: in function
`xen_platform_realize':
hw/i386/xen/xen_platform.c:483: undefined reference to `pci_register_bar'
Signed-off-by: Philippe Mathieu-Daudé <f4...@amsat.org>
---
hw/Kconfig | 1 +
hw/xen/Kconfig | 7 +++++++
2 files changed, 8 insertions(+)
create mode 100644 hw/xen/Kconfig
diff --git a/hw/Kconfig b/hw/Kconfig
index 5ad3c6b5a4b..f2a95591d94 100644
--- a/hw/Kconfig
+++ b/hw/Kconfig
@@ -39,6 +39,7 @@ source usb/Kconfig
source virtio/Kconfig
source vfio/Kconfig
source watchdog/Kconfig
+source xen/Kconfig
# arch Kconfig
source arm/Kconfig
diff --git a/hw/xen/Kconfig b/hw/xen/Kconfig
new file mode 100644
index 00000000000..0b8427d6bd1
--- /dev/null
+++ b/hw/xen/Kconfig
@@ -0,0 +1,7 @@
+config XEN_PV
+ bool
+ default y if XEN
+ depends on XEN
+ select PCI
+ select USB
+ select IDE_PIIX
Well this is not enough, --without-default-devices fails:
/usr/bin/ld: libqemu-x86_64-softmmu.fa.p/softmmu_physmem.c.o: in
function `cpu_physical_memory_set_dirty_range':
include/exec/ram_addr.h:333: undefined reference to
`xen_hvm_modified_memory'
/usr/bin/ld: libqemu-x86_64-softmmu.fa.p/softmmu_physmem.c.o: in
function `ram_block_add':
softmmu/physmem.c:1873: undefined reference to `xen_ram_alloc'
/usr/bin/ld: libqemu-x86_64-softmmu.fa.p/softmmu_physmem.c.o: in
function `cpu_physical_memory_set_dirty_range':
include/exec/ram_addr.h:333: undefined reference to
`xen_hvm_modified_memory'
/usr/bin/ld: include/exec/ram_addr.h:333: undefined reference to
`xen_hvm_modified_memory'
/usr/bin/ld: libqemu-x86_64-softmmu.fa.p/softmmu_memory.c.o: in function
`cpu_physical_memory_set_dirty_range':
include/exec/ram_addr.h:333: undefined reference to
`xen_hvm_modified_memory'
collect2: error: ld returned 1 exit status
ninja: build stopped: subcommand failed.
I think you can modify xen_hvm_modified_memory to become a virtual
function in AccelClass.
Paolo