Selaa lähdekoodia

OvmfPkg: Allow runtime control of IPv4 and IPv6 support on QEMU

Wire up the newly added UefiDriverEntrypoint in a way that ties dispatch
of the Ip4Dxe and Ip6Dxe drivers to QEMU fw_cfg variables
'opt/org.tianocore/IPv4Support' and 'opt/org.tianocore/IPv6Support'
respectively.

Setting both variables to 'n' disables IP based networking entirely,
without the need for additional code changes at the NIC driver or
network boot protocol level.

Signed-off-by: Ard Biesheuvel <ardb@kernel.org>
Acked-by: Gerd Hoffmann <kraxel@redhat.com>
Ard Biesheuvel 1 vuosi sitten
vanhempi
commit
970e262949
1 muutettua tiedostoa jossa 18 lisäystä ja 0 poistoa
  1. 18 0
      OvmfPkg/NetworkComponents.dsc.inc

+ 18 - 0
OvmfPkg/NetworkComponents.dsc.inc

@@ -14,4 +14,22 @@
         NULL|OvmfPkg/Library/TlsAuthConfigLib/TlsAuthConfigLib.inf
     }
   !endif
+
+  !if $(NETWORK_IP4_ENABLE) == TRUE
+    NetworkPkg/Ip4Dxe/Ip4Dxe.inf {
+      <LibraryClasses>
+        UefiDriverEntryPoint|OvmfPkg/Library/UefiDriverEntryPointFwCfgOverrideLib/UefiDriverEntryPointFwCfgOverrideLib.inf
+      <PcdsFixedAtBuild>
+        gUefiOvmfPkgTokenSpaceGuid.PcdEntryPointOverrideFwCfgVarName|"opt/org.tianocore/IPv4Support"
+    }
+  !endif
+
+  !if $(NETWORK_IP6_ENABLE) == TRUE
+    NetworkPkg/Ip6Dxe/Ip6Dxe.inf {
+      <LibraryClasses>
+        UefiDriverEntryPoint|OvmfPkg/Library/UefiDriverEntryPointFwCfgOverrideLib/UefiDriverEntryPointFwCfgOverrideLib.inf
+      <PcdsFixedAtBuild>
+        gUefiOvmfPkgTokenSpaceGuid.PcdEntryPointOverrideFwCfgVarName|"opt/org.tianocore/IPv6Support"
+    }
+  !endif
 !endif