diff options
author | Alexander Gryanko <xpahos@gmail.com> | 2024-11-25 01:13:59 +0300 |
---|---|---|
committer | mergify[bot] <37929162+mergify[bot]@users.noreply.github.com> | 2024-12-06 18:26:01 +0000 |
commit | 35706d43c5645911560da905ccc057b7d6193356 (patch) | |
tree | 8718963617bef67f50f16a2a6678068b3dd096dd | |
parent | 087a47688c3b31cfc75daccafc9755b1995cecf5 (diff) | |
download | edk2-35706d43c5645911560da905ccc057b7d6193356.tar.gz |
NetworkPkg: PXE boot option build flag
Currently, the only way to disable PXE boot options is to change the PCD
variables PcdIPv4PXESupport and PcdIPv6PXESupport in the source code or
use the "--pcd" option in the build script. Other boot options such
as HTTP or iSCSI can be disabled using the -D<option> flag.
NETWORK_PXE_BOOT_ENABLE will add a consistent way to disable PXE booting.
This is the third and final part of a series of patches to enable the
NETWORK_PXE_BOOT_ENABLE build flag. At this point, the flag will be able
to disable PXE functionality.
Signed-off-by: Alexander Gryanko <xpahos@gmail.com>
-rw-r--r-- | NetworkPkg/Network.fdf.inc | 5 | ||||
-rw-r--r-- | NetworkPkg/NetworkComponents.dsc.inc | 5 | ||||
-rw-r--r-- | NetworkPkg/NetworkDefines.dsc.inc | 8 | ||||
-rw-r--r-- | NetworkPkg/NetworkDynamicPcds.dsc.inc | 2 | ||||
-rw-r--r-- | NetworkPkg/NetworkPkg.ci.yaml | 1 |
5 files changed, 18 insertions, 3 deletions
diff --git a/NetworkPkg/Network.fdf.inc b/NetworkPkg/Network.fdf.inc index 8a662ad1de..eb7b9c8ed1 100644 --- a/NetworkPkg/Network.fdf.inc +++ b/NetworkPkg/Network.fdf.inc @@ -39,7 +39,10 @@ !endif
INF NetworkPkg/TcpDxe/TcpDxe.inf
- INF NetworkPkg/UefiPxeBcDxe/UefiPxeBcDxe.inf
+
+ !if $(NETWORK_PXE_BOOT_ENABLE) == TRUE
+ INF NetworkPkg/UefiPxeBcDxe/UefiPxeBcDxe.inf
+ !endif
!if $(NETWORK_TLS_ENABLE) == TRUE
INF NetworkPkg/TlsDxe/TlsDxe.inf
diff --git a/NetworkPkg/NetworkComponents.dsc.inc b/NetworkPkg/NetworkComponents.dsc.inc index 21cb62082f..652411d410 100644 --- a/NetworkPkg/NetworkComponents.dsc.inc +++ b/NetworkPkg/NetworkComponents.dsc.inc @@ -41,7 +41,10 @@ !endif
NetworkPkg/TcpDxe/TcpDxe.inf
- NetworkPkg/UefiPxeBcDxe/UefiPxeBcDxe.inf
+
+ !if $(NETWORK_PXE_BOOT_ENABLE) == TRUE
+ NetworkPkg/UefiPxeBcDxe/UefiPxeBcDxe.inf
+ !endif
!if $(NETWORK_TLS_ENABLE) == TRUE
NetworkPkg/TlsDxe/TlsDxe.inf
diff --git a/NetworkPkg/NetworkDefines.dsc.inc b/NetworkPkg/NetworkDefines.dsc.inc index e39a9cb3dc..e4e5617ff8 100644 --- a/NetworkPkg/NetworkDefines.dsc.inc +++ b/NetworkPkg/NetworkDefines.dsc.inc @@ -21,6 +21,7 @@ # DEFINE NETWORK_ISCSI_ENABLE = FALSE
# DEFINE NETWORK_ISCSI_MD5_ENABLE = TRUE
# DEFINE NETWORK_VLAN_ENABLE = TRUE
+# DEFINE NETWORK_PXE_BOOT_ENABLE = TRUE
#
# Copyright (c) 2019, Intel Corporation. All rights reserved.<BR>
# (C) Copyright 2020 Hewlett Packard Enterprise Development LP<BR>
@@ -137,6 +138,13 @@ DEFINE NETWORK_ISCSI_MD5_ENABLE = TRUE
!endif
+!ifndef NETWORK_PXE_BOOT_ENABLE
+ #
+ # This flag is to enable or disable PXE boot feature.
+ #
+ DEFINE NETWORK_PXE_BOOT_ENABLE = TRUE
+!endif
+
!if $(NETWORK_ENABLE) == TRUE
#
# Check the flags to see if there is any conflict.
diff --git a/NetworkPkg/NetworkDynamicPcds.dsc.inc b/NetworkPkg/NetworkDynamicPcds.dsc.inc index 50bb4f9368..b26105bd66 100644 --- a/NetworkPkg/NetworkDynamicPcds.dsc.inc +++ b/NetworkPkg/NetworkDynamicPcds.dsc.inc @@ -14,7 +14,7 @@ #
# IPv4 and IPv6 PXE Boot support.
#
-!if $(NETWORK_ENABLE) == TRUE
+!if ($(NETWORK_ENABLE) == TRUE) AND ($(NETWORK_PXE_BOOT_ENABLE) == TRUE)
gEfiNetworkPkgTokenSpaceGuid.PcdIPv4PXESupport|0x01
gEfiNetworkPkgTokenSpaceGuid.PcdIPv6PXESupport|0x01
!endif
diff --git a/NetworkPkg/NetworkPkg.ci.yaml b/NetworkPkg/NetworkPkg.ci.yaml index 5626e94434..24695f97d9 100644 --- a/NetworkPkg/NetworkPkg.ci.yaml +++ b/NetworkPkg/NetworkPkg.ci.yaml @@ -83,5 +83,6 @@ "BLD_*_NETWORK_HTTP_ENABLE": "FALSE",
"BLD_*_NETWORK_HTTP_BOOT_ENABLE": "TRUE",
"BLD_*_NETWORK_ISCSI_ENABLE": "TRUE",
+ "BLD_*_NETWORK_PXE_BOOT_ENABLE": "TRUE",
}
}
|