NetworkPkg: Add warning message for PXE if failed to read system GUID from SMBIOS.

Current PXE driver uses zero GUID if failed to get the system GUID from smbios
table, and some OS PXE boot may fail in such case. This patch is to add a warning
message to inform user that smbios table is missed on the platform.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Fu Siyuan <siyuan.fu@intel.com>
Reviewed-by: Yao Jiewen <jiewen.yao@intel.com>
This commit is contained in:
Fu Siyuan 2018-02-02 11:23:52 +08:00
parent a02a5f3dbf
commit ccd05ddd50
2 changed files with 4 additions and 0 deletions

View File

@ -320,6 +320,7 @@ PxeBcBuildDhcp4Options (
//
// Zero the Guid to indicate NOT programable if failed to get system Guid.
//
DEBUG ((EFI_D_WARN, "PXE: Failed to read system GUID from the smbios table!\n"));
ZeroMem (OptEnt.Uuid->Guid, sizeof (EFI_GUID));
}
@ -1282,6 +1283,7 @@ PxeBcDhcp4CallBack (
//
// Zero the Guid to indicate NOT programable if failed to get system Guid.
//
DEBUG ((EFI_D_WARN, "PXE: Failed to read system GUID from the smbios table!\n"));
ZeroMem (Packet->Dhcp4.Header.ClientHwAddr, sizeof (EFI_GUID));
}
Packet->Dhcp4.Header.HwAddrLen = (UINT8) sizeof (EFI_GUID);
@ -1470,6 +1472,7 @@ PxeBcDhcp4Discover (
//
// Zero the Guid to indicate NOT programable if failed to get system Guid.
//
DEBUG ((EFI_D_WARN, "PXE: Failed to read system GUID from the smbios table!\n"));
ZeroMem (Token.Packet->Dhcp4.Header.ClientHwAddr, sizeof (EFI_GUID));
}
Token.Packet->Dhcp4.Header.HwAddrLen = (UINT8) sizeof (EFI_GUID);

View File

@ -1949,6 +1949,7 @@ EfiPxeBcSetParameters (
if (NewSendGUID != NULL) {
if (*NewSendGUID && EFI_ERROR (NetLibGetSystemGuid (&SystemGuid))) {
DEBUG ((EFI_D_WARN, "PXE: Failed to read system GUID from the smbios table!\n"));
return EFI_INVALID_PARAMETER;
}
Mode->SendGUID = *NewSendGUID;