]> git.ipfire.org Git - thirdparty/ipxe.git/commitdiff
[build] Drag in Xen and Hyper-V support via network device drivers
authorMichael Brown <mcb30@ipxe.org>
Wed, 11 Feb 2026 20:46:58 +0000 (20:46 +0000)
committerMichael Brown <mcb30@ipxe.org>
Wed, 11 Feb 2026 22:02:23 +0000 (22:02 +0000)
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 <mcb30@ipxe.org>
src/Makefile
src/arch/x86/Makefile
src/interface/xen/xenbus.c

index e7acdd662b11bd5df5c3a26c8c6739d8dbee25a0..77a2bc28496381efc17a8c91a2aecabe8c62aab7 100644 (file)
@@ -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
index 4a4d8ee913775292124143f4fa785f76a217326a..b84ee830c2c75a01c40ee8a0f0947ab409ecbe23 100644 (file)
@@ -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)
index 95bfdf7da8a9aed5b2dd78742d03467f54dcee00..4e6ad3aa3e4e51e8b18bde5241d10844ed2c17a4 100644 (file)
@@ -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 );