Skip to content

Commit

Permalink
PM: Fix Global Parameter Block and PGPE size checks in p9_hcode_image…
Browse files Browse the repository at this point in the history
…_build

Change-Id: Ied205304bd0c395b66963bffef1b58722ba04bea
CQ:SW416422
CQ:SW416899
Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/53517
Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com>
Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com>
Tested-by: Hostboot CI <hostboot-ci+hostboot@us.ibm.com>
Reviewed-by: RAHUL BATRA <rbatra@us.ibm.com>
Reviewed-by: Prem Shanker Jha <premjha2@in.ibm.com>
Reviewed-by: Gregory S. Still <stillgs@us.ibm.com>
Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/53523
Tested-by: Jenkins OP Build CI <op-jenkins+hostboot@us.ibm.com>
Tested-by: Jenkins OP HW <op-hw-jenkins+hostboot@us.ibm.com>
Reviewed-by: Christian R. Geddes <crgeddes@us.ibm.com>
  • Loading branch information
prasrang authored and crgeddes committed Feb 22, 2018
1 parent 24bcf57 commit 0d7e626
Show file tree
Hide file tree
Showing 2 changed files with 23 additions and 12 deletions.
31 changes: 21 additions & 10 deletions src/import/chips/p9/procedures/hwp/lib/p9_hcd_memmap_base.H
Original file line number Diff line number Diff line change
Expand Up @@ -80,7 +80,6 @@ HCD_CONST(TWO_MB, (2 * 1024 * 1024))

HCD_CONST(CME_SRAM_SIZE, (32 * ONE_KB))
HCD_CONST(OCC_SRAM_SIZE, (768 * ONE_KB))
HCD_CONST(PGPE_IMAGE_SIZE, (44 * ONE_KB))

HCD_CONST(HOMER_MEMORY_SIZE, (4 * ONE_MB))
HCD_CONST(HOMER_OPMR_REGION_NUM, 0)
Expand Down Expand Up @@ -485,13 +484,12 @@ HCD_CONST(PGPE_BOOT_LOADER_RESET_ADDR_VAL, 0x40)
HCD_CONST(PGPE_INSTRUMENTATION_SIZE, (2 * ONE_KB))

/// PGPE Image

HCD_CONST(PGPE_AUX_TASK_SIZE, (2 * ONE_KB))
HCD_CONST(PGPE_IMAGE_PPMR_OFFSET,
(PGPE_BOOT_LOADER_PPMR_OFFSET + PGPE_BOOT_LOADER_SIZE))
HCD_CONST(PGPE_HCODE_SIZE, (40 * ONE_KB)) // PGPE Img + GPPB

HCD_CONST(PGPE_INT_VECTOR_SIZE, 384)
HCD_CONST(PGPE_HCODE_RESET_ADDR_VAL, 0x40)
HCD_CONST(PGPE_DBG_PTR_AREA_SIZE, 64)

/// PGPE Header

Expand Down Expand Up @@ -540,18 +538,32 @@ HCD_CONST(PGPE_FLAG_PHANTOM_HALT_ENABLE, 0x0001)

/// PGPE Hcode

//HCD_CONST(PGPE_HCODE_SIZE, (32 * ONE_KB)) //RTC158543
HCD_CONST(PGPE_DBG_PTR_AREA_SIZE, 64)
HCD_CONST(PGPE_GLOBAL_PSTATE_PARAM_BLOCK_SIZE, (4 * ONE_KB))
HCD_CONST(PGPE_GLOBAL_PSTATE_PARAM_BLOCK_SIZE, (2 * ONE_KB))
HCD_CONST(PGPE_AUX_TASK_SIZE, (2 * ONE_KB))

// @todo RTC: 187758 The following is presently hardcoded in PGPE Hcode as
// OCC_SHARED_SRAM_ADDR_LENGTH 2*1024. This should be consolodated
// between platforms in a future release.
HCD_CONST(PGPE_OCC_SHARED_SRAM_SIZE, (2 * ONE_KB))

// @todo RTC: 187760 PGPE_IMAGE_SIZE really should use OCC_SRAM_PGPE_REGION_SIZE from
// p9_hcd_memmap_occ_sram.H. However, this creates a circular dependency.
// where rearrangement is presently prohibitive (OP9010, FIPS910).
HCD_CONST(PGPE_IMAGE_SIZE, ((48 * ONE_KB) -
PGPE_AUX_TASK_SIZE -
PGPE_OCC_SHARED_SRAM_SIZE))

HCD_CONST(PGPE_HCODE_SIZE, (PGPE_IMAGE_SIZE -
PGPE_GLOBAL_PSTATE_PARAM_BLOCK_SIZE))

/// Pstate Parameter Block + Pstate Table

HCD_CONST(OCC_PSTATE_PARAM_BLOCK_PPMR_OFFSET, (128 * ONE_KB))
HCD_CONST(OCC_PSTATE_PARAM_BLOCK_SIZE, (8 * ONE_KB))
HCD_CONST(OCC_PSTATE_PARAM_BLOCK_SIZE, (8 * ONE_KB)) // this is over allocated
HCD_CONST(OCC_PSTATE_PARAM_BLOCK_REGION_SIZE, (16 * ONE_KB))

HCD_CONST(PGPE_PSTATE_OUTPUT_TABLES_PPMR_OFFSET, (144 * ONE_KB))
HCD_CONST(PGPE_PSTATE_OUTPUT_TABLES_SIZE, (8 * ONE_KB))
HCD_CONST(PGPE_PSTATE_OUTPUT_TABLES_SIZE, (8 * ONE_KB)) // this is over allocated
HCD_CONST(PGPE_PSTATE_OUTPUT_TABLES_REGION_SIZE, (16 * ONE_KB))

HCD_CONST(OCC_WOF_TABLES_PPMR_OFFSET, (768 * ONE_KB))
Expand Down Expand Up @@ -668,7 +680,6 @@ HCD_CONST(FFDC_OCC_REGION_SIZE, (FFDC_OCC_REGION_HDR_SIZE +
FFDC_SHARED_SRAM_SIZE +
FFDC_OCC_REGS_SIZE))


//FFDC Summary Section

HCD_CONST(FFDC_SUMMARY_SUB_SEC_VALID, 1 ) // FFDC sub-sec valid mark
Expand Down
4 changes: 2 additions & 2 deletions src/import/chips/p9/procedures/hwp/pm/p9_hcode_image_build.C
Original file line number Diff line number Diff line change
Expand Up @@ -2362,10 +2362,10 @@ fapi2::ReturnCode buildParameterBlock( void* const i_pHomer, CONST_FAPI2_PROC& i
FAPI_DBG("Copying Global P-State Parameter Block" );
sizePStateBlock = sizeof(GlobalPstateParmBlock);

FAPI_ASSERT( ( sizePStateBlock <= OCC_PSTATE_PARAM_BLOCK_SIZE ),
FAPI_ASSERT( ( sizePStateBlock <= PGPE_GLOBAL_PSTATE_PARAM_BLOCK_SIZE),
fapi2::PSTATE_SUP_STRUCT_SIZE_ERR()
.set_SUPER_STRUCT_SIZE(sizeof(PstateSuperStructure))
.set_MAX_SIZE_ALLOCATED(PGPE_PSTATE_OUTPUT_TABLES_SIZE)
.set_MAX_SIZE_ALLOCATED(PGPE_GLOBAL_PSTATE_PARAM_BLOCK_SIZE)
.set_ACTUAL_SIZE( sizePStateBlock ),
"Size of Global Parameter Block Exceeds Max Size Allowed" );

Expand Down

0 comments on commit 0d7e626

Please sign in to comment.