summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlexander Gryanko <xpahos@gmail.com>2024-11-25 01:13:59 +0300
committermergify[bot] <37929162+mergify[bot]@users.noreply.github.com>2024-12-06 18:26:01 +0000
commit35706d43c5645911560da905ccc057b7d6193356 (patch)
tree8718963617bef67f50f16a2a6678068b3dd096dd
parent087a47688c3b31cfc75daccafc9755b1995cecf5 (diff)
downloadedk2-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.inc5
-rw-r--r--NetworkPkg/NetworkComponents.dsc.inc5
-rw-r--r--NetworkPkg/NetworkDefines.dsc.inc8
-rw-r--r--NetworkPkg/NetworkDynamicPcds.dsc.inc2
-rw-r--r--NetworkPkg/NetworkPkg.ci.yaml1
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",
}
}