summaryrefslogtreecommitdiffstats
path: root/src/usr/targeting
diff options
context:
space:
mode:
authorPrachi Gupta <pragupta@us.ibm.com>2018-01-22 14:55:12 -0600
committerDaniel M. Crowell <dcrowell@us.ibm.com>2018-01-24 20:49:48 -0500
commitbb004ba55073aaa8bc216730b29d51925efeb099 (patch)
treece9cfa050ef81c23e06ab9ef19c60e47b90f7d0d /src/usr/targeting
parent43011596290021b04ab058d116730cbac2cbe1ac (diff)
downloadtalos-hostboot-bb004ba55073aaa8bc216730b29d51925efeb099.tar.gz
talos-hostboot-bb004ba55073aaa8bc216730b29d51925efeb099.zip
processMrw: hard-code all base bar addresses as to not rely on mrw
All information required to calculate the BARs (base address, group offset, chip offset) is already known and constant across all P9 systems. Therefore, moving this information from MRW to just the processMrw script. Additionally, removed leftover P8 BAR attributes. Change-Id: I7375bd1b892aa5942f03cfdc5cc931c300600785 Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/52396 Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com> Reviewed-by: William G. Hoffa <wghoffa@us.ibm.com> Tested-by: Jenkins OP Build CI <op-jenkins+hostboot@us.ibm.com> Tested-by: Jenkins OP HW <op-hw-jenkins+hostboot@us.ibm.com> Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com> Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com>
Diffstat (limited to 'src/usr/targeting')
-rwxr-xr-xsrc/usr/targeting/common/genHwsvMrwXml.pl47
-rwxr-xr-xsrc/usr/targeting/common/processMrw.pl86
-rwxr-xr-xsrc/usr/targeting/common/xmltohb/attribute_types.xml83
-rw-r--r--src/usr/targeting/common/xmltohb/simics_CUMULUS.system.xml83
-rw-r--r--src/usr/targeting/common/xmltohb/simics_NIMBUS.system.xml23
-rw-r--r--src/usr/targeting/common/xmltohb/target_types.xml21
-rw-r--r--src/usr/targeting/common/xmltohb/vbu_NIMBUS.system.xml23
7 files changed, 25 insertions, 341 deletions
diff --git a/src/usr/targeting/common/genHwsvMrwXml.pl b/src/usr/targeting/common/genHwsvMrwXml.pl
index 543cd81f0..da10c4010 100755
--- a/src/usr/targeting/common/genHwsvMrwXml.pl
+++ b/src/usr/targeting/common/genHwsvMrwXml.pl
@@ -6,7 +6,7 @@
#
# OpenPOWER HostBoot Project
#
-# Contributors Listed Below - COPYRIGHT 2013,2017
+# Contributors Listed Below - COPYRIGHT 2013,2018
# [+] International Business Machines Corp.
#
#
@@ -3898,51 +3898,6 @@ sub generate_proc
printf( " <attribute><id>FSP_BASE_ADDR</id>\n" );
printf( " <default>0x%016X</default>\n", $fspBase );
printf( " </attribute>\n" );
-
-
- #VAS Hypervisor Window Contexts address
- printf( " <attribute><id>VAS_HYPERVISOR_WINDOW_CONTEXT_ADDR</id>\n" );
- printf( " <default>0x%016X</default>\n",
- 0x0006013000000000 + $nodeSize*$lognode + $chipSize*$logid );
- printf( " </attribute>\n" );
-
- #VAS User Window Contexts address
- printf( " <attribute><id>VAS_USER_WINDOW_CONTEXT_ADDR</id>\n" );
- printf( " <default>0x%016X</default>\n",
- 0x0006013100000000 + $nodeSize*$lognode + $chipSize*$logid );
- printf( " </attribute>\n" );
-
- #Nvidia Link - NPU Priviledged address
- printf( " <attribute><id>NVIDIA_NPU_PRIVILEGED_ADDR</id>\n" );
- printf( " <default>0x%016X</default>\n",
- 0x0006030200000000 + $nodeSize*$lognode + $chipSize*$logid );
- printf( " </attribute>\n" );
-
- #Nvidia Link - NPU User Regs address
- printf( " <attribute><id>NVIDIA_NPU_USER_REG_ADDR</id>\n" );
- printf( " <default>0x%016X</default>\n",
- 0x0006030201000000 + $nodeSize*$lognode + $chipSize*$logid );
- printf( " </attribute>\n" );
-
- #Nvidia Link - Phy 0 Regs address
- printf( " <attribute><id>NVIDIA_PHY0_REG_ADDR</id>\n" );
- printf( " <default>0x%016X</default>\n",
- 0x0006030201200000 + $nodeSize*$lognode + $chipSize*$logid );
- printf( " </attribute>\n" );
-
- #Nvidia Link - Phy 1 Regs address
- printf( " <attribute><id>NVIDIA_PHY1_REG_ADDR</id>\n" );
- printf( " <default>0x%016X</default>\n",
- 0x0006030201400000 + $nodeSize*$lognode + $chipSize*$logid );
- printf( " </attribute>\n" );
-
-
- #NX - RNG space address
- printf( " <attribute><id>NX_RNG_ADDR</id>\n" );
- printf( " <default>0x%016X</default>\n",
- 0x00060302031D0000 + $nodeSize*$lognode + $chipSize*$logid );
- printf( " </attribute>\n" );
-
print " <!-- End PHYP Memory Map -->\n\n";
# end PHYP Memory Map
diff --git a/src/usr/targeting/common/processMrw.pl b/src/usr/targeting/common/processMrw.pl
index b8ece529c..b2cb59e55 100755
--- a/src/usr/targeting/common/processMrw.pl
+++ b/src/usr/targeting/common/processMrw.pl
@@ -1057,73 +1057,27 @@ sub setupBars
my $proc = $targetObj->getAttribute($target, "FABRIC_CHIP_ID");
$targetObj->{TOPOLOGY}->{$group}->{$proc}++;
- my @bars=( "FSP_BASE_ADDR",
- "VAS_HYPERVISOR_WINDOW_CONTEXT_ADDR",
- "VAS_USER_WINDOW_CONTEXT_ADDR",
- "NVIDIA_NPU_PRIVILEGED_ADDR",
- "NVIDIA_NPU_USER_REG_ADDR",
- "NVIDIA_PHY0_REG_ADDR",
- "NVIDIA_PHY1_REG_ADDR",
- "NX_RNG_ADDR");
-
- # Attribute only valid in naples-based systems
- if (!$targetObj->isBadAttribute($target,"NPU_MMIO_BAR_BASE_ADDR") ) {
- push(@bars,"NPU_MMIO_BAR_BASE_ADDR");
- }
-
- #@fixme-RTC:174616-Remove deprecated support
- if (!$targetObj->isBadAttribute($target,"LPC_BUS_ADDR") ) {
- push(@bars,"LPC_BUS_ADDR");
- }
- if (!$targetObj->isBadAttribute($target,"XSCOM_BASE_ADDRESS") ) {
- push(@bars,"XSCOM_BASE_ADDRESS");
- }
- if (!$targetObj->isBadAttribute($target,"PSI_BRIDGE_BASE_ADDR") ) {
- push(@bars,"PSI_BRIDGE_BASE_ADDR");
- }
- if (!$targetObj->isBadAttribute($target,"INTP_BASE_ADDR") ) {
- push(@bars,"INTP_BASE_ADDR");
- }
- if (!$targetObj->isBadAttribute($target,"PSI_HB_ESB_ADDR") ) {
- push(@bars,"PSI_HB_ESB_ADDR");
- }
- if (!$targetObj->isBadAttribute($target,"XIVE_CONTROLLER_BAR_ADDR") ) {
- push(@bars,"XIVE_CONTROLLER_BAR_ADDR");
- }
-
- foreach my $bar (@bars)
+ #P9 has a defined memory map for all configurations,
+ #these are the base addresses for group0-chip0.
+ #Each chip in the group has its own 4TB space,
+ #which each group being 32TB of space.
+ my %bars=( "FSP_BASE_ADDR" => 0x0006030100000000,
+ "LPC_BUS_ADDR" => 0x0006030000000000,
+ "XSCOM_BASE_ADDRESS" => 0x000603FC00000000,
+ "PSI_BRIDGE_BASE_ADDR" => 0x0006030203000000,
+ "INTP_BASE_ADDR" => 0x0003FFFF80300000,
+ "PSI_HB_ESB_ADDR" => 0x00060302031C0000,
+ "XIVE_CONTROLLER_BAR_ADDR" => 0x0006030203100000);
+
+ my $groupOffset = 0x200000000000;
+ my $procOffset = 0x40000000000;
+
+ foreach my $bar (keys %bars)
{
- my ($num,$base,$group_offset,$proc_offset,$offset) = split(/,/,
- $targetObj->getAttribute($target,$bar));
- my $i_base = Math::BigInt->new($base);
- my $i_node_offset = Math::BigInt->new($group_offset);
- my $i_proc_offset = Math::BigInt->new($proc_offset);
- my $i_offset = Math::BigInt->new($offset);
-
- my $value="";
- if ($num==0)
- {
- my $b=sprintf("0x%016s",substr((
- $i_base+$i_node_offset*$group+
- $i_proc_offset*$proc)->as_hex(),2));
- $value=$b;
- }
- else
- {
- for (my $i=0;$i<$num;$i++)
- {
- #Note: Hex convert method avoids overflow on 32bit machine
- my $b=sprintf("0x%016s",substr((
- $i_base+$i_node_offset*$group+
- $i_proc_offset*$proc+$i_offset*$i)->as_hex(),2));
- my $sep=",";
- if ($i==$num-1)
- {
- $sep="";
- }
- $value=$value.$b.$sep;
- }
- }
+ my $i_base = Math::BigInt->new($bars{$bar});
+ my $value=sprintf("0x%016s",substr((
+ $i_base+$groupOffset*$group+
+ $procOffset*$proc)->as_hex(),2));
$targetObj->setAttribute($target,$bar,$value);
}
}
diff --git a/src/usr/targeting/common/xmltohb/attribute_types.xml b/src/usr/targeting/common/xmltohb/attribute_types.xml
index d84652cfc..9ee78379e 100755
--- a/src/usr/targeting/common/xmltohb/attribute_types.xml
+++ b/src/usr/targeting/common/xmltohb/attribute_types.xml
@@ -1627,6 +1627,7 @@
<default>0x0003FFE000000000</default>
</uint64_t>
</simpleType>
+ <no_export/>
</attribute>
<attribute>
@@ -3830,30 +3831,6 @@
</attribute>
<attribute>
- <description>VAS - Hypervisor Window Contexts address
- MMIO consumed by PHYP
- </description>
- <id>VAS_HYPERVISOR_WINDOW_CONTEXT_ADDR</id>
- <persistency>non-volatile</persistency>
- <readable></readable>
- <simpleType>
- <uint64_t></uint64_t>
- </simpleType>
- </attribute>
-
- <attribute>
- <description>VAS - User Window Context address
- MMIO consumed by PHYP
- </description>
- <id>VAS_USER_WINDOW_CONTEXT_ADDR</id>
- <persistency>non-volatile</persistency>
- <readable></readable>
- <simpleType>
- <uint64_t></uint64_t>
- </simpleType>
- </attribute>
-
- <attribute>
<description>LPC Bus address - MMIO consumed by PHYP</description>
<id>LPC_BUS_ADDR</id>
<persistency>volatile</persistency>
@@ -3865,54 +3842,6 @@
</attribute>
<attribute>
- <description>Nvidia Link - NPU Privileged Regs address
- MMIO consumed by PHYP
- </description>
- <id>NVIDIA_NPU_PRIVILEGED_ADDR</id>
- <persistency>non-volatile</persistency>
- <readable></readable>
- <simpleType>
- <uint64_t></uint64_t>
- </simpleType>
- </attribute>
-
- <attribute>
- <description>Nvidia Link - NPU User Regs address
- MMIO consumed by PHYP
- </description>
- <id>NVIDIA_NPU_USER_REG_ADDR</id>
- <persistency>non-volatile</persistency>
- <readable></readable>
- <simpleType>
- <uint64_t></uint64_t>
- </simpleType>
- </attribute>
-
- <attribute>
- <description>Nvidia Link - Phy 0 Regs address
- MMIO consumed by PHYP
- </description>
- <id>NVIDIA_PHY0_REG_ADDR</id>
- <persistency>non-volatile</persistency>
- <readable></readable>
- <simpleType>
- <uint64_t></uint64_t>
- </simpleType>
- </attribute>
-
- <attribute>
- <description>Nvidia Link - Phy 1 Regs address
- MMIO consumed by PHYP
- </description>
- <id>NVIDIA_PHY1_REG_ADDR</id>
- <persistency>non-volatile</persistency>
- <readable></readable>
- <simpleType>
- <uint64_t></uint64_t>
- </simpleType>
- </attribute>
-
- <attribute>
<description>XIVE - Controller Bar address
MMIO consumed by PHYP
</description>
@@ -3951,16 +3880,6 @@
</attribute>
<attribute>
- <description>NX - RNG space - MMIO consumed by PHYP</description>
- <id>NX_RNG_ADDR</id>
- <persistency>non-volatile</persistency>
- <readable></readable>
- <simpleType>
- <uint64_t></uint64_t>
- </simpleType>
- </attribute>
-
- <attribute>
<description>
If not loading PHYP or OPAL, then use this to
decide whether to use FUSED cores or NOT.
diff --git a/src/usr/targeting/common/xmltohb/simics_CUMULUS.system.xml b/src/usr/targeting/common/xmltohb/simics_CUMULUS.system.xml
index 723c249f4..b3e52ad3d 100644
--- a/src/usr/targeting/common/xmltohb/simics_CUMULUS.system.xml
+++ b/src/usr/targeting/common/xmltohb/simics_CUMULUS.system.xml
@@ -5,7 +5,7 @@
<!-- -->
<!-- OpenPOWER HostBoot Project -->
<!-- -->
-<!-- Contributors Listed Below - COPYRIGHT 2016,2017 -->
+<!-- Contributors Listed Below - COPYRIGHT 2016,2018 -->
<!-- [+] International Business Machines Corp. -->
<!-- -->
<!-- -->
@@ -936,75 +936,18 @@
<id>L3_CACHE_SIZE</id>
<default>10240</default>
</attribute>
-
-
<attribute>
<id>MRU_ID</id>
<default>0x00010000</default>
</attribute>
-
-
-
-
-
-
-
-
- <attribute>
- <id>NVIDIA_NPU_PRIVILEGED_ADDR</id>
- <default>0x0006030200000000</default>
- </attribute>
- <attribute>
- <id>NVIDIA_NPU_USER_REG_ADDR</id>
- <default>0x0006030201000000</default>
- </attribute>
- <attribute>
- <id>NVIDIA_PHY0_REG_ADDR</id>
- <default>0x0006030201200000</default>
- </attribute>
- <attribute>
- <id>NVIDIA_PHY1_REG_ADDR</id>
- <default>0x0006030201400000</default>
- </attribute>
- <attribute>
- <id>NX_RNG_ADDR</id>
- <default>0x00060302031d0000</default>
- </attribute>
-
<attribute>
<id>ORDINAL_ID</id>
<default>0</default>
</attribute>
-
-
-
-
-
-
<attribute>
<id>PHYS_PATH</id>
<default>physical:sys-0/node-0/proc-0</default>
</attribute>
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
<attribute>
<id>POSITION</id>
<default>0</default>
@@ -1018,7 +961,6 @@
<field><id>supportsXscom</id><value>1</value></field>
</default>
</attribute>
-
<attribute>
<id>PROC_EFF_FABRIC_CHIP_ID</id>
<default>0</default>
@@ -1027,25 +969,10 @@
<id>PROC_EFF_FABRIC_GROUP_ID</id>
<default>0</default>
</attribute>
-
-
-
-
<attribute>
<id>PROC_MASTER_TYPE</id>
<default>ACTING_MASTER</default>
</attribute>
-
-
-
-
-
-
-
-
-
-
-
<attribute>
<id>PROC_R_DISTLOSS_VCS_UOHM</id>
<default>0x640</default>
@@ -1127,14 +1054,6 @@
<id>TYPE</id>
<default>PROC</default>
</attribute>
- <attribute>
- <id>VAS_HYPERVISOR_WINDOW_CONTEXT_ADDR</id>
- <default>0x0006013000000000</default>
- </attribute>
- <attribute>
- <id>VAS_USER_WINDOW_CONTEXT_ADDR</id>
- <default>0x0006013100000000</default>
- </attribute>
diff --git a/src/usr/targeting/common/xmltohb/simics_NIMBUS.system.xml b/src/usr/targeting/common/xmltohb/simics_NIMBUS.system.xml
index 2b20ab82a..b38ffa5bb 100644
--- a/src/usr/targeting/common/xmltohb/simics_NIMBUS.system.xml
+++ b/src/usr/targeting/common/xmltohb/simics_NIMBUS.system.xml
@@ -5,7 +5,7 @@
<!-- -->
<!-- OpenPOWER HostBoot Project -->
<!-- -->
-<!-- Contributors Listed Below - COPYRIGHT 2012,2017 -->
+<!-- Contributors Listed Below - COPYRIGHT 2012,2018 -->
<!-- [+] International Business Machines Corp. -->
<!-- -->
<!-- -->
@@ -5524,24 +5524,6 @@
<attribute><id>INTP_BASE_ADDR</id>
<default>0x0003FFFF80100000</default>
</attribute>
- <attribute><id>VAS_HYPERVISOR_WINDOW_CONTEXT_ADDR</id>
- <default>0x0006053000000000</default>
- </attribute>
- <attribute><id>VAS_USER_WINDOW_CONTEXT_ADDR</id>
- <default>0x0006053100000000</default>
- </attribute>
- <attribute><id>NVIDIA_NPU_PRIVILEGED_ADDR</id>
- <default>0x0006070200000000</default>
- </attribute>
- <attribute><id>NVIDIA_NPU_USER_REG_ADDR</id>
- <default>0x0006070201000000</default>
- </attribute>
- <attribute><id>NVIDIA_PHY0_REG_ADDR</id>
- <default>0x0006070201200000</default>
- </attribute>
- <attribute><id>NVIDIA_PHY1_REG_ADDR</id>
- <default>0x0006070201400000</default>
- </attribute>
<attribute><id>XIVE_CONTROLLER_BAR_ADDR</id>
<default>0x0006070201100000</default>
</attribute>
@@ -5551,9 +5533,6 @@
<!-- <attribute><id>PSI_HB_ESB_ADDR</id>
<default>0x00060702031C0000</default>
</attribute>-->
- <attribute><id>NX_RNG_ADDR</id>
- <default>0x00060702031D0000</default>
- </attribute>
<!-- End PHYP Memory Map -->
<!-- PM_ attributes -->
diff --git a/src/usr/targeting/common/xmltohb/target_types.xml b/src/usr/targeting/common/xmltohb/target_types.xml
index 9c8a243c4..15800bfa3 100644
--- a/src/usr/targeting/common/xmltohb/target_types.xml
+++ b/src/usr/targeting/common/xmltohb/target_types.xml
@@ -1079,24 +1079,6 @@
<id>IMT_BAR_SIZE</id>
</attribute>
<attribute>
- <id>VAS_HYPERVISOR_WINDOW_CONTEXT_ADDR</id>
- </attribute>
- <attribute>
- <id>VAS_USER_WINDOW_CONTEXT_ADDR</id>
- </attribute>
- <attribute>
- <id>NVIDIA_NPU_PRIVILEGED_ADDR</id>
- </attribute>
- <attribute>
- <id>NVIDIA_NPU_USER_REG_ADDR</id>
- </attribute>
- <attribute>
- <id>NVIDIA_PHY0_REG_ADDR</id>
- </attribute>
- <attribute>
- <id>NVIDIA_PHY1_REG_ADDR</id>
- </attribute>
- <attribute>
<id>XIVE_CONTROLLER_BAR_ADDR</id>
</attribute>
<attribute>
@@ -1106,9 +1088,6 @@
<id>XIVE_THREAD_MGMT1_BAR_ADDR</id>
</attribute>
<attribute>
- <id>NX_RNG_ADDR</id>
- </attribute>
- <attribute>
<id>XSCOM_BASE_ADDRESS</id>
</attribute>
<attribute>
diff --git a/src/usr/targeting/common/xmltohb/vbu_NIMBUS.system.xml b/src/usr/targeting/common/xmltohb/vbu_NIMBUS.system.xml
index 7d276479a..c46e00cf8 100644
--- a/src/usr/targeting/common/xmltohb/vbu_NIMBUS.system.xml
+++ b/src/usr/targeting/common/xmltohb/vbu_NIMBUS.system.xml
@@ -5,7 +5,7 @@
<!-- -->
<!-- OpenPOWER HostBoot Project -->
<!-- -->
-<!-- Contributors Listed Below - COPYRIGHT 2012,2017 -->
+<!-- Contributors Listed Below - COPYRIGHT 2012,2018 -->
<!-- [+] International Business Machines Corp. -->
<!-- -->
<!-- -->
@@ -5442,24 +5442,6 @@
<attribute><id>INTP_BASE_ADDR</id>
<default>0x0003FFFF80100000</default>
</attribute>
- <attribute><id>VAS_HYPERVISOR_WINDOW_CONTEXT_ADDR</id>
- <default>0x0006053000000000</default>
- </attribute>
- <attribute><id>VAS_USER_WINDOW_CONTEXT_ADDR</id>
- <default>0x0006053100000000</default>
- </attribute>
- <attribute><id>NVIDIA_NPU_PRIVILEGED_ADDR</id>
- <default>0x0006070200000000</default>
- </attribute>
- <attribute><id>NVIDIA_NPU_USER_REG_ADDR</id>
- <default>0x0006070201000000</default>
- </attribute>
- <attribute><id>NVIDIA_PHY0_REG_ADDR</id>
- <default>0x0006070201200000</default>
- </attribute>
- <attribute><id>NVIDIA_PHY1_REG_ADDR</id>
- <default>0x0006070201400000</default>
- </attribute>
<attribute><id>XIVE_CONTROLLER_BAR_ADDR</id>
<default>0x0006070201100000</default>
</attribute>
@@ -5469,9 +5451,6 @@
<!-- <attribute><id>PSI_HB_ESB_ADDR</id>
<default>0x00060702031C0000</default>
</attribute>-->
- <attribute><id>NX_RNG_ADDR</id>
- <default>0x00060702031D0000</default>
- </attribute>
<attribute><id>XSCOM_BASE_ADDRESS</id>
<default>0x000607FC00000000</default>
</attribute>
OpenPOWER on IntegriCloud