diff options
author | Claus Michael Olsen <cmolsen@us.ibm.com> | 2016-07-23 10:10:46 -0500 |
---|---|---|
committer | Sachin Gupta <sgupta2m@in.ibm.com> | 2016-09-26 13:34:39 -0400 |
commit | 5d11ff38897f56a56c21baf0663844545be24e37 (patch) | |
tree | 460a13df4218625baa007f91545e9b6c14b2ca21 /src | |
parent | 6f2a30d391e285c87dc6f4fb41b1638d36889d80 (diff) | |
download | talos-sbe-5d11ff38897f56a56c21baf0663844545be24e37.tar.gz talos-sbe-5d11ff38897f56a56c21baf0663844545be24e37.zip |
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 <pfd-jenkins+hostboot@us.ibm.com>
Tested-by: Hostboot CI <hostboot-ci+hostboot@us.ibm.com>
Reviewed-by: Joseph E. Dery <dery@us.ibm.com>
Dev-Ready: Joseph E. Dery <dery@us.ibm.com>
Reviewed-by: Prachi Gupta <pragupta@us.ibm.com>
Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/30309
Reviewed-by: Sachin Gupta <sgupta2m@in.ibm.com>
Diffstat (limited to 'src')
-rw-r--r-- | src/import/chips/p9/utils/imageProcs/p9_ring_identification.H | 28 |
1 files 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 <stdlib.h> #include <string.h> - // 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 |