From 970e26294905d2d27369cf4041c6778105754f5e Mon Sep 17 00:00:00 2001 From: Ard Biesheuvel Date: Mon, 15 Aug 2022 11:17:12 +0200 Subject: [PATCH] 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 Acked-by: Gerd Hoffmann --- OvmfPkg/NetworkComponents.dsc.inc | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/OvmfPkg/NetworkComponents.dsc.inc b/OvmfPkg/NetworkComponents.dsc.inc index 85a1653916..713eec7dd1 100644 --- a/OvmfPkg/NetworkComponents.dsc.inc +++ b/OvmfPkg/NetworkComponents.dsc.inc @@ -14,4 +14,22 @@ NULL|OvmfPkg/Library/TlsAuthConfigLib/TlsAuthConfigLib.inf } !endif + + !if $(NETWORK_IP4_ENABLE) == TRUE + NetworkPkg/Ip4Dxe/Ip4Dxe.inf { + + UefiDriverEntryPoint|OvmfPkg/Library/UefiDriverEntryPointFwCfgOverrideLib/UefiDriverEntryPointFwCfgOverrideLib.inf + + gUefiOvmfPkgTokenSpaceGuid.PcdEntryPointOverrideFwCfgVarName|"opt/org.tianocore/IPv4Support" + } + !endif + + !if $(NETWORK_IP6_ENABLE) == TRUE + NetworkPkg/Ip6Dxe/Ip6Dxe.inf { + + UefiDriverEntryPoint|OvmfPkg/Library/UefiDriverEntryPointFwCfgOverrideLib/UefiDriverEntryPointFwCfgOverrideLib.inf + + gUefiOvmfPkgTokenSpaceGuid.PcdEntryPointOverrideFwCfgVarName|"opt/org.tianocore/IPv6Support" + } + !endif !endif