diff options
Diffstat (limited to 'src/usr/targeting')
-rw-r--r-- | src/usr/targeting/common/util.C | 39 | ||||
-rw-r--r-- | src/usr/targeting/common/xmltohb/simics_MURANO.system.xml | 8 | ||||
-rw-r--r-- | src/usr/targeting/common/xmltohb/simics_VENICE.system.xml | 18 |
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> |