diff --git a/EdkModulePkg/EdkModulePkg.fpd b/EdkModulePkg/EdkModulePkg.fpd
index 09c337c766..fe5201a58a 100644
--- a/EdkModulePkg/EdkModulePkg.fpd
+++ b/EdkModulePkg/EdkModulePkg.fpd
@@ -16536,106 +16536,6 @@
BS_DRIVER
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- PcdReportStatusCodePropertyMask
- 0x00000007
- gEfiMdePkgTokenSpaceGuid
- UINT8
- 1
- 0x06
-
-
- PcdDebugPropertyMask
- 0x00000005
- gEfiMdePkgTokenSpaceGuid
- UINT8
- 1
- 0x0f
-
-
- PcdDebugClearMemoryValue
- 0x00000008
- gEfiMdePkgTokenSpaceGuid
- UINT8
- 1
- 0xAF
-
-
- PcdDebugPrintErrorLevel
- 0x00000006
- gEfiMdePkgTokenSpaceGuid
- UINT32
- 4
- 0x80000000
-
-
- PcdMaximumUnicodeStringLength
- 0x00000001
- gEfiMdePkgTokenSpaceGuid
- UINT32
- 4
- 1000000
-
-
- PcdMaximumAsciiStringLength
- 0x00000002
- gEfiMdePkgTokenSpaceGuid
- UINT32
- 4
- 1000000
-
-
- PcdMaximumLinkedListLength
- 0x00000003
- gEfiMdePkgTokenSpaceGuid
- UINT32
- 4
- 1000000
-
-
- PcdSpinLockTimeout
- 0x00000004
- gEfiMdePkgTokenSpaceGuid
- UINT32
- 4
- 10000000
-
-
- PcdComponentNameDisable
- 0x0000000d
- gEfiMdePkgTokenSpaceGuid
- BOOLEAN
- 1
- FALSE
-
-
- PcdDriverDiagnosticsDisable
- 0x0000000e
- gEfiMdePkgTokenSpaceGuid
- BOOLEAN
- 1
- FALSE
-
-
-
- NULL
- BS_DRIVER
-
-
diff --git a/EdkModulePkg/Universal/Network/PxeBc/Dxe/BC.msa b/EdkModulePkg/Universal/Network/PxeBc/Dxe/BC.msa
index 0fff256d95..6a2321ea5c 100644
--- a/EdkModulePkg/Universal/Network/PxeBc/Dxe/BC.msa
+++ b/EdkModulePkg/Universal/Network/PxeBc/Dxe/BC.msa
@@ -17,7 +17,7 @@
FRAMEWORK_BUILD_PACKAGING_SPECIFICATION 0x00000052
- IA32 X64 IPF EBC
+ IA32 X64 IPF
false
BC
diff --git a/EdkModulePkg/Universal/Network/PxeBc/Dxe/ip.h b/EdkModulePkg/Universal/Network/PxeBc/Dxe/ip.h
index fcfc264763..69bfe6d6de 100644
--- a/EdkModulePkg/Universal/Network/PxeBc/Dxe/ip.h
+++ b/EdkModulePkg/Universal/Network/PxeBc/Dxe/ip.h
@@ -19,8 +19,16 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
//
// Client architecture types
//
-#define IA64 2
-#define SYS_ARCH_EFI32 6
+#if defined MDE_CPU_IA32
+#define SYS_ARCH 0x6
+#elif defined MDE_CPU_X64
+#define SYS_ARCH 0x7
+#elif defined MDE_CPU_IPF
+#define SYS_ARCH 0x2
+#else
+#error Unsupported Client Processor Type
+#endif
+
//
// portability macros
diff --git a/EdkModulePkg/Universal/Network/PxeBc/Dxe/pxe_bc_dhcp.c b/EdkModulePkg/Universal/Network/PxeBc/Dxe/pxe_bc_dhcp.c
index 79bce9d4d8..57664d81e2 100644
--- a/EdkModulePkg/Universal/Network/PxeBc/Dxe/pxe_bc_dhcp.c
+++ b/EdkModulePkg/Universal/Network/PxeBc/Dxe/pxe_bc_dhcp.c
@@ -43,13 +43,6 @@ typedef union {
UINT8 *BytePtr;
} UNION_PTR;
-//
-// 1 for Itanium-based, 0 for IA32
-//
-#define IA64SZ ((sizeof (UINTN) / sizeof (UINT32)) - 1)
-
-#define SYS_ARCH (SYS_ARCH_EFI32 - (SYS_ARCH_EFI32 - IA64) * IA64SZ)
-
#pragma pack(1)
//
// option structure for DHCPREQUEST at end of DISCOVER options