--- /dev/null
+/** @file\r
+ Configure some PCDs dynamically for\r
+ "NetworkPkg/UefiPxeBcDxe/UefiPxeBcDxe.inf", from QEMU's fw_cfg.\r
+\r
+ Copyright (C) 2020, Red Hat, Inc.\r
+\r
+ SPDX-License-Identifier: BSD-2-Clause-Patent\r
+**/\r
+\r
+#include <Library/PcdLib.h>\r
+#include <Library/QemuFwCfgSimpleParserLib.h>\r
+\r
+RETURN_STATUS\r
+EFIAPI\r
+SetPxeBcPcds (\r
+ VOID\r
+ )\r
+{\r
+ BOOLEAN FwCfgBool;\r
+ RETURN_STATUS PcdStatus;\r
+\r
+ if (!RETURN_ERROR (QemuFwCfgParseBool ("opt/org.tianocore/IPv4PXESupport",\r
+ &FwCfgBool))) {\r
+ PcdStatus = PcdSet8S (PcdIPv4PXESupport, FwCfgBool);\r
+ if (RETURN_ERROR (PcdStatus)) {\r
+ return PcdStatus;\r
+ }\r
+ }\r
+\r
+ if (!RETURN_ERROR (QemuFwCfgParseBool ("opt/org.tianocore/IPv6PXESupport",\r
+ &FwCfgBool))) {\r
+ PcdStatus = PcdSet8S (PcdIPv6PXESupport, FwCfgBool);\r
+ if (RETURN_ERROR (PcdStatus)) {\r
+ return PcdStatus;\r
+ }\r
+ }\r
+\r
+ return RETURN_SUCCESS;\r
+}\r