From: Michael Brown Date: Wed, 11 Feb 2026 20:46:58 +0000 (+0000) Subject: [build] Drag in Xen and Hyper-V support via network device drivers X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=7a2817bbd7c0ae4f63044d2e3b9f01c3bacbd1f9;p=thirdparty%2Fipxe.git [build] Drag in Xen and Hyper-V support via network device drivers Include Xen and Hyper-V support in the all-drivers build by dragging in the netfront and netvsc drivers, since these are the functional drivers that provide network interfaces. Signed-off-by: Michael Brown --- diff --git a/src/Makefile b/src/Makefile index e7acdd662..77a2bc284 100644 --- a/src/Makefile +++ b/src/Makefile @@ -246,13 +246,16 @@ version : DRIVERS_ipxe += $(DRIVERS_isa_net) DRIVERS_ipxe += $(DRIVERS_pci_net) DRIVERS_ipxe += $(DRIVERS_pci_infiniband) -DRIVERS_ipxe += $(DRIVERS_pci_xen) -DRIVERS_ipxe += $(DRIVERS_hyperv) # Raspberry Pi # DRIVERS_rpi += smsc95xx lan78xx +# Virtualised NIC drivers with hypervisor-specific bus types +# +DRIVERS_vmbus_net += netvsc +DRIVERS_xenbus_net += netfront + ############################################################################### # # Drag in the bulk of the build system diff --git a/src/arch/x86/Makefile b/src/arch/x86/Makefile index 4a4d8ee91..b84ee830c 100644 --- a/src/arch/x86/Makefile +++ b/src/arch/x86/Makefile @@ -29,6 +29,10 @@ CFLAGS += -DNVALGRIND # CFLAGS_lkrnprefix += -DVERSION="\"$(VERSION)\"" +# Include Xen driver in the all-drivers build +# +DRIVERS_ipxe += $(DRIVERS_xenbus_net) + # Include Hyper-V driver in the all-drivers build # -DRIVERS_hyperv += hyperv +DRIVERS_ipxe += $(DRIVERS_vmbus_net) diff --git a/src/interface/xen/xenbus.c b/src/interface/xen/xenbus.c index 95bfdf7da..4e6ad3aa3 100644 --- a/src/interface/xen/xenbus.c +++ b/src/interface/xen/xenbus.c @@ -400,3 +400,9 @@ void xenbus_remove ( struct xen_hypervisor *xen __unused, xenbus_remove_device ( xendev ); } } + +/* Drag in objects via xenbus_set_state() */ +REQUIRING_SYMBOL ( xenbus_set_state ); + +/* Drag in backing hardware device */ +REQUIRE_OBJECT ( hvm );