summaryrefslogtreecommitdiffstats
path: root/src/usr/targeting
diff options
context:
space:
mode:
Diffstat (limited to 'src/usr/targeting')
-rw-r--r--src/usr/targeting/util.C28
-rw-r--r--src/usr/targeting/xmltohb/TULETA.mrw.xml10
-rw-r--r--src/usr/targeting/xmltohb/attribute_types.xml40
-rwxr-xr-xsrc/usr/targeting/xmltohb/genTuletaMrwXml.pl8
-rw-r--r--src/usr/targeting/xmltohb/simics_MURANO.system.xml8
-rw-r--r--src/usr/targeting/xmltohb/simics_VENICE.system.xml8
-rw-r--r--src/usr/targeting/xmltohb/target_types.xml1
-rw-r--r--src/usr/targeting/xmltohb/vbu.system.xml9
8 files changed, 106 insertions, 6 deletions
diff --git a/src/usr/targeting/util.C b/src/usr/targeting/util.C
index 2d4302dc9..a3ad99fe4 100644
--- a/src/usr/targeting/util.C
+++ b/src/usr/targeting/util.C
@@ -41,13 +41,12 @@ namespace TARGETING
*/
bool is_vpo( void )
{
- TARGETING::EntityPath syspath(TARGETING::EntityPath::PATH_PHYSICAL);
- syspath.addLast(TARGETING::TYPE_SYS,0);
- TARGETING::Target* sys = TARGETING::targetService().toTarget(syspath);
+ Target * sys = NULL;
+ targetService().getTopLevelTarget( sys );
uint8_t vpo_mode = 0;
if( unlikely( //compiler hint to optimize the false path
sys
- && sys->tryGetAttr<TARGETING::ATTR_IS_SIMULATION>(vpo_mode)
+ && sys->tryGetAttr<ATTR_IS_SIMULATION>(vpo_mode)
&& (vpo_mode == 1)
) )
{
@@ -56,7 +55,26 @@ bool is_vpo( void )
return false;
};
-
+/**
+ * @brief Safely fetch the HUID of a Target
+ */
+uint32_t get_huid( const Target* i_target )
+{
+ uint32_t huid = 0;
+ if( i_target == NULL )
+ {
+ huid = 0x0;
+ }
+ else if( i_target == MASTER_PROCESSOR_CHIP_TARGET_SENTINEL )
+ {
+ huid = 0xFFFFFFFF;
+ }
+ else
+ {
+ i_target->tryGetAttr<ATTR_HUID>(huid);
+ }
+ return huid;
}
+}
diff --git a/src/usr/targeting/xmltohb/TULETA.mrw.xml b/src/usr/targeting/xmltohb/TULETA.mrw.xml
index 2c58d2bad..e8c502f8d 100644
--- a/src/usr/targeting/xmltohb/TULETA.mrw.xml
+++ b/src/usr/targeting/xmltohb/TULETA.mrw.xml
@@ -65,6 +65,14 @@
<id>FREQ_CORE_FLOOR</id>
<default>2500</default>
</attribute>
+ <attribute>
+ <id>SP_FUNCTIONS</id>
+ <default>
+ <field><id>fsiSlaveInit</id><value>1</value></field>
+ <field><id>mailboxEnabled</id><value>1</value></field>
+ <field><id>reserved</id><value>0</value></field>
+ </default>
+ </attribute>
</targetInstance>
<!-- TULETA System node 0 -->
@@ -7368,4 +7376,4 @@
<attribute><id>VPD_REC_NUM</id><default>127</default></attribute>
</targetInstance>
-</attributes> \ No newline at end of file
+</attributes>
diff --git a/src/usr/targeting/xmltohb/attribute_types.xml b/src/usr/targeting/xmltohb/attribute_types.xml
index a28203c30..5db40c399 100644
--- a/src/usr/targeting/xmltohb/attribute_types.xml
+++ b/src/usr/targeting/xmltohb/attribute_types.xml
@@ -3274,6 +3274,46 @@
<readable/>
</attribute>
+<attribute>
+ <id>SP_FUNCTIONS</id>
+ <description>
+ Attribute which describes what the SP is or is not doing in this system
+ </description>
+ <complexType>
+ <description>Structure which defines a system's SP functions.
+ Applicable for System target only. Structure is read-only.
+ </description>
+ <field>
+ <name>fsiSlaveInit</name>
+ <description>
+ 0b0: SP does not initialize FSI slave logic, Hostboot must;
+ 0b1: SP does initialize FSI slave logic so Hostboot should not
+ </description>
+ <type>uint8_t</type>
+ <bits>1</bits>
+ <default>1</default>
+ </field>
+ <field>
+ <name>mailboxEnabled</name>
+ <description>
+ 0b0: There is no SP mailbox support;
+ 0b1: There is SP mailbox support
+ </description>
+ <type>uint8_t</type>
+ <bits>1</bits>
+ <default>0</default>
+ </field>
+ <field>
+ <name>reserved</name>
+ <description>Reserved for future use</description>
+ <type>uint8_t</type>
+ <bits>6</bits>
+ <default>0</default>
+ </field>
+ </complexType>
+ <persistency>non-volatile</persistency>
+ <readable/>
+</attribute>
<!-- Begin attributes (4) to test string support -->
diff --git a/src/usr/targeting/xmltohb/genTuletaMrwXml.pl b/src/usr/targeting/xmltohb/genTuletaMrwXml.pl
index 912039e9c..e3339d0df 100755
--- a/src/usr/targeting/xmltohb/genTuletaMrwXml.pl
+++ b/src/usr/targeting/xmltohb/genTuletaMrwXml.pl
@@ -472,6 +472,14 @@ sub generate_sys
<id>FREQ_CORE_FLOOR</id>
<default>2500</default>
</attribute>
+ <attribute>
+ <id>SP_FUNCTIONS</id>
+ <default>
+ <field><id>fsiSlaveInit</id><value>1</value></field>
+ <field><id>mailboxEnabled</id><value>1</value></field>
+ <field><id>reserved</id><value>0</value></field>
+ </default>
+ </attribute>
</targetInstance>
";
}
diff --git a/src/usr/targeting/xmltohb/simics_MURANO.system.xml b/src/usr/targeting/xmltohb/simics_MURANO.system.xml
index 7cccc2781..6094b4b7c 100644
--- a/src/usr/targeting/xmltohb/simics_MURANO.system.xml
+++ b/src/usr/targeting/xmltohb/simics_MURANO.system.xml
@@ -83,6 +83,14 @@
<id>FREQ_CORE_FLOOR</id>
<default>2500</default>
</attribute>
+ <attribute>
+ <id>SP_FUNCTIONS</id>
+ <default>
+ <field><id>fsiSlaveInit</id><value>0</value></field>
+ <field><id>mailboxEnabled</id><value>0</value></field>
+ <field><id>reserved</id><value>0</value></field>
+ </default>
+ </attribute>
</targetInstance>
<!-- System node 0 -->
diff --git a/src/usr/targeting/xmltohb/simics_VENICE.system.xml b/src/usr/targeting/xmltohb/simics_VENICE.system.xml
index 67f1daba5..b820f97aa 100644
--- a/src/usr/targeting/xmltohb/simics_VENICE.system.xml
+++ b/src/usr/targeting/xmltohb/simics_VENICE.system.xml
@@ -83,6 +83,14 @@
<id>FREQ_CORE_FLOOR</id>
<default>2500</default>
</attribute>
+ <attribute>
+ <id>SP_FUNCTIONS</id>
+ <default>
+ <field><id>fsiSlaveInit</id><value>0</value></field>
+ <field><id>mailboxEnabled</id><value>0</value></field>
+ <field><id>reserved</id><value>0</value></field>
+ </default>
+ </attribute>
</targetInstance>
<!-- System node 0 -->
diff --git a/src/usr/targeting/xmltohb/target_types.xml b/src/usr/targeting/xmltohb/target_types.xml
index e81d98409..a22d8ef1c 100644
--- a/src/usr/targeting/xmltohb/target_types.xml
+++ b/src/usr/targeting/xmltohb/target_types.xml
@@ -97,6 +97,7 @@
<attribute><id>FREQ_PB</id></attribute>
<attribute><id>FREQ_A</id></attribute>
<attribute><id>FREQ_X</id></attribute>
+ <attribute><id>SP_FUNCTIONS</id></attribute>
</targetType>
<targetType>
diff --git a/src/usr/targeting/xmltohb/vbu.system.xml b/src/usr/targeting/xmltohb/vbu.system.xml
index 3d4f672fd..9d72f3df4 100644
--- a/src/usr/targeting/xmltohb/vbu.system.xml
+++ b/src/usr/targeting/xmltohb/vbu.system.xml
@@ -75,6 +75,15 @@
<id>FREQ_CORE_FLOOR</id>
<default>2500</default>
</attribute>
+ <attribute>
+ <id>SP_FUNCTIONS</id>
+ <default>
+ <!-- VBU uses a checkpoint with the FSI initialized -->
+ <field><id>fsiSlaveInit</id><value>1</value></field>
+ <field><id>mailboxEnabled</id><value>0</value></field>
+ <field><id>reserved</id><value>0</value></field>
+ </default>
+ </attribute>
</targetInstance>
<targetInstance>
OpenPOWER on IntegriCloud