summaryrefslogtreecommitdiffstats
path: root/src/usr/targeting
diff options
context:
space:
mode:
authorDan Crowell <dcrowell@us.ibm.com>2013-09-05 09:23:57 -0500
committerA. Patrick Williams III <iawillia@us.ibm.com>2013-09-12 16:51:50 -0500
commit52904ec000600bf19fcebe864c15fc7b9e134255 (patch)
treedf1c9678eb2b356effc7d58a2838222b7c932403 /src/usr/targeting
parenta816a9a252dbac72cc3a574f16f0cda0efaa38b4 (diff)
downloadtalos-hostboot-52904ec000600bf19fcebe864c15fc7b9e134255.tar.gz
talos-hostboot-52904ec000600bf19fcebe864c15fc7b9e134255.zip
Start OCC in Sapphire mode
Enable the OCC code to run in Sapphire mode. Moved the OCC memory range up to the top our memory in Sapphire mode like we do for SLW. Change-Id: Iad857dafd739db6f91ba3fd4f8a332e558d68f8b Reviewed-on: http://gfw160.austin.ibm.com:8080/gerrit/6040 Tested-by: Jenkins Server Reviewed-by: A. Patrick Williams III <iawillia@us.ibm.com>
Diffstat (limited to 'src/usr/targeting')
-rw-r--r--src/usr/targeting/common/util.C39
-rw-r--r--src/usr/targeting/common/xmltohb/simics_MURANO.system.xml8
-rw-r--r--src/usr/targeting/common/xmltohb/simics_VENICE.system.xml18
3 files changed, 52 insertions, 13 deletions
diff --git a/src/usr/targeting/common/util.C b/src/usr/targeting/common/util.C
index a53f2c88a..d592d411f 100644
--- a/src/usr/targeting/common/util.C
+++ b/src/usr/targeting/common/util.C
@@ -32,6 +32,7 @@
//******************************************************************************
#include <targeting/common/attributes.H>
#include <targeting/common/targetservice.H>
+#include <targeting/common/utilFilter.H>
namespace TARGETING
{
@@ -194,5 +195,43 @@ bool is_avp_load(void)
|| (mnfg_flags & TARGETING::MNFG_FLAG_BIT_MNFG_HDAT_AVP_ENABLE));
}
+/**
+ * @brief Utility function to obtain the highest known address in the system
+ */
+uint64_t get_top_mem_addr(void)
+{
+ uint64_t top_addr = 0;
+
+ do
+ {
+ // Get all functional proc chip targets
+ TARGETING::TargetHandleList l_cpuTargetList;
+ TARGETING::getAllChips(l_cpuTargetList, TYPE_PROC);
+
+ for ( size_t proc = 0; proc < l_cpuTargetList.size(); proc++ )
+ {
+ TARGETING::Target * l_pProc = l_cpuTargetList[proc];
+
+ //Not checking success here as fail results in no change to
+ // top_addr
+ uint64_t l_mem_bases[8] = {0,};
+ uint64_t l_mem_sizes[8] = {0,};
+ l_pProc->tryGetAttr<TARGETING::ATTR_PROC_MEM_BASES>(l_mem_bases);
+ l_pProc->tryGetAttr<TARGETING::ATTR_PROC_MEM_SIZES>(l_mem_sizes);
+
+ for (size_t i=0; i< 8; i++)
+ {
+ if(l_mem_sizes[i]) //non zero means that there is memory present
+ {
+ top_addr = std::max(top_addr,
+ l_mem_bases[i] + l_mem_sizes[i]);
+ }
+ }
+ }
+ }while(0);
+
+ return top_addr;
+}
+
}
diff --git a/src/usr/targeting/common/xmltohb/simics_MURANO.system.xml b/src/usr/targeting/common/xmltohb/simics_MURANO.system.xml
index 61c47d4c6..0bc8b5cd5 100644
--- a/src/usr/targeting/common/xmltohb/simics_MURANO.system.xml
+++ b/src/usr/targeting/common/xmltohb/simics_MURANO.system.xml
@@ -211,7 +211,7 @@
<default>10</default>
</attribute>
<attribute><id>PM_SPIVID_FREQUENCY</id>
- <default>0b11</default>
+ <default>0x3</default>
</attribute>
<!-- End pm_plat_attributes.xml -->
<attribute><id>MAX_EXS_PER_PROC_CHIP</id>
@@ -364,7 +364,7 @@
<default>1250</default>
</attribute>
<attribute><id>PM_SPIVID_PORT_ENABLE</id>
- <default>0b100</default><!-- PORT0NONRED -->
+ <default>0x4</default><!-- PORT0NONRED -->
</attribute>
<attribute><id>PM_SLEEP_TYPE</id></attribute>
<attribute><id>PM_APSS_CHIP_SELECT</id>
@@ -1119,7 +1119,7 @@
<default>1250</default>
</attribute>
<attribute><id>PM_SPIVID_PORT_ENABLE</id>
- <default>0b000</default><!-- NONE -->
+ <default>0x0</default><!-- NONE -->
</attribute>
<attribute><id>PM_SLEEP_ENTRY</id></attribute>
<attribute><id>PM_SLEEP_EXIT</id></attribute>
@@ -2636,7 +2636,7 @@
<default>1250</default>
</attribute>
<attribute><id>PM_SPIVID_PORT_ENABLE</id>
- <default>0b000</default><!-- NONE -->
+ <default>0x0</default><!-- NONE -->
</attribute>
<attribute><id>PM_SLEEP_ENTRY</id></attribute>
<attribute><id>PM_SLEEP_EXIT</id></attribute>
diff --git a/src/usr/targeting/common/xmltohb/simics_VENICE.system.xml b/src/usr/targeting/common/xmltohb/simics_VENICE.system.xml
index 79db7a86f..0af784c87 100644
--- a/src/usr/targeting/common/xmltohb/simics_VENICE.system.xml
+++ b/src/usr/targeting/common/xmltohb/simics_VENICE.system.xml
@@ -337,7 +337,7 @@
<default>1250</default>
</attribute>
<attribute><id>PM_SPIVID_PORT_ENABLE</id>
- <default>0b111</default><!-- REDUNDANT -->
+ <default>0x7</default><!-- REDUNDANT -->
</attribute>
<attribute><id>PM_SLEEP_ENTRY</id></attribute>
<attribute><id>PM_SLEEP_EXIT</id></attribute>
@@ -1458,7 +1458,7 @@
<default>1250</default>
</attribute>
<attribute><id>PM_SPIVID_PORT_ENABLE</id>
- <default>0b111</default><!-- REDUNDANT -->
+ <default>0x7</default><!-- REDUNDANT -->
</attribute>
<attribute><id>PM_SLEEP_ENTRY</id></attribute>
<attribute><id>PM_SLEEP_EXIT</id></attribute>
@@ -2579,7 +2579,7 @@
<default>1250</default>
</attribute>
<attribute><id>PM_SPIVID_PORT_ENABLE</id>
- <default>0b111</default><!-- REDUNDANT -->
+ <default>0x7</default><!-- REDUNDANT -->
</attribute>
<attribute><id>PM_SLEEP_ENTRY</id></attribute>
<attribute><id>PM_SLEEP_EXIT</id></attribute>
@@ -3699,7 +3699,7 @@
<default>1250</default>
</attribute>
<attribute><id>PM_SPIVID_PORT_ENABLE</id>
- <default>0b111</default><!-- REDUNDANT -->
+ <default>0x7</default><!-- REDUNDANT -->
</attribute>
<attribute><id>PM_SLEEP_ENTRY</id></attribute>
<attribute><id>PM_SLEEP_EXIT</id></attribute>
@@ -4818,7 +4818,7 @@
<default>1250</default>
</attribute>
<attribute><id>PM_SPIVID_PORT_ENABLE</id>
- <default>0b111</default><!-- REDUNDANT -->
+ <default>0x7</default><!-- REDUNDANT -->
</attribute>
<attribute><id>PM_SLEEP_ENTRY</id></attribute>
<attribute><id>PM_SLEEP_EXIT</id></attribute>
@@ -5906,7 +5906,7 @@
<default>1250</default>
</attribute>
<attribute><id>PM_SPIVID_PORT_ENABLE</id>
- <default>0b111</default><!-- REDUNDANT -->
+ <default>0x7</default><!-- REDUNDANT -->
</attribute>
<attribute><id>PM_SLEEP_ENTRY</id></attribute>
<attribute><id>PM_SLEEP_EXIT</id></attribute>
@@ -6992,7 +6992,7 @@
<default>1250</default>
</attribute>
<attribute><id>PM_SPIVID_PORT_ENABLE</id>
- <default>0b111</default><!-- REDUNDANT -->
+ <default>0x7</default><!-- REDUNDANT -->
</attribute>
<attribute><id>PM_SLEEP_ENTRY</id></attribute>
<attribute><id>PM_SLEEP_EXIT</id></attribute>
@@ -8079,7 +8079,7 @@
<default>1250</default>
</attribute>
<attribute><id>PM_SPIVID_PORT_ENABLE</id>
- <default>0b111</default><!-- REDUNDANT -->
+ <default>0x7</default><!-- REDUNDANT -->
</attribute>
<attribute><id>PM_SLEEP_ENTRY</id></attribute>
<attribute><id>PM_SLEEP_EXIT</id></attribute>
@@ -16093,7 +16093,7 @@
<default>1250</default>
</attribute>
<attribute><id>PM_SPIVID_PORT_ENABLE</id>
- <default>0b111</default><!-- REDUNDANT -->
+ <default>0x7</default><!-- REDUNDANT -->
</attribute>
<attribute><id>PM_SLEEP_ENTRY</id></attribute>
<attribute><id>PM_SLEEP_EXIT</id></attribute>
OpenPOWER on IntegriCloud