public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
* [PATCH v5 0/7] Add definitions introduced in UEFI 2.8
@ 2020-05-11 20:19 Oleksiy Yakovlev
  2020-05-11 20:19 ` [PATCH v5 1/7] MdePkg: Extend SERIAL_IO with DeviceTypeGuid Oleksiy Yakovlev
                   ` (6 more replies)
  0 siblings, 7 replies; 14+ messages in thread
From: Oleksiy Yakovlev @ 2020-05-11 20:19 UTC (permalink / raw)
  To: devel; +Cc: bob.c.feng, liming.gao, michael.d.kinney, Felixp, oleksiyy

Following patches add/update structures/definitions, that was 
introduced/modified by UEFI Spec v.2.8.

Oleksiy Yakovlev (7):
  MdePkg: Extend SERIAL_IO with DeviceTypeGuid
  BaseTools:  REST style formset
  MdePkg:  REST style formset
  BaseTools: Bootable NVDIMM namespaces
  MdePkg: Bootable NVDIMM namespaces
  MdePkg: Add UEFI Spec Revision 2.8
  MdePkg: UEFI JSON Capsule Support

 .../Common/UefiInternalFormRepresentation.h        |  1 +
 BaseTools/Source/C/Include/Protocol/DevicePath.h   | 12 +++
 MdePkg/Include/Guid/CapsuleReport.h                | 29 +++++++
 MdePkg/Include/Guid/HiiPlatformSetupFormset.h      |  4 +
 MdePkg/Include/Guid/JsonCapsule.h                  | 97 ++++++++++++++++++++++
 MdePkg/Include/Protocol/DevicePath.h               | 12 +++
 MdePkg/Include/Protocol/SerialIo.h                 |  3 +-
 .../Include/Uefi/UefiInternalFormRepresentation.h  |  1 +
 MdePkg/Include/Uefi/UefiSpec.h                     |  2 +
 MdePkg/MdePkg.dec                                  | 13 ++-
 10 files changed, 172 insertions(+), 2 deletions(-)
 create mode 100644 MdePkg/Include/Guid/JsonCapsule.h

-- 
2.9.0.windows.1


Please consider the environment before printing this email.

The information contained in this message may be confidential and proprietary to American Megatrends (AMI).  This communication is intended to be read only by the individual or entity to whom it is addressed or by their designee. If the reader of this message is not the intended recipient, you are on notice that any distribution of this message, in any form, is strictly prohibited.  Please promptly notify the sender by reply e-mail or by telephone at 770-246-8600, and then delete or destroy all copies of the transmission.

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

* [PATCH v5 1/7] MdePkg: Extend SERIAL_IO with DeviceTypeGuid
  2020-05-11 20:19 [PATCH v5 0/7] Add definitions introduced in UEFI 2.8 Oleksiy Yakovlev
@ 2020-05-11 20:19 ` Oleksiy Yakovlev
  2020-05-12  0:51   ` [edk2-devel] " Liming Gao
  2020-05-11 20:19 ` [PATCH v5 2/7] BaseTools: REST style formset Oleksiy Yakovlev
                   ` (5 subsequent siblings)
  6 siblings, 1 reply; 14+ messages in thread
From: Oleksiy Yakovlev @ 2020-05-11 20:19 UTC (permalink / raw)
  To: devel; +Cc: bob.c.feng, liming.gao, michael.d.kinney, Felixp, oleksiyy

EFI_SERIAL_IO_PROTOCOL_REVISION incremented to 0x00010001.
CONST EFI_GUID *DeviceTypeGuid field added to the protocol structure.
UEFI 2.8 mantis 1832.

Signed-off-by: Oleksiy Yakovlev <oleksiyy@ami.com>

Reviewed-by: Liming Gao <liming.gao@intel.com>
---
 MdePkg/Include/Protocol/SerialIo.h | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/MdePkg/Include/Protocol/SerialIo.h b/MdePkg/Include/Protocol/SerialIo.h
index 51eaa53..b2398c2 100644
--- a/MdePkg/Include/Protocol/SerialIo.h
+++ b/MdePkg/Include/Protocol/SerialIo.h
@@ -262,7 +262,7 @@ typedef struct {
   UINT32  StopBits;
 } EFI_SERIAL_IO_MODE;
 
-#define EFI_SERIAL_IO_PROTOCOL_REVISION    0x00010000
+#define EFI_SERIAL_IO_PROTOCOL_REVISION    0x00010001
 #define SERIAL_IO_INTERFACE_REVISION  EFI_SERIAL_IO_PROTOCOL_REVISION
 
 ///
@@ -287,6 +287,7 @@ struct _EFI_SERIAL_IO_PROTOCOL {
   /// Pointer to SERIAL_IO_MODE data.
   ///
   EFI_SERIAL_IO_MODE          *Mode;
+  CONST EFI_GUID               *DeviceTypeGuid; // Revision 1.1
 };
 
 extern EFI_GUID gEfiSerialIoProtocolGuid;
-- 
2.9.0.windows.1


Please consider the environment before printing this email.

The information contained in this message may be confidential and proprietary to American Megatrends (AMI).  This communication is intended to be read only by the individual or entity to whom it is addressed or by their designee. If the reader of this message is not the intended recipient, you are on notice that any distribution of this message, in any form, is strictly prohibited.  Please promptly notify the sender by reply e-mail or by telephone at 770-246-8600, and then delete or destroy all copies of the transmission.

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

* [PATCH v5 2/7] BaseTools: REST style formset
  2020-05-11 20:19 [PATCH v5 0/7] Add definitions introduced in UEFI 2.8 Oleksiy Yakovlev
  2020-05-11 20:19 ` [PATCH v5 1/7] MdePkg: Extend SERIAL_IO with DeviceTypeGuid Oleksiy Yakovlev
@ 2020-05-11 20:19 ` Oleksiy Yakovlev
  2020-05-11 20:19 ` [PATCH v5 3/7] MdePkg: " Oleksiy Yakovlev
                   ` (4 subsequent siblings)
  6 siblings, 0 replies; 14+ messages in thread
From: Oleksiy Yakovlev @ 2020-05-11 20:19 UTC (permalink / raw)
  To: devel; +Cc: bob.c.feng, liming.gao, michael.d.kinney, Felixp, oleksiyy

In question level, a new flag EFI_IFR_FLAG_REST_STYLE is defined.

(UEFI 2.8 mantis 1853)

Signed-off-by: Oleksiy Yakovlev <oleksiyy@ami.com>

Reviewed-by: Liming Gao <liming.gao@intel.com>
---
 BaseTools/Source/C/Include/Common/UefiInternalFormRepresentation.h | 1 +
 1 file changed, 1 insertion(+)

diff --git a/BaseTools/Source/C/Include/Common/UefiInternalFormRepresentation.h b/BaseTools/Source/C/Include/Common/UefiInternalFormRepresentation.h
index b0bd7c5..b9fa8c3 100644
--- a/BaseTools/Source/C/Include/Common/UefiInternalFormRepresentation.h
+++ b/BaseTools/Source/C/Include/Common/UefiInternalFormRepresentation.h
@@ -728,6 +728,7 @@ typedef struct _EFI_IFR_QUESTION_HEADER {
 #define EFI_IFR_FLAG_READ_ONLY          0x01
 #define EFI_IFR_FLAG_CALLBACK           0x04
 #define EFI_IFR_FLAG_RESET_REQUIRED     0x10
+#define EFI_IFR_FLAG_REST_STYLE         0x20
 #define EFI_IFR_FLAG_RECONNECT_REQUIRED 0x40
 #define EFI_IFR_FLAG_OPTIONS_ONLY       0x80
 
-- 
2.9.0.windows.1


Please consider the environment before printing this email.

The information contained in this message may be confidential and proprietary to American Megatrends (AMI).  This communication is intended to be read only by the individual or entity to whom it is addressed or by their designee. If the reader of this message is not the intended recipient, you are on notice that any distribution of this message, in any form, is strictly prohibited.  Please promptly notify the sender by reply e-mail or by telephone at 770-246-8600, and then delete or destroy all copies of the transmission.

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

* [PATCH v5 3/7] MdePkg: REST style formset
  2020-05-11 20:19 [PATCH v5 0/7] Add definitions introduced in UEFI 2.8 Oleksiy Yakovlev
  2020-05-11 20:19 ` [PATCH v5 1/7] MdePkg: Extend SERIAL_IO with DeviceTypeGuid Oleksiy Yakovlev
  2020-05-11 20:19 ` [PATCH v5 2/7] BaseTools: REST style formset Oleksiy Yakovlev
@ 2020-05-11 20:19 ` Oleksiy Yakovlev
  2020-05-11 23:42   ` [edk2-devel] " Liming Gao
  2020-05-11 20:19 ` [PATCH v5 4/7] BaseTools: Bootable NVDIMM namespaces Oleksiy Yakovlev
                   ` (3 subsequent siblings)
  6 siblings, 1 reply; 14+ messages in thread
From: Oleksiy Yakovlev @ 2020-05-11 20:19 UTC (permalink / raw)
  To: devel; +Cc: bob.c.feng, liming.gao, michael.d.kinney, Felixp, oleksiyy

New ClassGuid EFI_HII_REST_STYLE_FORMSET_GUID is defined.
In question level, a new flag EFI_IFR_FLAG_REST_STYLE is defined.
(UEFI 2.8 mantis 1853)

Signed-off-by: Oleksiy Yakovlev <oleksiyy@ami.com>
---
 MdePkg/Include/Guid/HiiPlatformSetupFormset.h        | 4 ++++
 MdePkg/Include/Uefi/UefiInternalFormRepresentation.h | 1 +
 MdePkg/MdePkg.dec                                    | 5 +++++
 3 files changed, 10 insertions(+)

diff --git a/MdePkg/Include/Guid/HiiPlatformSetupFormset.h b/MdePkg/Include/Guid/HiiPlatformSetupFormset.h
index 540483d..db7b80b 100644
--- a/MdePkg/Include/Guid/HiiPlatformSetupFormset.h
+++ b/MdePkg/Include/Guid/HiiPlatformSetupFormset.h
@@ -22,8 +22,12 @@ SPDX-License-Identifier: BSD-2-Clause-Patent
 #define EFI_HII_USER_CREDENTIAL_FORMSET_GUID \
   { 0x337f4407, 0x5aee, 0x4b83, { 0xb2, 0xa7, 0x4e, 0xad, 0xca, 0x30, 0x88, 0xcd } }
 
+#define EFI_HII_REST_STYLE_FORMSET_GUID \
+  { 0x790217bd, 0xbecf, 0x485b, { 0x91, 0x70, 0x5f, 0xf7, 0x11, 0x31, 0x8b, 0x27 } }
+
 extern EFI_GUID gEfiHiiPlatformSetupFormsetGuid;
 extern EFI_GUID gEfiHiiDriverHealthFormsetGuid;
 extern EFI_GUID gEfiHiiUserCredentialFormsetGuid;
+extern EFI_GUID gEfiHiiRestStyleFormsetGuid;
 
 #endif
diff --git a/MdePkg/Include/Uefi/UefiInternalFormRepresentation.h b/MdePkg/Include/Uefi/UefiInternalFormRepresentation.h
index 4a1346a..40fcdb7 100644
--- a/MdePkg/Include/Uefi/UefiInternalFormRepresentation.h
+++ b/MdePkg/Include/Uefi/UefiInternalFormRepresentation.h
@@ -825,6 +825,7 @@ typedef struct _EFI_IFR_QUESTION_HEADER {
 #define EFI_IFR_FLAG_READ_ONLY          0x01
 #define EFI_IFR_FLAG_CALLBACK           0x04
 #define EFI_IFR_FLAG_RESET_REQUIRED     0x10
+#define EFI_IFR_FLAG_REST_STYLE         0x20
 #define EFI_IFR_FLAG_RECONNECT_REQUIRED 0x40
 #define EFI_IFR_FLAG_OPTIONS_ONLY       0x80
 
diff --git a/MdePkg/MdePkg.dec b/MdePkg/MdePkg.dec
index 0b9c4bc..ce40b6f 100644
--- a/MdePkg/MdePkg.dec
+++ b/MdePkg/MdePkg.dec
@@ -645,6 +645,11 @@
   ## Include/Guid/Btt.h
   gEfiBttAbstractionGuid         = { 0x18633bfc, 0x1735, 0x4217, { 0x8a, 0xc9, 0x17, 0x23, 0x92, 0x82, 0xd3, 0xf8 }}
 
+  # GUIDs defined in UEFI2.8
+  #
+  ## Include\Guid\HiiPlatformSetupFormset.h
+  gEfiHiiResetStyleFormsetGuid     = { 0x790217bd, 0xbecf, 0x485b, { 0x91, 0x70, 0x5f, 0xf7, 0x11, 0x31, 0x8b, 0x27 }}
+
   #
   # GUID defined in PI1.0
   #
-- 
2.9.0.windows.1


Please consider the environment before printing this email.

The information contained in this message may be confidential and proprietary to American Megatrends (AMI).  This communication is intended to be read only by the individual or entity to whom it is addressed or by their designee. If the reader of this message is not the intended recipient, you are on notice that any distribution of this message, in any form, is strictly prohibited.  Please promptly notify the sender by reply e-mail or by telephone at 770-246-8600, and then delete or destroy all copies of the transmission.

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

* [PATCH v5 4/7] BaseTools: Bootable NVDIMM namespaces
  2020-05-11 20:19 [PATCH v5 0/7] Add definitions introduced in UEFI 2.8 Oleksiy Yakovlev
                   ` (2 preceding siblings ...)
  2020-05-11 20:19 ` [PATCH v5 3/7] MdePkg: " Oleksiy Yakovlev
@ 2020-05-11 20:19 ` Oleksiy Yakovlev
  2020-05-11 20:19 ` [PATCH v5 5/7] MdePkg: " Oleksiy Yakovlev
                   ` (2 subsequent siblings)
  6 siblings, 0 replies; 14+ messages in thread
From: Oleksiy Yakovlev @ 2020-05-11 20:19 UTC (permalink / raw)
  To: devel; +Cc: bob.c.feng, liming.gao, michael.d.kinney, Felixp, oleksiyy

Provided a mechanism for UEFI FW to identify and hand off bootable
NVDIMM namespaces to the OS by standardizing the EFI device path.
EFI device path for physical NVDIMM devices changed from an ACPI
_ADR device to an ACPI NVDIMM device for correctness.
(UEFI 2.8 mantis 1858)

Signed-off-by: Oleksiy Yakovlev <oleksiyy@ami.com>

Reviewed-by: Liming Gao <liming.gao@intel.com>
---
 BaseTools/Source/C/Include/Protocol/DevicePath.h | 12 ++++++++++++
 1 file changed, 12 insertions(+)

diff --git a/BaseTools/Source/C/Include/Protocol/DevicePath.h b/BaseTools/Source/C/Include/Protocol/DevicePath.h
index e3571ef..27f8135 100644
--- a/BaseTools/Source/C/Include/Protocol/DevicePath.h
+++ b/BaseTools/Source/C/Include/Protocol/DevicePath.h
@@ -719,6 +719,18 @@ typedef struct {
   UINT8                           StopBits;
 } UART_DEVICE_PATH;
 
+///
+/// NVDIMM Namespace Device Path SubType.
+///
+#define NVDIMM_NAMESPACE_DP               0x20
+typedef struct {
+  EFI_DEVICE_PATH_PROTOCOL        Header;
+  ///
+  /// Namespace unique label identifier UUID.
+  ///
+  EFI_GUID Uuid;
+} NVDIMM_NAMESPACE_DEVICE_PATH;
+
 //
 // Use VENDOR_DEVICE_PATH struct
 //
-- 
2.9.0.windows.1


Please consider the environment before printing this email.

The information contained in this message may be confidential and proprietary to American Megatrends (AMI).  This communication is intended to be read only by the individual or entity to whom it is addressed or by their designee. If the reader of this message is not the intended recipient, you are on notice that any distribution of this message, in any form, is strictly prohibited.  Please promptly notify the sender by reply e-mail or by telephone at 770-246-8600, and then delete or destroy all copies of the transmission.

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

* [PATCH v5 5/7] MdePkg: Bootable NVDIMM namespaces
  2020-05-11 20:19 [PATCH v5 0/7] Add definitions introduced in UEFI 2.8 Oleksiy Yakovlev
                   ` (3 preceding siblings ...)
  2020-05-11 20:19 ` [PATCH v5 4/7] BaseTools: Bootable NVDIMM namespaces Oleksiy Yakovlev
@ 2020-05-11 20:19 ` Oleksiy Yakovlev
  2020-05-11 20:19 ` [PATCH v5 6/7] MdePkg: Add UEFI Spec Revision 2.8 Oleksiy Yakovlev
  2020-05-11 20:19 ` [PATCH v5 7/7] MdePkg: UEFI JSON Capsule Support Oleksiy Yakovlev
  6 siblings, 0 replies; 14+ messages in thread
From: Oleksiy Yakovlev @ 2020-05-11 20:19 UTC (permalink / raw)
  To: devel; +Cc: bob.c.feng, liming.gao, michael.d.kinney, Felixp, oleksiyy

Provided a mechanism for UEFI FW to identify and hand off bootable
NVDIMM namespaces to the OS by standardizing the EFI device path.
EFI device path for physical NVDIMM devices changed from an ACPI
_ADR device to an ACPI NVDIMM device for correctness.
(UEFI 2.8 mantis 1858)

Signed-off-by: Oleksiy Yakovlev <oleksiyy@ami.com>

Reviewed-by: Liming Gao <liming.gao@intel.com>
---
 MdePkg/Include/Protocol/DevicePath.h | 12 ++++++++++++
 1 file changed, 12 insertions(+)

diff --git a/MdePkg/Include/Protocol/DevicePath.h b/MdePkg/Include/Protocol/DevicePath.h
index aaec0a6..4cf4b65 100644
--- a/MdePkg/Include/Protocol/DevicePath.h
+++ b/MdePkg/Include/Protocol/DevicePath.h
@@ -712,6 +712,18 @@ typedef struct {
   UINT8                           StopBits;
 } UART_DEVICE_PATH;
 
+///
+/// NVDIMM Namespace Device Path SubType.
+///
+#define NVDIMM_NAMESPACE_DP               0x20
+typedef struct {
+  EFI_DEVICE_PATH_PROTOCOL        Header;
+  ///
+  /// Namespace unique label identifier UUID.
+  ///
+  EFI_GUID Uuid;
+} NVDIMM_NAMESPACE_DEVICE_PATH;
+
 //
 // Use VENDOR_DEVICE_PATH struct
 //
-- 
2.9.0.windows.1


Please consider the environment before printing this email.

The information contained in this message may be confidential and proprietary to American Megatrends (AMI).  This communication is intended to be read only by the individual or entity to whom it is addressed or by their designee. If the reader of this message is not the intended recipient, you are on notice that any distribution of this message, in any form, is strictly prohibited.  Please promptly notify the sender by reply e-mail or by telephone at 770-246-8600, and then delete or destroy all copies of the transmission.

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

* [PATCH v5 6/7] MdePkg: Add UEFI Spec Revision 2.8
  2020-05-11 20:19 [PATCH v5 0/7] Add definitions introduced in UEFI 2.8 Oleksiy Yakovlev
                   ` (4 preceding siblings ...)
  2020-05-11 20:19 ` [PATCH v5 5/7] MdePkg: " Oleksiy Yakovlev
@ 2020-05-11 20:19 ` Oleksiy Yakovlev
  2020-05-11 20:19 ` [PATCH v5 7/7] MdePkg: UEFI JSON Capsule Support Oleksiy Yakovlev
  6 siblings, 0 replies; 14+ messages in thread
From: Oleksiy Yakovlev @ 2020-05-11 20:19 UTC (permalink / raw)
  To: devel; +Cc: bob.c.feng, liming.gao, michael.d.kinney, Felixp, oleksiyy

Added entrie in the EFI_SYSTEM_TABLE related definitions section,
to signify UEFI 2.8 spec revision.
(UEFI 2.8 mantis 1926)

Signed-off-by: Oleksiy Yakovlev <oleksiyy@ami.com>

Reviewed-by: Liming Gao <liming.gao@intel.com>
---
 MdePkg/Include/Uefi/UefiSpec.h | 1 +
 1 file changed, 1 insertion(+)

diff --git a/MdePkg/Include/Uefi/UefiSpec.h b/MdePkg/Include/Uefi/UefiSpec.h
index 8ffaf97..b9282cc 100644
--- a/MdePkg/Include/Uefi/UefiSpec.h
+++ b/MdePkg/Include/Uefi/UefiSpec.h
@@ -1788,6 +1788,7 @@ EFI_STATUS
 // EFI Runtime Services Table
 //
 #define EFI_SYSTEM_TABLE_SIGNATURE      SIGNATURE_64 ('I','B','I',' ','S','Y','S','T')
+#define EFI_2_80_SYSTEM_TABLE_REVISION  ((2 << 16) | (80))
 #define EFI_2_70_SYSTEM_TABLE_REVISION  ((2 << 16) | (70))
 #define EFI_2_60_SYSTEM_TABLE_REVISION  ((2 << 16) | (60))
 #define EFI_2_50_SYSTEM_TABLE_REVISION  ((2 << 16) | (50))
-- 
2.9.0.windows.1


Please consider the environment before printing this email.

The information contained in this message may be confidential and proprietary to American Megatrends (AMI).  This communication is intended to be read only by the individual or entity to whom it is addressed or by their designee. If the reader of this message is not the intended recipient, you are on notice that any distribution of this message, in any form, is strictly prohibited.  Please promptly notify the sender by reply e-mail or by telephone at 770-246-8600, and then delete or destroy all copies of the transmission.

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

* [PATCH v5 7/7] MdePkg: UEFI JSON Capsule Support
  2020-05-11 20:19 [PATCH v5 0/7] Add definitions introduced in UEFI 2.8 Oleksiy Yakovlev
                   ` (5 preceding siblings ...)
  2020-05-11 20:19 ` [PATCH v5 6/7] MdePkg: Add UEFI Spec Revision 2.8 Oleksiy Yakovlev
@ 2020-05-11 20:19 ` Oleksiy Yakovlev
  6 siblings, 0 replies; 14+ messages in thread
From: Oleksiy Yakovlev @ 2020-05-11 20:19 UTC (permalink / raw)
  To: devel; +Cc: bob.c.feng, liming.gao, michael.d.kinney, Felixp, oleksiyy

Added Guids and structures, that defines the work flow to perform
capsule update using JSON objects.
(UEFI 2.8 mantis 1935)

Signed-off-by: Oleksiy Yakovlev <oleksiyy@ami.com>
---
 MdePkg/Include/Guid/CapsuleReport.h | 29 +++++++++++
 MdePkg/Include/Guid/JsonCapsule.h   | 97 +++++++++++++++++++++++++++++++++++++
 MdePkg/Include/Uefi/UefiSpec.h      |  1 +
 MdePkg/MdePkg.dec                   |  8 ++-
 4 files changed, 134 insertions(+), 1 deletion(-)
 create mode 100644 MdePkg/Include/Guid/JsonCapsule.h

diff --git a/MdePkg/Include/Guid/CapsuleReport.h b/MdePkg/Include/Guid/CapsuleReport.h
index 93d2bb7..53720e0 100644
--- a/MdePkg/Include/Guid/CapsuleReport.h
+++ b/MdePkg/Include/Guid/CapsuleReport.h
@@ -93,6 +93,35 @@ typedef struct {
   ///
 } EFI_CAPSULE_RESULT_VARIABLE_FMP;

+typedef struct {
+
+  ///
+  /// Version of this structure, currently 0x00000001
+  ///
+  UINT32    Version;
+
+  ///
+  /// The unique identifier of the capsule whose processing result is recorded in this variable.
+  /// 0x00000000 \x16 0xEFFFFFFF \x16 Implementation Reserved
+  /// 0xF0000000 \x16 0xFFFFFFFF \x16 Specification Reserved
+  /// #define REDFISH_DEFINED_JSON_SCHEMA 0xF000000
+  /// The JSON payload shall conform to a Redfish-defined JSON schema, see DMTF-Redfish
+  /// Specification.
+  ///
+  UINT32 CapsuleId;
+
+  ///
+  /// The length of Resp in bytes.
+  ///
+  UINT32 RespLength;
+
+  ///
+  /// Variable length buffer containing the replied JSON payload to the caller who delivered JSON
+  /// capsule to system. The definition of the JSON schema used in the replied payload is beyond
+  /// the scope of this specification.
+  ///
+  UINT8 Resp[];
+ } EFI_CAPSULE_RESULT_VARIABLE_JSON;

 extern EFI_GUID gEfiCapsuleReportGuid;

diff --git a/MdePkg/Include/Guid/JsonCapsule.h b/MdePkg/Include/Guid/JsonCapsule.h
new file mode 100644
index 0000000..0fceb8a
--- /dev/null
+++ b/MdePkg/Include/Guid/JsonCapsule.h
@@ -0,0 +1,97 @@
+/** @file
+Guid & data structure for tables defined for reporting firmware configuration data to EFI
+Configuration Tables and also for processing JSON payload capsule.
+
+
+Copyright (c) 2020, American Megatrends International LLC. All rights reserved.<BR>
+SPDX-License-Identifier: BSD-2-Clause-Patent
+
+**/
+
+#ifndef __JSON_CAPSULE_GUID_H__
+#define __JSON_CAPSULE_GUID_H__
+
+//
+// The address reported in the table entry identified by EFI_JSON_CAPSULE_DATA_TABLE_GUID will be
+// referenced as physical and will not be fixed up when transition from preboot to runtime phase. The
+// addresses reported in these table entries identified by EFI_JSON_CONFIG_DATA_TABLE_GUID and
+// EFI_JSON_CAPSULE_RESULT_TABLE_GUID will be referenced as virtual and will be fixed up when
+// transition from preboot to runtime phase.
+//
+#define EFI_JSON_CONFIG_DATA_TABLE_GUID \
+    {0x87367f87, 0x1119, 0x41ce, \
+    {0xaa, 0xec, 0x8b, 0xe0, 0x11, 0x1f, 0x55, 0x8a }}
+#define EFI_JSON_CAPSULE_DATA_TABLE_GUID \
+    {0x35e7a725, 0x8dd2, 0x4cac, \
+    {0x80, 0x11, 0x33, 0xcd, 0xa8, 0x10, 0x90, 0x56 }}
+#define EFI_JSON_CAPSULE_RESULT_TABLE_GUID \
+    {0xdbc461c3, 0xb3de, 0x422a,\
+    {0xb9, 0xb4, 0x98, 0x86, 0xfd, 0x49, 0xa1, 0xe5 }}
+#define EFI_JSON_CAPSULE_ID_GUID \
+    {0x67d6f4cd, 0xd6b8,  0x4573, \
+    {0xbf, 0x4a, 0xde, 0x5e, 0x25, 0x2d, 0x61, 0xae }}
+
+
+#pragma pack(1)
+
+typedef struct {
+  ///
+  /// Version of the structure, initially 0x00000001.
+  ///
+  UINT32 Version;
+
+  ///
+  /// The unique identifier of this capsule.
+  ///
+  UINT32 CapsuleId;
+
+  ///
+  /// The length of the JSON payload immediately following this header, in bytes.
+  ///
+  UINT32 PayloadLength;
+
+  ///
+  /// Variable length buffer containing the JSON payload that should be parsed and applied to the system. The
+  /// definition of the JSON schema used in the payload is beyond the scope of this specification.
+  UINT8 Payload[];
+} EFI_JSON_CAPSULE_HEADER;
+
+typedef struct {
+  ///
+  /// The length of the following ConfigData, in bytes.
+  ///
+  UINT32 ConfigDataLength;
+
+  ///
+  /// Variable length buffer containing the JSON payload that describes one group of configuration data within
+  /// current system. The definition of the JSON schema used in this payload is beyond the scope of this specification.
+  ///
+  UINT8 ConfigData[];
+} EFI_JSON_CONFIG_DATA_ITEM;
+
+typedef struct {
+  ///
+  /// Version of the structure, initially 0x00000001.
+  ///
+  UINT32 Version;
+
+  ///
+  ////The total length of EFI_JSON_CAPSULE_CONFIG_DATA, in bytes.
+  ///
+  UINT32 TotalLength;
+
+  ///
+  /// Array of configuration data groups.
+  ///
+  EFI_JSON_CONFIG_DATA_ITEM ConfigDataList[];
+} EFI_JSON_CAPSULE_CONFIG_DATA;
+
+#pragma pack()
+
+extern EFI_GUID gEfiJsonConfigDataTableGuid;
+extern EFI_GUID gEfiJsonCapsuleDataTableGuid;
+extern EFI_GUID gEfiJsonCapsuleResultTableGuid;
+extern EFI_GUID gEfiJsonCapsuleIdGuid;
+
+
+#endif
diff --git a/MdePkg/Include/Uefi/UefiSpec.h b/MdePkg/Include/Uefi/UefiSpec.h
index b9282cc..3547345 100644
--- a/MdePkg/Include/Uefi/UefiSpec.h
+++ b/MdePkg/Include/Uefi/UefiSpec.h
@@ -1783,6 +1783,7 @@ EFI_STATUS
 #define EFI_OS_INDICATIONS_FMP_CAPSULE_SUPPORTED            0x0000000000000008
 #define EFI_OS_INDICATIONS_CAPSULE_RESULT_VAR_SUPPORTED     0x0000000000000010
 #define EFI_OS_INDICATIONS_START_PLATFORM_RECOVERY          0x0000000000000040
+#define EFI_OS_INDICATIONS_JSON_CONFIG_DATA_REFRESH         0x0000000000000080

 //
 // EFI Runtime Services Table
diff --git a/MdePkg/MdePkg.dec b/MdePkg/MdePkg.dec
index ce40b6f..4d1f002 100644
--- a/MdePkg/MdePkg.dec
+++ b/MdePkg/MdePkg.dec
@@ -2,7 +2,7 @@
 # This Package provides all definitions, library classes and libraries instances.
 #
 # It also provides the definitions(including PPIs/PROTOCOLs/GUIDs) of
-# EFI1.10/UEFI2.7/PI1.7 and some Industry Standards.
+# EFI1.10/UEFI2.8a/PI1.7a and some Industry Standards.
 #
 # Copyright (c) 2007 - 2019, Intel Corporation. All rights reserved.<BR>
 # Portions copyright (c) 2008 - 2009, Apple Inc. All rights reserved.<BR>
@@ -647,6 +647,12 @@

   # GUIDs defined in UEFI2.8
   #
+  ## Include/Guid/JsonCapsule.h
+  gEfiJsonConfigDataTableGuid      = { 0x87367f87, 0x1119, 0x41ce, { 0xaa, 0xec, 0x8b, 0xe0, 0x11, 0x1f, 0x55, 0x8a }}
+  gEfiJsonCapsuleDataTableGuid     = { 0x35e7a725, 0x8dd2, 0x4cac, { 0x80, 0x11, 0x33, 0xcd, 0xa8, 0x10, 0x90, 0x56 }}
+  gEfiJsonCapsuleResultTableGuid   = { 0xdbc461c3, 0xb3de, 0x422a, { 0xb9, 0xb4, 0x98, 0x86, 0xfd, 0x49, 0xa1, 0xe5 }}
+  gEfiJsonCapsuleIdGuid            = { 0x67d6f4cd, 0xd6b8, 0x4573, { 0xbf, 0x4a, 0xde, 0x5e, 0x25, 0x2d, 0x61, 0xae }}
+
   ## Include\Guid\HiiPlatformSetupFormset.h
   gEfiHiiResetStyleFormsetGuid     = { 0x790217bd, 0xbecf, 0x485b, { 0x91, 0x70, 0x5f, 0xf7, 0x11, 0x31, 0x8b, 0x27 }}

--
2.9.0.windows.1


Please consider the environment before printing this email.

The information contained in this message may be confidential and proprietary to American Megatrends (AMI).  This communication is intended to be read only by the individual or entity to whom it is addressed or by their designee. If the reader of this message is not the intended recipient, you are on notice that any distribution of this message, in any form, is strictly prohibited.  Please promptly notify the sender by reply e-mail or by telephone at 770-246-8600, and then delete or destroy all copies of the transmission.

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

* Re: [edk2-devel] [PATCH v5 3/7] MdePkg: REST style formset
  2020-05-11 20:19 ` [PATCH v5 3/7] MdePkg: " Oleksiy Yakovlev
@ 2020-05-11 23:42   ` Liming Gao
  0 siblings, 0 replies; 14+ messages in thread
From: Liming Gao @ 2020-05-11 23:42 UTC (permalink / raw)
  To: devel@edk2.groups.io, oleksiyy@ami.com
  Cc: Feng, Bob C, Kinney, Michael D, Felixp@ami.com

One minor comment is to correct the style file path. With this change, Reviewed-by: Liming Gao <liming.gao@intel.com>

+  ## Include\Guid\HiiPlatformSetupFormset.h  ==> Include/Guid/HiiPlatformSetupFormset.h
+  gEfiHiiResetStyleFormsetGuid     = { 0x790217bd, 0xbecf, 0x485b, { 0x91, 0x70, 0x5f, 0xf7, 0x11, 0x31, 0x8b, 0x27 }}
+

Thanks
Liming
-----Original Message-----
From: devel@edk2.groups.io <devel@edk2.groups.io> On Behalf Of Oleksiy Yakovlev
Sent: 2020年5月12日 4:19
To: devel@edk2.groups.io
Cc: Feng, Bob C <bob.c.feng@intel.com>; Gao, Liming <liming.gao@intel.com>; Kinney, Michael D <michael.d.kinney@intel.com>; Felixp@ami.com; oleksiyy@ami.com
Subject: [edk2-devel] [PATCH v5 3/7] MdePkg: REST style formset

New ClassGuid EFI_HII_REST_STYLE_FORMSET_GUID is defined.
In question level, a new flag EFI_IFR_FLAG_REST_STYLE is defined.
(UEFI 2.8 mantis 1853)

Signed-off-by: Oleksiy Yakovlev <oleksiyy@ami.com>
---
 MdePkg/Include/Guid/HiiPlatformSetupFormset.h        | 4 ++++
 MdePkg/Include/Uefi/UefiInternalFormRepresentation.h | 1 +
 MdePkg/MdePkg.dec                                    | 5 +++++
 3 files changed, 10 insertions(+)

diff --git a/MdePkg/Include/Guid/HiiPlatformSetupFormset.h b/MdePkg/Include/Guid/HiiPlatformSetupFormset.h
index 540483d..db7b80b 100644
--- a/MdePkg/Include/Guid/HiiPlatformSetupFormset.h
+++ b/MdePkg/Include/Guid/HiiPlatformSetupFormset.h
@@ -22,8 +22,12 @@ SPDX-License-Identifier: BSD-2-Clause-Patent  #define EFI_HII_USER_CREDENTIAL_FORMSET_GUID \
   { 0x337f4407, 0x5aee, 0x4b83, { 0xb2, 0xa7, 0x4e, 0xad, 0xca, 0x30, 0x88, 0xcd } }
 
+#define EFI_HII_REST_STYLE_FORMSET_GUID \
+  { 0x790217bd, 0xbecf, 0x485b, { 0x91, 0x70, 0x5f, 0xf7, 0x11, 0x31, 
+0x8b, 0x27 } }
+
 extern EFI_GUID gEfiHiiPlatformSetupFormsetGuid;  extern EFI_GUID gEfiHiiDriverHealthFormsetGuid;  extern EFI_GUID gEfiHiiUserCredentialFormsetGuid;
+extern EFI_GUID gEfiHiiRestStyleFormsetGuid;
 
 #endif
diff --git a/MdePkg/Include/Uefi/UefiInternalFormRepresentation.h b/MdePkg/Include/Uefi/UefiInternalFormRepresentation.h
index 4a1346a..40fcdb7 100644
--- a/MdePkg/Include/Uefi/UefiInternalFormRepresentation.h
+++ b/MdePkg/Include/Uefi/UefiInternalFormRepresentation.h
@@ -825,6 +825,7 @@ typedef struct _EFI_IFR_QUESTION_HEADER {
 #define EFI_IFR_FLAG_READ_ONLY          0x01
 #define EFI_IFR_FLAG_CALLBACK           0x04
 #define EFI_IFR_FLAG_RESET_REQUIRED     0x10
+#define EFI_IFR_FLAG_REST_STYLE         0x20
 #define EFI_IFR_FLAG_RECONNECT_REQUIRED 0x40
 #define EFI_IFR_FLAG_OPTIONS_ONLY       0x80
 
diff --git a/MdePkg/MdePkg.dec b/MdePkg/MdePkg.dec index 0b9c4bc..ce40b6f 100644
--- a/MdePkg/MdePkg.dec
+++ b/MdePkg/MdePkg.dec
@@ -645,6 +645,11 @@
   ## Include/Guid/Btt.h
   gEfiBttAbstractionGuid         = { 0x18633bfc, 0x1735, 0x4217, { 0x8a, 0xc9, 0x17, 0x23, 0x92, 0x82, 0xd3, 0xf8 }}
 
+  # GUIDs defined in UEFI2.8
+  #
+  ## Include\Guid\HiiPlatformSetupFormset.h
+  gEfiHiiResetStyleFormsetGuid     = { 0x790217bd, 0xbecf, 0x485b, { 0x91, 0x70, 0x5f, 0xf7, 0x11, 0x31, 0x8b, 0x27 }}
+
   #
   # GUID defined in PI1.0
   #
--
2.9.0.windows.1


Please consider the environment before printing this email.

The information contained in this message may be confidential and proprietary to American Megatrends (AMI).  This communication is intended to be read only by the individual or entity to whom it is addressed or by their designee. If the reader of this message is not the intended recipient, you are on notice that any distribution of this message, in any form, is strictly prohibited.  Please promptly notify the sender by reply e-mail or by telephone at 770-246-8600, and then delete or destroy all copies of the transmission.




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

* Re: [edk2-devel] [PATCH v5 1/7] MdePkg: Extend SERIAL_IO with DeviceTypeGuid
  2020-05-11 20:19 ` [PATCH v5 1/7] MdePkg: Extend SERIAL_IO with DeviceTypeGuid Oleksiy Yakovlev
@ 2020-05-12  0:51   ` Liming Gao
  2020-05-12 14:00     ` Oleksiy Yakovlev
  2020-05-12 16:32     ` Oleksiy Yakovlev
  0 siblings, 2 replies; 14+ messages in thread
From: Liming Gao @ 2020-05-12  0:51 UTC (permalink / raw)
  To: devel@edk2.groups.io, oleksiyy@ami.com
  Cc: Feng, Bob C, Kinney, Michael D, Felixp@ami.com

Oleksiy:
  Seemly, this patch doesn't response to my comment. Is there the comments to be added for new field DeviceTypeGuid? Can its value be NULL? And, are MdeModulePkg\Universal\SerialDxe and MdeModulePkg\Bus\Pci\PciSioSerialDxe required to be updated together? 

Thanks
Liming
-----Original Message-----
From: devel@edk2.groups.io <devel@edk2.groups.io> On Behalf Of Oleksiy Yakovlev
Sent: 2020年5月12日 4:19
To: devel@edk2.groups.io
Cc: Feng, Bob C <bob.c.feng@intel.com>; Gao, Liming <liming.gao@intel.com>; Kinney, Michael D <michael.d.kinney@intel.com>; Felixp@ami.com; oleksiyy@ami.com
Subject: [edk2-devel] [PATCH v5 1/7] MdePkg: Extend SERIAL_IO with DeviceTypeGuid

EFI_SERIAL_IO_PROTOCOL_REVISION incremented to 0x00010001.
CONST EFI_GUID *DeviceTypeGuid field added to the protocol structure.
UEFI 2.8 mantis 1832.

Signed-off-by: Oleksiy Yakovlev <oleksiyy@ami.com>

Reviewed-by: Liming Gao <liming.gao@intel.com>
---
 MdePkg/Include/Protocol/SerialIo.h | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/MdePkg/Include/Protocol/SerialIo.h b/MdePkg/Include/Protocol/SerialIo.h
index 51eaa53..b2398c2 100644
--- a/MdePkg/Include/Protocol/SerialIo.h
+++ b/MdePkg/Include/Protocol/SerialIo.h
@@ -262,7 +262,7 @@ typedef struct {
   UINT32  StopBits;
 } EFI_SERIAL_IO_MODE;
 
-#define EFI_SERIAL_IO_PROTOCOL_REVISION    0x00010000
+#define EFI_SERIAL_IO_PROTOCOL_REVISION    0x00010001
 #define SERIAL_IO_INTERFACE_REVISION  EFI_SERIAL_IO_PROTOCOL_REVISION
 
 ///
@@ -287,6 +287,7 @@ struct _EFI_SERIAL_IO_PROTOCOL {
   /// Pointer to SERIAL_IO_MODE data.
   ///
   EFI_SERIAL_IO_MODE          *Mode;
+  CONST EFI_GUID               *DeviceTypeGuid; // Revision 1.1
 };
 
 extern EFI_GUID gEfiSerialIoProtocolGuid;
-- 
2.9.0.windows.1


Please consider the environment before printing this email.

The information contained in this message may be confidential and proprietary to American Megatrends (AMI).  This communication is intended to be read only by the individual or entity to whom it is addressed or by their designee. If the reader of this message is not the intended recipient, you are on notice that any distribution of this message, in any form, is strictly prohibited.  Please promptly notify the sender by reply e-mail or by telephone at 770-246-8600, and then delete or destroy all copies of the transmission.




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

* Re: [edk2-devel] [PATCH v5 1/7] MdePkg: Extend SERIAL_IO with DeviceTypeGuid
  2020-05-12  0:51   ` [edk2-devel] " Liming Gao
@ 2020-05-12 14:00     ` Oleksiy Yakovlev
  2020-05-12 14:06       ` Liming Gao
  2020-05-12 16:32     ` Oleksiy Yakovlev
  1 sibling, 1 reply; 14+ messages in thread
From: Oleksiy Yakovlev @ 2020-05-12 14:00 UTC (permalink / raw)
  To: Gao, Liming, devel@edk2.groups.io
  Cc: Feng, Bob C, Kinney, Michael D, Felix Polyudov

Hi Liming.

I did not understand your question about MdeModulePkg\Universal\SerialDxe and MdeModulePkg\Bus\Pci\PciSioSerialDxe

Regards, Oleksiy.

-----Original Message-----
From: Gao, Liming [mailto:liming.gao@intel.com]
Sent: Monday, May 11, 2020 8:52 PM
To: devel@edk2.groups.io; Oleksiy Yakovlev
Cc: Feng, Bob C; Kinney, Michael D; Felix Polyudov
Subject: RE: [edk2-devel] [PATCH v5 1/7] MdePkg: Extend SERIAL_IO with DeviceTypeGuid

Oleksiy:
  Seemly, this patch doesn't response to my comment. Is there the comments to be added for new field DeviceTypeGuid? Can its value be NULL? And, are MdeModulePkg\Universal\SerialDxe and MdeModulePkg\Bus\Pci\PciSioSerialDxe required to be updated together?

Thanks
Liming
-----Original Message-----
From: devel@edk2.groups.io <devel@edk2.groups.io> On Behalf Of Oleksiy Yakovlev
Sent: 2020年5月12日 4:19
To: devel@edk2.groups.io
Cc: Feng, Bob C <bob.c.feng@intel.com>; Gao, Liming <liming.gao@intel.com>; Kinney, Michael D <michael.d.kinney@intel.com>; Felixp@ami.com; oleksiyy@ami.com
Subject: [edk2-devel] [PATCH v5 1/7] MdePkg: Extend SERIAL_IO with DeviceTypeGuid

EFI_SERIAL_IO_PROTOCOL_REVISION incremented to 0x00010001.
CONST EFI_GUID *DeviceTypeGuid field added to the protocol structure.
UEFI 2.8 mantis 1832.

Signed-off-by: Oleksiy Yakovlev <oleksiyy@ami.com>

Reviewed-by: Liming Gao <liming.gao@intel.com>
---
 MdePkg/Include/Protocol/SerialIo.h | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/MdePkg/Include/Protocol/SerialIo.h b/MdePkg/Include/Protocol/SerialIo.h
index 51eaa53..b2398c2 100644
--- a/MdePkg/Include/Protocol/SerialIo.h
+++ b/MdePkg/Include/Protocol/SerialIo.h
@@ -262,7 +262,7 @@ typedef struct {
   UINT32  StopBits;
 } EFI_SERIAL_IO_MODE;

-#define EFI_SERIAL_IO_PROTOCOL_REVISION    0x00010000
+#define EFI_SERIAL_IO_PROTOCOL_REVISION    0x00010001
 #define SERIAL_IO_INTERFACE_REVISION  EFI_SERIAL_IO_PROTOCOL_REVISION

 ///
@@ -287,6 +287,7 @@ struct _EFI_SERIAL_IO_PROTOCOL {
   /// Pointer to SERIAL_IO_MODE data.
   ///
   EFI_SERIAL_IO_MODE          *Mode;
+  CONST EFI_GUID               *DeviceTypeGuid; // Revision 1.1
 };

 extern EFI_GUID gEfiSerialIoProtocolGuid;
--
2.9.0.windows.1


Please consider the environment before printing this email.

The information contained in this message may be confidential and proprietary to American Megatrends (AMI).  This communication is intended to be read only by the individual or entity to whom it is addressed or by their designee. If the reader of this message is not the intended recipient, you are on notice that any distribution of this message, in any form, is strictly prohibited.  Please promptly notify the sender by reply e-mail or by telephone at 770-246-8600, and then delete or destroy all copies of the transmission.




Please consider the environment before printing this email.

The information contained in this message may be confidential and proprietary to American Megatrends (AMI).  This communication is intended to be read only by the individual or entity to whom it is addressed or by their designee. If the reader of this message is not the intended recipient, you are on notice that any distribution of this message, in any form, is strictly prohibited.  Please promptly notify the sender by reply e-mail or by telephone at 770-246-8600, and then delete or destroy all copies of the transmission.

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

* Re: [edk2-devel] [PATCH v5 1/7] MdePkg: Extend SERIAL_IO with DeviceTypeGuid
  2020-05-12 14:00     ` Oleksiy Yakovlev
@ 2020-05-12 14:06       ` Liming Gao
  2020-05-12 15:00         ` Oleksiy Yakovlev
  0 siblings, 1 reply; 14+ messages in thread
From: Liming Gao @ 2020-05-12 14:06 UTC (permalink / raw)
  To: Oleksiy Yakovlev, devel@edk2.groups.io
  Cc: Feng, Bob C, Kinney, Michael D, Felix Polyudov

MdeModulePkg\Universal\SerialDxe and MdeModulePkg\Bus\Pci\PciSioSerialDxe are two drivers to install SerialIo protocol with the original structure. Please see below code logic. With this patch, SERIAL_IO_INTERFACE_REVISION macro is updated to 1.1. But, this protocol doesn't set the value for new field DeviceTypeGuid. So, I want to confirm whether NULL DeviceTypeGuid is valid or not. 

EFI_SERIAL_IO_PROTOCOL mSerialIoTemplate = {
  SERIAL_IO_INTERFACE_REVISION,
  SerialReset,
  SerialSetAttributes,
  SerialSetControl,
  SerialGetControl,
  SerialWrite,
  SerialRead,
  &mSerialIoMode
};

> -----Original Message-----
> From: Oleksiy Yakovlev <Oleksiyy@ami.com>
> Sent: Tuesday, May 12, 2020 10:01 PM
> To: Gao, Liming <liming.gao@intel.com>; devel@edk2.groups.io
> Cc: Feng, Bob C <bob.c.feng@intel.com>; Kinney, Michael D <michael.d.kinney@intel.com>; Felix Polyudov <Felixp@ami.com>
> Subject: RE: [edk2-devel] [PATCH v5 1/7] MdePkg: Extend SERIAL_IO with DeviceTypeGuid
> 
> Hi Liming.
> 
> I did not understand your question about MdeModulePkg\Universal\SerialDxe and MdeModulePkg\Bus\Pci\PciSioSerialDxe
> 
> Regards, Oleksiy.
> 
> -----Original Message-----
> From: Gao, Liming [mailto:liming.gao@intel.com]
> Sent: Monday, May 11, 2020 8:52 PM
> To: devel@edk2.groups.io; Oleksiy Yakovlev
> Cc: Feng, Bob C; Kinney, Michael D; Felix Polyudov
> Subject: RE: [edk2-devel] [PATCH v5 1/7] MdePkg: Extend SERIAL_IO with DeviceTypeGuid
> 
> Oleksiy:
>   Seemly, this patch doesn't response to my comment. Is there the comments to be added for new field DeviceTypeGuid? Can its
> value be NULL? And, are MdeModulePkg\Universal\SerialDxe and MdeModulePkg\Bus\Pci\PciSioSerialDxe required to be updated
> together?
> 
> Thanks
> Liming
> -----Original Message-----
> From: devel@edk2.groups.io <devel@edk2.groups.io> On Behalf Of Oleksiy Yakovlev
> Sent: 2020年5月12日 4:19
> To: devel@edk2.groups.io
> Cc: Feng, Bob C <bob.c.feng@intel.com>; Gao, Liming <liming.gao@intel.com>; Kinney, Michael D <michael.d.kinney@intel.com>;
> Felixp@ami.com; oleksiyy@ami.com
> Subject: [edk2-devel] [PATCH v5 1/7] MdePkg: Extend SERIAL_IO with DeviceTypeGuid
> 
> EFI_SERIAL_IO_PROTOCOL_REVISION incremented to 0x00010001.
> CONST EFI_GUID *DeviceTypeGuid field added to the protocol structure.
> UEFI 2.8 mantis 1832.
> 
> Signed-off-by: Oleksiy Yakovlev <oleksiyy@ami.com>
> 
> Reviewed-by: Liming Gao <liming.gao@intel.com>
> ---
>  MdePkg/Include/Protocol/SerialIo.h | 3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)
> 
> diff --git a/MdePkg/Include/Protocol/SerialIo.h b/MdePkg/Include/Protocol/SerialIo.h
> index 51eaa53..b2398c2 100644
> --- a/MdePkg/Include/Protocol/SerialIo.h
> +++ b/MdePkg/Include/Protocol/SerialIo.h
> @@ -262,7 +262,7 @@ typedef struct {
>    UINT32  StopBits;
>  } EFI_SERIAL_IO_MODE;
> 
> -#define EFI_SERIAL_IO_PROTOCOL_REVISION    0x00010000
> +#define EFI_SERIAL_IO_PROTOCOL_REVISION    0x00010001
>  #define SERIAL_IO_INTERFACE_REVISION  EFI_SERIAL_IO_PROTOCOL_REVISION
> 
>  ///
> @@ -287,6 +287,7 @@ struct _EFI_SERIAL_IO_PROTOCOL {
>    /// Pointer to SERIAL_IO_MODE data.
>    ///
>    EFI_SERIAL_IO_MODE          *Mode;
> +  CONST EFI_GUID               *DeviceTypeGuid; // Revision 1.1
>  };
> 
>  extern EFI_GUID gEfiSerialIoProtocolGuid;
> --
> 2.9.0.windows.1
> 
> 
> Please consider the environment before printing this email.
> 
> The information contained in this message may be confidential and proprietary to American Megatrends (AMI).  This communication
> is intended to be read only by the individual or entity to whom it is addressed or by their designee. If the reader of this message is
> not the intended recipient, you are on notice that any distribution of this message, in any form, is strictly prohibited.  Please
> promptly notify the sender by reply e-mail or by telephone at 770-246-8600, and then delete or destroy all copies of the transmission.
> 
> 
> 
> 
> Please consider the environment before printing this email.
> 
> The information contained in this message may be confidential and proprietary to American Megatrends (AMI).  This communication
> is intended to be read only by the individual or entity to whom it is addressed or by their designee. If the reader of this message is
> not the intended recipient, you are on notice that any distribution of this message, in any form, is strictly prohibited.  Please
> promptly notify the sender by reply e-mail or by telephone at 770-246-8600, and then delete or destroy all copies of the transmission.

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

* Re: [edk2-devel] [PATCH v5 1/7] MdePkg: Extend SERIAL_IO with DeviceTypeGuid
  2020-05-12 14:06       ` Liming Gao
@ 2020-05-12 15:00         ` Oleksiy Yakovlev
  0 siblings, 0 replies; 14+ messages in thread
From: Oleksiy Yakovlev @ 2020-05-12 15:00 UTC (permalink / raw)
  To: Gao, Liming, devel@edk2.groups.io
  Cc: Feng, Bob C, Kinney, Michael D, Felix Polyudov

Hi Liming.

The intention of this patch series was to add headers to MdePkg, to make it possible start working on features implementation.
Implementing all features in all affected files through all possible module was not in my intentions at all.
I agreed to change DxeCapsuleLib to speed up adoption of this series. We need this headers ASAP to start implementing those features in our own products.  So we need headers before  soft freeze.

Regards, Oleksiy.

-----Original Message-----
From: Gao, Liming [mailto:liming.gao@intel.com]
Sent: Tuesday, May 12, 2020 10:07 AM
To: Oleksiy Yakovlev; devel@edk2.groups.io
Cc: Feng, Bob C; Kinney, Michael D; Felix Polyudov
Subject: RE: [edk2-devel] [PATCH v5 1/7] MdePkg: Extend SERIAL_IO with DeviceTypeGuid

MdeModulePkg\Universal\SerialDxe and MdeModulePkg\Bus\Pci\PciSioSerialDxe are two drivers to install SerialIo protocol with the original structure. Please see below code logic. With this patch, SERIAL_IO_INTERFACE_REVISION macro is updated to 1.1. But, this protocol doesn't set the value for new field DeviceTypeGuid. So, I want to confirm whether NULL DeviceTypeGuid is valid or not.

EFI_SERIAL_IO_PROTOCOL mSerialIoTemplate = {
  SERIAL_IO_INTERFACE_REVISION,
  SerialReset,
  SerialSetAttributes,
  SerialSetControl,
  SerialGetControl,
  SerialWrite,
  SerialRead,
  &mSerialIoMode
};

> -----Original Message-----
> From: Oleksiy Yakovlev <Oleksiyy@ami.com>
> Sent: Tuesday, May 12, 2020 10:01 PM
> To: Gao, Liming <liming.gao@intel.com>; devel@edk2.groups.io
> Cc: Feng, Bob C <bob.c.feng@intel.com>; Kinney, Michael D <michael.d.kinney@intel.com>; Felix Polyudov <Felixp@ami.com>
> Subject: RE: [edk2-devel] [PATCH v5 1/7] MdePkg: Extend SERIAL_IO with DeviceTypeGuid
>
> Hi Liming.
>
> I did not understand your question about MdeModulePkg\Universal\SerialDxe and MdeModulePkg\Bus\Pci\PciSioSerialDxe
>
> Regards, Oleksiy.
>
> -----Original Message-----
> From: Gao, Liming [mailto:liming.gao@intel.com]
> Sent: Monday, May 11, 2020 8:52 PM
> To: devel@edk2.groups.io; Oleksiy Yakovlev
> Cc: Feng, Bob C; Kinney, Michael D; Felix Polyudov
> Subject: RE: [edk2-devel] [PATCH v5 1/7] MdePkg: Extend SERIAL_IO with DeviceTypeGuid
>
> Oleksiy:
>   Seemly, this patch doesn't response to my comment. Is there the comments to be added for new field DeviceTypeGuid? Can its
> value be NULL? And, are MdeModulePkg\Universal\SerialDxe and MdeModulePkg\Bus\Pci\PciSioSerialDxe required to be updated
> together?
>
> Thanks
> Liming
> -----Original Message-----
> From: devel@edk2.groups.io <devel@edk2.groups.io> On Behalf Of Oleksiy Yakovlev
> Sent: 2020年5月12日 4:19
> To: devel@edk2.groups.io
> Cc: Feng, Bob C <bob.c.feng@intel.com>; Gao, Liming <liming.gao@intel.com>; Kinney, Michael D <michael.d.kinney@intel.com>;
> Felixp@ami.com; oleksiyy@ami.com
> Subject: [edk2-devel] [PATCH v5 1/7] MdePkg: Extend SERIAL_IO with DeviceTypeGuid
>
> EFI_SERIAL_IO_PROTOCOL_REVISION incremented to 0x00010001.
> CONST EFI_GUID *DeviceTypeGuid field added to the protocol structure.
> UEFI 2.8 mantis 1832.
>
> Signed-off-by: Oleksiy Yakovlev <oleksiyy@ami.com>
>
> Reviewed-by: Liming Gao <liming.gao@intel.com>
> ---
>  MdePkg/Include/Protocol/SerialIo.h | 3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/MdePkg/Include/Protocol/SerialIo.h b/MdePkg/Include/Protocol/SerialIo.h
> index 51eaa53..b2398c2 100644
> --- a/MdePkg/Include/Protocol/SerialIo.h
> +++ b/MdePkg/Include/Protocol/SerialIo.h
> @@ -262,7 +262,7 @@ typedef struct {
>    UINT32  StopBits;
>  } EFI_SERIAL_IO_MODE;
>
> -#define EFI_SERIAL_IO_PROTOCOL_REVISION    0x00010000
> +#define EFI_SERIAL_IO_PROTOCOL_REVISION    0x00010001
>  #define SERIAL_IO_INTERFACE_REVISION  EFI_SERIAL_IO_PROTOCOL_REVISION
>
>  ///
> @@ -287,6 +287,7 @@ struct _EFI_SERIAL_IO_PROTOCOL {
>    /// Pointer to SERIAL_IO_MODE data.
>    ///
>    EFI_SERIAL_IO_MODE          *Mode;
> +  CONST EFI_GUID               *DeviceTypeGuid; // Revision 1.1
>  };
>
>  extern EFI_GUID gEfiSerialIoProtocolGuid;
> --
> 2.9.0.windows.1
>
>
> Please consider the environment before printing this email.
>
> The information contained in this message may be confidential and proprietary to American Megatrends (AMI).  This communication
> is intended to be read only by the individual or entity to whom it is addressed or by their designee. If the reader of this message is
> not the intended recipient, you are on notice that any distribution of this message, in any form, is strictly prohibited.  Please
> promptly notify the sender by reply e-mail or by telephone at 770-246-8600, and then delete or destroy all copies of the transmission.
>
> 
>
>
> Please consider the environment before printing this email.
>
> The information contained in this message may be confidential and proprietary to American Megatrends (AMI).  This communication
> is intended to be read only by the individual or entity to whom it is addressed or by their designee. If the reader of this message is
> not the intended recipient, you are on notice that any distribution of this message, in any form, is strictly prohibited.  Please
> promptly notify the sender by reply e-mail or by telephone at 770-246-8600, and then delete or destroy all copies of the transmission.

Please consider the environment before printing this email.

The information contained in this message may be confidential and proprietary to American Megatrends (AMI).  This communication is intended to be read only by the individual or entity to whom it is addressed or by their designee. If the reader of this message is not the intended recipient, you are on notice that any distribution of this message, in any form, is strictly prohibited.  Please promptly notify the sender by reply e-mail or by telephone at 770-246-8600, and then delete or destroy all copies of the transmission.

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

* Re: [edk2-devel] [PATCH v5 1/7] MdePkg: Extend SERIAL_IO with DeviceTypeGuid
  2020-05-12  0:51   ` [edk2-devel] " Liming Gao
  2020-05-12 14:00     ` Oleksiy Yakovlev
@ 2020-05-12 16:32     ` Oleksiy Yakovlev
  1 sibling, 0 replies; 14+ messages in thread
From: Oleksiy Yakovlev @ 2020-05-12 16:32 UTC (permalink / raw)
  To: Gao, Liming, devel@edk2.groups.io
  Cc: Feng, Bob C, Kinney, Michael D, Felix Polyudov

Hi Liming.

I made a mistake in implementation.
Instead of changing EFI_SERIAL_IO_PROTOCOL_REVISION they introduced a new definition - EFI_SERIAL_IO_PROTOCOL_REVISION1p1.

This way it will be completely backward compatible and would not affect MdeModulePkg\Universal\SerialDxe and MdeModulePkg\Bus\Pci\PciSioSerialDxe. I used wrong ECR document.

This way we will have no problems with Extend SERIAL_IO with DeviceTypeGuid.

I will resubmit patches asap.

Regards, Oleksiy.

-----Original Message-----
From: Gao, Liming [mailto:liming.gao@intel.com]
Sent: Monday, May 11, 2020 8:52 PM
To: devel@edk2.groups.io; Oleksiy Yakovlev
Cc: Feng, Bob C; Kinney, Michael D; Felix Polyudov
Subject: RE: [edk2-devel] [PATCH v5 1/7] MdePkg: Extend SERIAL_IO with DeviceTypeGuid

Oleksiy:
  Seemly, this patch doesn't response to my comment. Is there the comments to be added for new field DeviceTypeGuid? Can its value be NULL? And, are MdeModulePkg\Universal\SerialDxe and MdeModulePkg\Bus\Pci\PciSioSerialDxe required to be updated together?

Thanks
Liming
-----Original Message-----
From: devel@edk2.groups.io <devel@edk2.groups.io> On Behalf Of Oleksiy Yakovlev
Sent: 2020年5月12日 4:19
To: devel@edk2.groups.io
Cc: Feng, Bob C <bob.c.feng@intel.com>; Gao, Liming <liming.gao@intel.com>; Kinney, Michael D <michael.d.kinney@intel.com>; Felixp@ami.com; oleksiyy@ami.com
Subject: [edk2-devel] [PATCH v5 1/7] MdePkg: Extend SERIAL_IO with DeviceTypeGuid

EFI_SERIAL_IO_PROTOCOL_REVISION incremented to 0x00010001.
CONST EFI_GUID *DeviceTypeGuid field added to the protocol structure.
UEFI 2.8 mantis 1832.

Signed-off-by: Oleksiy Yakovlev <oleksiyy@ami.com>

Reviewed-by: Liming Gao <liming.gao@intel.com>
---
 MdePkg/Include/Protocol/SerialIo.h | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/MdePkg/Include/Protocol/SerialIo.h b/MdePkg/Include/Protocol/SerialIo.h
index 51eaa53..b2398c2 100644
--- a/MdePkg/Include/Protocol/SerialIo.h
+++ b/MdePkg/Include/Protocol/SerialIo.h
@@ -262,7 +262,7 @@ typedef struct {
   UINT32  StopBits;
 } EFI_SERIAL_IO_MODE;

-#define EFI_SERIAL_IO_PROTOCOL_REVISION    0x00010000
+#define EFI_SERIAL_IO_PROTOCOL_REVISION    0x00010001
 #define SERIAL_IO_INTERFACE_REVISION  EFI_SERIAL_IO_PROTOCOL_REVISION

 ///
@@ -287,6 +287,7 @@ struct _EFI_SERIAL_IO_PROTOCOL {
   /// Pointer to SERIAL_IO_MODE data.
   ///
   EFI_SERIAL_IO_MODE          *Mode;
+  CONST EFI_GUID               *DeviceTypeGuid; // Revision 1.1
 };

 extern EFI_GUID gEfiSerialIoProtocolGuid;
--
2.9.0.windows.1


Please consider the environment before printing this email.

The information contained in this message may be confidential and proprietary to American Megatrends (AMI).  This communication is intended to be read only by the individual or entity to whom it is addressed or by their designee. If the reader of this message is not the intended recipient, you are on notice that any distribution of this message, in any form, is strictly prohibited.  Please promptly notify the sender by reply e-mail or by telephone at 770-246-8600, and then delete or destroy all copies of the transmission.




Please consider the environment before printing this email.

The information contained in this message may be confidential and proprietary to American Megatrends (AMI).  This communication is intended to be read only by the individual or entity to whom it is addressed or by their designee. If the reader of this message is not the intended recipient, you are on notice that any distribution of this message, in any form, is strictly prohibited.  Please promptly notify the sender by reply e-mail or by telephone at 770-246-8600, and then delete or destroy all copies of the transmission.

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

end of thread, other threads:[~2020-05-12 16:32 UTC | newest]

Thread overview: 14+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2020-05-11 20:19 [PATCH v5 0/7] Add definitions introduced in UEFI 2.8 Oleksiy Yakovlev
2020-05-11 20:19 ` [PATCH v5 1/7] MdePkg: Extend SERIAL_IO with DeviceTypeGuid Oleksiy Yakovlev
2020-05-12  0:51   ` [edk2-devel] " Liming Gao
2020-05-12 14:00     ` Oleksiy Yakovlev
2020-05-12 14:06       ` Liming Gao
2020-05-12 15:00         ` Oleksiy Yakovlev
2020-05-12 16:32     ` Oleksiy Yakovlev
2020-05-11 20:19 ` [PATCH v5 2/7] BaseTools: REST style formset Oleksiy Yakovlev
2020-05-11 20:19 ` [PATCH v5 3/7] MdePkg: " Oleksiy Yakovlev
2020-05-11 23:42   ` [edk2-devel] " Liming Gao
2020-05-11 20:19 ` [PATCH v5 4/7] BaseTools: Bootable NVDIMM namespaces Oleksiy Yakovlev
2020-05-11 20:19 ` [PATCH v5 5/7] MdePkg: " Oleksiy Yakovlev
2020-05-11 20:19 ` [PATCH v5 6/7] MdePkg: Add UEFI Spec Revision 2.8 Oleksiy Yakovlev
2020-05-11 20:19 ` [PATCH v5 7/7] MdePkg: UEFI JSON Capsule Support Oleksiy Yakovlev

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