This code is a work in progress that implements a UEFI specification that is not finished and is not ready for publication.
> -----Original Message----- > From: Javeed, Ashraf <ashraf.jav...@intel.com> > Sent: Wednesday, August 12, 2020 8:33 AM > To: devel@edk2.groups.io > Cc: Kinney, Michael D <michael.d.kin...@intel.com>; Gao, Liming > <liming....@intel.com>; Liu, Zhiguang > <zhiguang....@intel.com> > Subject: [PATCH V1] MdePkg/Include/Guid/Cper.h: CXL Protocol Error > > BZ: https://bugzilla.tianocore.org/show_bug.cgi?id=2884 > > Added new approved ECR for the CXL Protocol Error Section. > > Signed-off-by: Ashraf Javeed <ashraf.jav...@intel.com> > Cc: Michael D Kinney <michael.d.kin...@intel.com> > Cc: Liming Gao <liming....@intel.com> > Cc: Zhiguang Liu <zhiguang....@intel.com> > -- > --- > MdePkg/Include/Guid/Cper.h | 75 > ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++--- > MdePkg/MdePkg.dec | 3 +++ > 2 files changed, 75 insertions(+), 3 deletions(-) > > diff --git a/MdePkg/Include/Guid/Cper.h b/MdePkg/Include/Guid/Cper.h > index 948f586427..28a0f3d3da 100644 > --- a/MdePkg/Include/Guid/Cper.h > +++ b/MdePkg/Include/Guid/Cper.h > @@ -1,7 +1,7 @@ > /** @file > GUIDs and definitions used for Common Platform Error Record. > > - Copyright (c) 2011 - 2017, Intel Corporation. All rights reserved.<BR> > + Copyright (c) 2011 - 2020, Intel Corporation. All rights reserved.<BR> > (C) Copyright 2016 Hewlett Packard Enterprise Development LP<BR> > SPDX-License-Identifier: BSD-2-Clause-Patent > > @@ -10,8 +10,8 @@ > > **/ > > -#ifndef __CPER_GUID_H__ > -#define __CPER_GUID_H__ > +#ifndef CPER_GUID_H__ > +#define CPER_GUID_H__ > > #pragma pack(1) > > @@ -1249,4 +1249,73 @@ extern EFI_GUID gEfiIa32X64ErrorTypeMsCheckGuid; > > #endif > > +// > +// Compute Express Link (CXL) Protocol Error Section Descriptor body > +//@{ > + > +/// > +/// CXL Protocol Error Section Type > +/// > +#define EFI_ERROR_SECTION_CXL_PROTOCOL_GUID \ > + { \ > + 0x80B9EFB4, 0x52B5, 0x4DE3, { 0xA7, 0x77, 0x68, 0x78, 0x4B, 0x77, 0x10, > 0x48 } \ > + } > + > +// > +// Validation Bits to indicate the valid fields of the error section > +// > +#define EFI_CXL_PROTOCOL_ERROR_AGENT_TYPE_VALID BIT0 > +#define EFI_CXL_PROTOCOL_ERROR_AGENT_ADDRESS_VALID BIT1 > +#define EFI_CXL_PROTOCOL_ERROR_DEVICE_ID_VALID BIT2 > +#define EFI_CXL_PROTOCOL_ERROR_DEVICE_SERIAL_NUMBER_VALID BIT3 > +#define EFI_CXL_PROTOCOL_ERROR_CAPABILITY_STRUCTURE_VALID BIT4 > +#define EFI_CXL_PROTOCOL_ERROR_CXL_DVSEC_VALID BIT5 > +#define EFI_CXL_PROTOCOL_ERROR_CXL_ERROR_LOG_VALID BIT6 > + > +/// > +/// Compute Express Link (CXL) Protocol Error Section > +/// > +typedef struct { > + // Indicates which of the following fields are valid > + UINT64 > ValidationBits; > + // > + // error was detected by a CXL 1.1 device (0) or downstream port (1), other > + // values reserved > + UINT8 CxlAgentType; > + UINT8 Reserved[7]; > + // > + // PCI address of the CXL 1.1. Device, or RCRB base address of the > + // CXL 1.1 downstream port > + UINT64 > CxlAgentAddress; > + // > + // to uniquely identify CXL 1.1 Device - Vendor, Device ID, sussystem IDs, > + // Class Code and slot number > + UINT16 DeviceId[8]; > + // > + // Device Serial NUmber of the CXL 1.1 Device > + UINT64 > DeviceSerialNumber; > + // > + // PCIe Capability Structure of the CXL 1.1 Device > + UINT8 > CapabilityStructure[60]; > + // > + // The length in bytes of the CXL DVSEC field > + UINT16 > CxlDvsecLength; > + // > + // The length in bytes of the CXL Error Log field > + UINT16 > CxlErrorLogLength; > + UINT32 Reserved2; > + // > + // variable-length structure, is defined by the CXL DVSEC Length field; > either > + // CXL 1.1 Device or CXL 1.1 downstream port > + UINT8 CxlDvsec[1]; > + // > + // variable-length structure, is defined by the CXL Error Log Length field; > + // contains copy of its �CXL RAS Capability Structure�, as defined in the > + // CXL 1.1 Specification > + UINT8 > CxlErrorLog[0]; > +} EFI_CXL_PROTOCOL_ERROR_DATA; > + > +extern EFI_GUID gEfiCxlProtocolErrorSectionGuid; > +//@} > + > #endif > diff --git a/MdePkg/MdePkg.dec b/MdePkg/MdePkg.dec > index 73f6c24073..0f83b21be9 100644 > --- a/MdePkg/MdePkg.dec > +++ b/MdePkg/MdePkg.dec > @@ -484,6 +484,9 @@ > ## Include/Guid/Cper.h > gEfiIommuDMArErrorSectionGuid = { 0x036f84e1, 0x7f37, 0x428c, { 0xa7, > 0x9e, 0x57, 0x5f, 0xdf, 0xaa, 0x84, 0xec }} > > + ## Include/Guid/Cper.h > + gEfiCxlProtocolErrorSectionGuid = { 0x80B9EFB4, 0x52B5, 0x4DE3, { 0xA7, > 0x77, 0x68, 0x78, 0x4B, 0x77, 0x10, 0x48 }} > + > # > # GUID defined in UEFI2.2 > # > -- > 2.21.0.windows.1 -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#64133): https://edk2.groups.io/g/devel/message/64133 Mute This Topic: https://groups.io/mt/76149406/21656 Group Owner: devel+ow...@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-