summaryrefslogtreecommitdiffstats
path: root/src/usr/targeting
diff options
context:
space:
mode:
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