summaryrefslogtreecommitdiffstats
path: root/src/usr/fapi2/plat_utils.C
diff options
context:
space:
mode:
Diffstat (limited to 'src/usr/fapi2/plat_utils.C')
-rw-r--r--src/usr/fapi2/plat_utils.C22
1 files changed, 21 insertions, 1 deletions
diff --git a/src/usr/fapi2/plat_utils.C b/src/usr/fapi2/plat_utils.C
index 01eacb645..bcea30664 100644
--- a/src/usr/fapi2/plat_utils.C
+++ b/src/usr/fapi2/plat_utils.C
@@ -48,6 +48,7 @@
#include <p9_scan_compression.H>
#include <cen_ringId.H>
#include <scom/wakeup.H>
+#include <util/misc.H>
//******************************************************************************
// Trace descriptors
@@ -941,6 +942,13 @@ void processEIBusCallouts(const ErrorInfo & i_errInfo,
{
l_busType = HWAS::DMI_BUS_TYPE;
}
+ else if ( ((l_type1 == TARGETING::TYPE_DMI) &&
+ (l_type2 == TARGETING::TYPE_MEMBUF)) ||
+ ((l_type1 == TARGETING::TYPE_MEMBUF) &&
+ (l_type2 == TARGETING::TYPE_DMI)) )
+ {
+ l_busType = HWAS::DMI_BUS_TYPE;
+ }
else if ((l_type1 == TARGETING::TYPE_ABUS) &&
(l_type2 == TARGETING::TYPE_ABUS))
{
@@ -956,6 +964,13 @@ void processEIBusCallouts(const ErrorInfo & i_errInfo,
{
l_busType = HWAS::O_BUS_TYPE;
}
+ else if ( ((l_type1 == TARGETING::TYPE_OMI) &&
+ (l_type2 == TARGETING::TYPE_OCMB_CHIP)) ||
+ ((l_type1 == TARGETING::TYPE_OCMB_CHIP) &&
+ (l_type2 == TARGETING::TYPE_OMI)) )
+ {
+ l_busType = HWAS::OMI_BUS_TYPE;
+ }
else
{
FAPI_ERR("processEIBusCallouts: Bus between target types not known (0x%08x:0x%08x)",
@@ -1468,7 +1483,12 @@ ReturnCode delay(uint64_t i_nanoSeconds,
bool i_fixed)
{
//Note: i_fixed is deliberately ignored
- nanosleep( 0, i_nanoSeconds );
+
+ // We don't need to waste time for hardware delays if we're running in Simics
+ if( !Util::isSimicsRunning() )
+ {
+ nanosleep( 0, i_nanoSeconds );
+ }
return FAPI2_RC_SUCCESS;
}
OpenPOWER on IntegriCloud