public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
* [PATCH v3 0/2] EDK2 Code First: PI Specification: Expand PI Status Codes
@ 2022-02-03 19:03 Kun Qin
  2022-02-03 19:03 ` [PATCH v3 1/2] EDK2 Code First: PI Specification: New error codes of Host Software class Kun Qin
  2022-02-03 19:03 ` [PATCH v3 2/2] MdePkg: MmCommunication: Add new Host Software class Error Code to MdePkg Kun Qin
  0 siblings, 2 replies; 3+ messages in thread
From: Kun Qin @ 2022-02-03 19:03 UTC (permalink / raw)
  To: devel
  Cc: Andrew Fish, Leif Lindholm, Michael D Kinney, Liming Gao,
	Zhiguang Liu

REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3794

This patch series is a rebase of previous submission:
https://edk2.groups.io/g/devel/message/85335

In current Status Codes definitions of PI spec v1.7 errata, there are a
few instances where the software could trigger system reboots while the
corresponding case were not covered by the already defined status codes.

One scenario that OEMs would be interested is that fragmented memory map
from boot to boot would fail to meet certain OS ACPI requirements (i.e.
S4 resume boot requires consistent memory maps) and trigger system
reboots. Yet the corresponding case was not covered by the already
defined status codes.

The unexpected system reboots above could indicate decay of system health
and reporting of such generic events would provide helpful information to
OEMs to investigate/prevent system failures in general.

The change intends to expand definitions of `EFI_SW_EC_**` under Status
Codes to cover more unexpected system reboot events, which could improve
Status Code futility and readability.

Compared to previous series, v3 patch changes mainly include:
a. Added BZ3794 prefix for newly added macro definitions;

Patch v3 branch: https://github.com/kuqin12/edk2/tree/BZ3794-expand_status_codes_v3

Cc: Andrew Fish <afish@apple.com>
Cc: Leif Lindholm <leif@nuviainc.com>
Cc: Michael D Kinney <michael.d.kinney@intel.com>
Cc: Liming Gao <gaoliming@byosoft.com.cn>
Cc: Zhiguang Liu <zhiguang.liu@intel.com>

Kun Qin (2):
  EDK2 Code First: PI Specification: New error codes of Host Software
    class
  MdePkg: MmCommunication: Add new Host Software class Error Code to
    MdePkg

 CodeFirst/BZ3794-SpecChange.md   | 55 ++++++++++++++++++++
 MdePkg/Include/Pi/PiStatusCode.h |  1 +
 2 files changed, 56 insertions(+)
 create mode 100644 CodeFirst/BZ3794-SpecChange.md

-- 
2.34.1.windows.1


^ permalink raw reply	[flat|nested] 3+ messages in thread

* [PATCH v3 1/2] EDK2 Code First: PI Specification: New error codes of Host Software class
  2022-02-03 19:03 [PATCH v3 0/2] EDK2 Code First: PI Specification: Expand PI Status Codes Kun Qin
@ 2022-02-03 19:03 ` Kun Qin
  2022-02-03 19:03 ` [PATCH v3 2/2] MdePkg: MmCommunication: Add new Host Software class Error Code to MdePkg Kun Qin
  1 sibling, 0 replies; 3+ messages in thread
From: Kun Qin @ 2022-02-03 19:03 UTC (permalink / raw)
  To: devel
  Cc: Andrew Fish, Leif Lindholm, Michael D Kinney, Liming Gao,
	Zhiguang Liu

REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3794

This change includes specification update markdown file that describes
the proposed PI Specification v1.7 Errata A in detail and potential
impact to the existing codebase.

Cc: Andrew Fish <afish@apple.com>
Cc: Leif Lindholm <leif@nuviainc.com>
Cc: 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: Kun Qin <kuqin12@gmail.com>
---

Notes:
    v2:
    - Removed "RELEASE_ASSERT" definition
    - Removed reference to EDK2 based memory type info [Mike]
    
    v3:
    - No review, no change

 CodeFirst/BZ3794-SpecChange.md | 55 ++++++++++++++++++++
 1 file changed, 55 insertions(+)

diff --git a/CodeFirst/BZ3794-SpecChange.md b/CodeFirst/BZ3794-SpecChange.md
new file mode 100644
index 000000000000..61a0be798d7f
--- /dev/null
+++ b/CodeFirst/BZ3794-SpecChange.md
@@ -0,0 +1,55 @@
+# Title: Introduction of `EFI_SW_EC_FRAGMENTED_MEMORY_MAP` Status Code
+
+## Status: Draft
+
+## Document: UEFI Platform Initialization Specification Version 1.7 Errata A
+
+## License
+
+SPDX-License-Identifier: CC-BY-4.0
+
+## Submitter: [TianoCore Community](https://www.tianocore.org)
+
+## Summary of the change
+
+Add `EFI_SW_EC_FRAGMENTED_MEMORY_MAP` into Status Codes definition.
+
+## Benefits of the change
+
+Current Status Codes covered various [software class error code definitions](https://github.com/tianocore/edk2/blob/master/MdePkg/Include/Pi/PiStatusCode.h).
+
+However, fragmented memory map from boot to boot would fail to meet certain OS ACPI requirements (i.e. S4 resume boot requires consistent memory maps) and trigger system reboots. Yet the corresponding case was not covered by the already defined status codes.
+
+The unexpected system reboots above could indicate decay of system health and reporting of such generic events would provide helpful information to OEMs to investigate/prevent system failures in general.
+
+The request of this change intends to expand definitions of `EFI_SW_EC_**` under Status Codes to cover more unexpected system reboot events, which could improve Status Code futility and readability.
+
+## Impact of the change
+
+Occupy a new macro definitions of Error Codes under Software class Status Codes.
+
+## Detailed description of the change [normative updates]
+
+### Specification Changes
+
+1. In PI Specification v1.7 Errata A: Vol. 3, Table 3-61: Error Code Operations: Host Software Class, add one new rows below `EFI_SW_EC_FV_CORRUPTED` definition:
+
+    | Operation | Description | Extended Data |
+    | --- | --- | --- |
+    | EFI_SW_EC_FRAGMENTED_MEMORY_MAP | System will reboot due to fragmented memory maps | None |
+
+1. In PI Specification v1.7 Errata A: Vol. 3, Table 3-61: Error Code Operations: Host Software Class, replace the row of `0x0014-0x00FF` to:
+
+    | Operation | Description | Extended Data |
+    | --- | --- | --- |
+    | 0x0015-0x00FF | Reserved for future use by this specification for Host Software class error codes. | None |
+
+1. In PI Specification v1.7 Errata A: Vol. 3, Section 6.7.4.3 Error Code Definitions: Prototype, add one new definitions below `EFI_SW_EC_FV_CORRUPTED` definition:
+
+    ```c
+    #define EFI_SW_EC_FRAGMENTED_MEMORY_MAP  0x00000014
+    ```
+
+### Code Changes
+
+1. Add macro definitions in `MdePkg/Include/Pi/PiStatusCode.h` to match new specification.
-- 
2.34.1.windows.1


^ permalink raw reply related	[flat|nested] 3+ messages in thread

* [PATCH v3 2/2] MdePkg: MmCommunication: Add new Host Software class Error Code to MdePkg
  2022-02-03 19:03 [PATCH v3 0/2] EDK2 Code First: PI Specification: Expand PI Status Codes Kun Qin
  2022-02-03 19:03 ` [PATCH v3 1/2] EDK2 Code First: PI Specification: New error codes of Host Software class Kun Qin
@ 2022-02-03 19:03 ` Kun Qin
  1 sibling, 0 replies; 3+ messages in thread
From: Kun Qin @ 2022-02-03 19:03 UTC (permalink / raw)
  To: devel; +Cc: Michael D Kinney, Liming Gao, Zhiguang Liu

REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3794

This change introduces a new error code definitions under Host Software
class.

The new error code definition will cover system reboot events under the
conditions of fragmented memory map from one boot to another.

These error codes could provide helpful datapoints to OEMs to investigate
and prevent system failures in general.

Cc: 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: Kun Qin <kuqin12@gmail.com>
---

Notes:
    v2:
    - Removed "RELEASE_ASSERT" definition
    - Removed reference to EDK2 based memory type info [Mike]
    
    v3:
    - Added BZ3794 prefix to new macro definition

 MdePkg/Include/Pi/PiStatusCode.h | 1 +
 1 file changed, 1 insertion(+)

diff --git a/MdePkg/Include/Pi/PiStatusCode.h b/MdePkg/Include/Pi/PiStatusCode.h
index ef2aea7364bc..b165f8bef356 100644
--- a/MdePkg/Include/Pi/PiStatusCode.h
+++ b/MdePkg/Include/Pi/PiStatusCode.h
@@ -985,6 +985,7 @@ typedef struct {
 #define EFI_SW_EC_EVENT_LOG_FULL          0x00000011
 #define EFI_SW_EC_WRITE_PROTECTED         0x00000012
 #define EFI_SW_EC_FV_CORRUPTED            0x00000013
+#define BZ3794_EFI_SW_EC_FRAGMENTED_MEMORY_MAP   0x00000014
 ///@}
 
 //
-- 
2.34.1.windows.1


^ permalink raw reply related	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2022-02-03 19:03 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-02-03 19:03 [PATCH v3 0/2] EDK2 Code First: PI Specification: Expand PI Status Codes Kun Qin
2022-02-03 19:03 ` [PATCH v3 1/2] EDK2 Code First: PI Specification: New error codes of Host Software class Kun Qin
2022-02-03 19:03 ` [PATCH v3 2/2] MdePkg: MmCommunication: Add new Host Software class Error Code to MdePkg Kun Qin

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox