summaryrefslogtreecommitdiffstats
path: root/src/import/chips/p9/procedures/hwp/pm/p9_pm_recovery_ffdc_occ.H
diff options
context:
space:
mode:
Diffstat (limited to 'src/import/chips/p9/procedures/hwp/pm/p9_pm_recovery_ffdc_occ.H')
-rw-r--r--src/import/chips/p9/procedures/hwp/pm/p9_pm_recovery_ffdc_occ.H38
1 files changed, 31 insertions, 7 deletions
diff --git a/src/import/chips/p9/procedures/hwp/pm/p9_pm_recovery_ffdc_occ.H b/src/import/chips/p9/procedures/hwp/pm/p9_pm_recovery_ffdc_occ.H
index 40ed156ad..24a87dee0 100644
--- a/src/import/chips/p9/procedures/hwp/pm/p9_pm_recovery_ffdc_occ.H
+++ b/src/import/chips/p9/procedures/hwp/pm/p9_pm_recovery_ffdc_occ.H
@@ -56,18 +56,35 @@ namespace p9_stop_recov_ffdc
/// @brief destructor
virtual ~PlatOcc() { };
+ /// @brief Initializes the OCC FFDC Sub-Sections in HOMER with default header
+ /// @param[in] i_pHomerBuf points to base of P9 HOMER.
+ /// @return fapi2 return code
+ fapi2::ReturnCode init ( void* i_pHomerBuf );
+
/// @brief collects FFDC of the OCC 405, GPE0 and GPE1.
- /// @param[in] i_pHomerBuf points to base of P9 HOMER.
+ /// @param[in] i_pHomerBuf points to base of P9 HOMER.
+ /// @param[in] i_ffdcType indicates the content type to collect
/// @return fapi2 return code.
- fapi2::ReturnCode collectFfdc( void* i_pHomerBuf );
+ fapi2::ReturnCode collectFfdc ( void* i_pHomerBuf,
+ uint8_t i_ffdcType = ALL );
private:
- /// @brief collects trace info from OCC SRAM buffer.
+ /// @brief collects trace info from a known region OCC SRAM
+ /// @param[in] i_pHomerBuf location in HOMER to write at
+ /// @param[in] i_occSramRegion See OccFfdcValidStatus,
+ /// Indicates OCC SRAM Region to read
+ /// @return fapi2 return code.
+ fapi2::ReturnCode collectTrace( uint8_t* i_pHomerBuf,
+ uint8_t i_occSramRegion );
+
+ /// @brief reads OCC SRAM to find out the region extent and
+ /// then collects info from that region
/// @param[in] i_pHomerBuf location in HOMER to write at
- /// @param[in] i_sramAddress location in OCC SRAM to read from
+ /// @param[in] i_occSramRegion See OccFfdcValidStatus.
+ /// Indicates OCC SRAM Region to read
/// @return fapi2 return code.
- fapi2::ReturnCode collectTrace( uint8_t * i_pHomerBuf,
- uint32_t i_sramAddress );
+ fapi2::ReturnCode readSramRegion ( uint8_t* i_pHomerBuf,
+ uint8_t i_occSramRegion );
/// @brief updates the OCC FFDC Header
/// @param[in] i_pHomerBuf points to a location in HOMER meant for
@@ -76,7 +93,14 @@ namespace p9_stop_recov_ffdc
/// valid. See OccFfdcValidStatus
///@return fapi2 return code.
fapi2::ReturnCode updateOccFfdcHeader ( uint8_t* i_pHomerBuf,
- uint8_t i_ffdcValid );
+ uint16_t i_ffdcValid );
+
+ /// @brief collects register info for a given OCC
+ /// @param[in] i_pHomerBuf points to location of HOMER meant for OCC internal register.
+ ///@return fapi2 return code.
+ fapi2::ReturnCode collectOccReg( uint8_t * i_pHomerBuf);
+
+
};
extern "C"
OpenPOWER on IntegriCloud