From 107ddf1de99dc42eec201eccd97c51ea27dbfcfb Mon Sep 17 00:00:00 2001
From: Nate DeSimone <nathaniel.l.desimone@intel.com>
Date: Fri, 28 Jul 2023 15:52:17 -0700
Subject: [PATCH] MdePkg: Add missing status codes

REF: https://uefi.org/specs/UEFI/2.10/Apx_D_Status_Codes.html

Upon review it has been found that MdePkg is missing two
status code definitions:

 1. EFI_IP_ADDRESS_CONFLICT - Added in UEFI Spec v2.5
 2. EFI_WARN_RESET_REQUIRED - Added in UEFI Spec v2.6

These missing status codes have been added.

Reviewed-by: Michael D Kinney <michael.d.kinney@intel.com>
Cc: Liming Gao <gaoliming@byosoft.com.cn>
Cc: Zhiguang Liu <zhiguang.liu@intel.com>
Signed-off-by: Nate DeSimone <nathaniel.l.desimone@intel.com>
---
 MdePkg/Include/Base.h              | 10 ++++++++++
 MdePkg/Include/Uefi/UefiBaseType.h |  2 ++
 2 files changed, 12 insertions(+)

diff --git a/MdePkg/Include/Base.h b/MdePkg/Include/Base.h
index 6597e441a6..e02970a052 100644
--- a/MdePkg/Include/Base.h
+++ b/MdePkg/Include/Base.h
@@ -1229,6 +1229,11 @@ typedef UINTN RETURN_STATUS;
 ///
 #define RETURN_COMPROMISED_DATA  ENCODE_ERROR (33)
 
+///
+/// There is an address conflict address allocation.
+///
+#define RETURN_IP_ADDRESS_CONFLICT  ENCODE_ERROR (34)
+
 ///
 /// A HTTP error occurred during the network operation.
 ///
@@ -1268,6 +1273,11 @@ typedef UINTN RETURN_STATUS;
 ///
 #define RETURN_WARN_FILE_SYSTEM  ENCODE_WARNING (6)
 
+///
+/// The operation will be processed across a system reset.
+///
+#define RETURN_WARN_RESET_REQUIRED  ENCODE_WARNING (7)
+
 /**
   Returns a 16-bit signature built from 2 ASCII characters.
 
diff --git a/MdePkg/Include/Uefi/UefiBaseType.h b/MdePkg/Include/Uefi/UefiBaseType.h
index 83975a08eb..df9a0d3709 100644
--- a/MdePkg/Include/Uefi/UefiBaseType.h
+++ b/MdePkg/Include/Uefi/UefiBaseType.h
@@ -141,6 +141,7 @@ typedef union {
 #define EFI_END_OF_FILE           RETURN_END_OF_FILE
 #define EFI_INVALID_LANGUAGE      RETURN_INVALID_LANGUAGE
 #define EFI_COMPROMISED_DATA      RETURN_COMPROMISED_DATA
+#define EFI_IP_ADDRESS_CONFLICT   RETURN_IP_ADDRESS_CONFLICT
 #define EFI_HTTP_ERROR            RETURN_HTTP_ERROR
 
 #define EFI_WARN_UNKNOWN_GLYPH     RETURN_WARN_UNKNOWN_GLYPH
@@ -149,6 +150,7 @@ typedef union {
 #define EFI_WARN_BUFFER_TOO_SMALL  RETURN_WARN_BUFFER_TOO_SMALL
 #define EFI_WARN_STALE_DATA        RETURN_WARN_STALE_DATA
 #define EFI_WARN_FILE_SYSTEM       RETURN_WARN_FILE_SYSTEM
+#define EFI_WARN_RESET_REQUIRED    RETURN_WARN_RESET_REQUIRED
 ///@}
 
 ///