Report PXE error status via Status Code, with this design,
it will be flexible to register a status code handler
via gEfiRscHandlerProtocolGuid to output the customized error code
to other telemetry service.
The subclass code is `EFI_IO_BUS_IP_NETWORK`
Signed-off-by: Ethan Hsu <Eathonhsu@gmail.com>
AsciiPrint ("\n PXE-E99: Unexpected network error.\n");\r
}\r
\r
+ REPORT_STATUS_CODE_WITH_EXTENDED_DATA (\r
+ EFI_ERROR_CODE,\r
+ (EFI_STATUS_CODE_VALUE)(EFI_IO_BUS_IP_NETWORK | EFI_OEM_SPECIFIC | ((EFI_STATUS_CODE_VALUE)(Status & 0x1F))),\r
+ (VOID *)&(PxeBcMode->UsingIpv6),\r
+ sizeof (PxeBcMode->UsingIpv6)\r
+ );\r
+\r
return Status;\r
}\r
return EFI_UNSUPPORTED;\r
}\r
\r
+ REPORT_STATUS_CODE_WITH_EXTENDED_DATA (\r
+ EFI_PROGRESS_CODE,\r
+ EFI_IO_BUS_IP_NETWORK | EFI_IOB_PC_RECONFIG,\r
+ (VOID *)&(Mode->UsingIpv6),\r
+ sizeof (Mode->UsingIpv6)\r
+ );\r
+\r
if (Mode->UsingIpv6) {\r
AsciiPrint ("\n>>Start PXE over IPv6");\r
//\r
#include <Library/DpcLib.h>\r
#include <Library/DevicePathLib.h>\r
#include <Library/PcdLib.h>\r
+#include <Library/ReportStatusCodeLib.h>\r
\r
typedef struct _PXEBC_PRIVATE_DATA PXEBC_PRIVATE_DATA;\r
typedef struct _PXEBC_PRIVATE_PROTOCOL PXEBC_PRIVATE_PROTOCOL;\r
DpcLib\r
DevicePathLib\r
PcdLib\r
+ ReportStatusCodeLib\r
\r
[Protocols]\r
## TO_START\r