From 5d11ff38897f56a56c21baf0663844545be24e37 Mon Sep 17 00:00:00 2001 From: Claus Michael Olsen Date: Sat, 23 Jul 2016 10:10:46 -0500 Subject: Updated ring_identification list: Now synchronized with ringId.H. Also, updated to support Mvpd support in xip_customize - To ignore GPTR rings - To facilitate orderly appending of Vpd rings to Seeprom image Change-Id: I0c38adad3219e932a8b63082149038de734495e7 Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/27403 Tested-by: Jenkins Server Tested-by: Hostboot CI Reviewed-by: Joseph E. Dery Dev-Ready: Joseph E. Dery Reviewed-by: Prachi Gupta Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/30309 Reviewed-by: Sachin Gupta --- .../p9/utils/imageProcs/p9_ring_identification.H | 28 +++++++++++++++------- 1 file changed, 20 insertions(+), 8 deletions(-) diff --git a/src/import/chips/p9/utils/imageProcs/p9_ring_identification.H b/src/import/chips/p9/utils/imageProcs/p9_ring_identification.H index 72c452f8..a5e1a9a0 100644 --- a/src/import/chips/p9/utils/imageProcs/p9_ring_identification.H +++ b/src/import/chips/p9/utils/imageProcs/p9_ring_identification.H @@ -30,7 +30,6 @@ #include #include - // General Ring ID list structure typedef struct { @@ -168,22 +167,27 @@ extern const GenRingIdList RING_ID_LIST_INSTANCE[]; extern const RingVariantOrder RING_VARIANT_ORDER[]; } -// VPD Ring ID list structure. +// MVPD Ring ID list structure. typedef struct { const char* ringName; + //@FIXME: CMO: Replace this with RingID asap. uint8_t ringId; uint8_t instanceIdMin; // the min instanceId uint8_t instanceIdMax; // the max instanceId uint8_t vpdKeyword; + uint8_t vpdRingClass; // Indicates std, gptr, or ex instance. } RingIdList; +typedef struct +{ + const RingIdList* ringIdList; + uint32_t ringIdListSize; +} VPDRingList; extern const RingIdList RING_ID_LIST_PG[], RING_ID_LIST_PR[]; -extern const uint32_t RING_ID_LIST_PG_SIZE, RING_ID_LIST_PR_SIZE; -extern const RingIdList RING_ID_LIST[]; -extern const uint32_t RING_ID_LIST_SIZE; +extern const VPDRingList ALL_VPD_RINGS[]; extern const uint32_t RING_ID_LIST_CHIP_SIZE, RING_ID_LIST_CORE_SIZE, RING_ID_LIST_CME_SIZE, RING_ID_LIST_CC_SIZE; @@ -204,10 +208,18 @@ enum VpdKeyword }; +enum VpdRingClass +{ + VPD_RING_CLASS_NEST = 0, // Indicates NEST rings + VPD_RING_CLASS_EQ = 1, // Indicates EQ rings + VPD_RING_CLASS_EX = 2, // Indicates EX rings + VPD_RING_CLASS_EC = 3, // Indicates EC rings + VPD_RING_CLASS_GPTR = 4, // Indicates GPTR #G rings + VPD_RING_CLASS_LAST = 5, +}; + -int get_vpd_ring_list_entry(const char* i_ringName, - const uint8_t i_ringId, - RingIdList** i_ringIdList); +#define MVPD_END_OF_DATA_MAGIC (uint32_t)0x454E4400 // "END " #endif -- cgit v1.2.1