diff options
Diffstat (limited to 'src/import/chips/p9/utils/imageProcs/p9_tor.C')
-rw-r--r-- | src/import/chips/p9/utils/imageProcs/p9_tor.C | 20 |
1 files changed, 15 insertions, 5 deletions
diff --git a/src/import/chips/p9/utils/imageProcs/p9_tor.C b/src/import/chips/p9/utils/imageProcs/p9_tor.C index ea454c0c..e573fa9b 100644 --- a/src/import/chips/p9/utils/imageProcs/p9_tor.C +++ b/src/import/chips/p9/utils/imageProcs/p9_tor.C @@ -5,7 +5,7 @@ /* */ /* OpenPOWER sbe Project */ /* */ -/* Contributors Listed Below - COPYRIGHT 2016,2017 */ +/* Contributors Listed Below - COPYRIGHT 2016,2018 */ /* [+] International Business Machines Corp. */ /* */ /* */ @@ -284,7 +284,7 @@ int get_ring_from_ring_section( void* i_ringSection, // Ring secti ////////////////////////////////////////////////////////////////////////////////////////// int tor_access_ring( void* i_ringSection, // Ring section ptr RingId_t i_ringId, // Ring ID - uint16_t i_ddLevel, // DD level + uint8_t i_ddLevel, // DD level PpeType_t i_ppeType, // SBE, CME, SGPE RingVariant_t i_ringVariant, // Base,CC,RL (SBE,CME,SGPE only) uint8_t& io_instanceId, // Instance ID @@ -372,6 +372,16 @@ int tor_access_ring( void* i_ringSection, // Ring section ptr } } + else + { + if ( i_ddLevel != torHeader->ddLevel && + i_ddLevel != UNDEFINED_DD_LEVEL ) + { + MY_ERR("Requested DD level (=0x%x) doesn't match TOR header DD level (=0x%x) nor UNDEFINED_DD_LEVEL\n", + i_ddLevel, torHeader->ddLevel); + return TOR_DD_LEVEL_NOT_FOUND; + } + } if ( ( i_ringBlockType == GET_SINGLE_RING ) || // All Magics supported for GET ( i_ringBlockType == PUT_SINGLE_RING && // Can only append to SBE,CME,SGPE @@ -491,7 +501,7 @@ int tor_access_ring( void* i_ringSection, // Ring section ptr // ///////////////////////////////////////////////////////////////////////////////////// int tor_get_single_ring ( void* i_ringSection, // Ring section ptr - uint16_t i_ddLevel, // DD level + uint8_t i_ddLevel, // DD level RingId_t i_ringId, // Ring ID PpeType_t i_ppeType, // SBE, CME, SGPE RingVariant_t i_ringVariant, // Base,CC,RL (SBE/CME/SGPE only) @@ -537,7 +547,7 @@ int tor_get_single_ring ( void* i_ringSection, // Ring section ptr // /////////////////////////////////////////////////////////////////////////////////////// int tor_get_block_of_rings ( void* i_ringSection, // Ring section ptr - uint16_t i_ddLevel, // DD level + uint8_t i_ddLevel, // DD level PpeType_t i_ppeType, // SBE,CME,SGPE RingVariant_t i_ringVariant, // Base,CC,RL void** io_ringBlockPtr, // Output ring buffer @@ -643,7 +653,7 @@ int tor_append_ring( void* i_ringSection, // Ring section ptr rc = tor_access_ring( i_ringSection, i_ringId, - 0x00, + UNDEFINED_DD_LEVEL, i_ppeType, i_ringVariant, i_instanceId, |