diff options
author | Prachi Gupta <pragupta@us.ibm.com> | 2018-01-22 14:55:12 -0600 |
---|---|---|
committer | Daniel M. Crowell <dcrowell@us.ibm.com> | 2018-01-24 20:49:48 -0500 |
commit | bb004ba55073aaa8bc216730b29d51925efeb099 (patch) | |
tree | ce9cfa050ef81c23e06ab9ef19c60e47b90f7d0d /src/usr/targeting | |
parent | 43011596290021b04ab058d116730cbac2cbe1ac (diff) | |
download | talos-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-x | src/usr/targeting/common/genHwsvMrwXml.pl | 47 | ||||
-rwxr-xr-x | src/usr/targeting/common/processMrw.pl | 86 | ||||
-rwxr-xr-x | src/usr/targeting/common/xmltohb/attribute_types.xml | 83 | ||||
-rw-r--r-- | src/usr/targeting/common/xmltohb/simics_CUMULUS.system.xml | 83 | ||||
-rw-r--r-- | src/usr/targeting/common/xmltohb/simics_NIMBUS.system.xml | 23 | ||||
-rw-r--r-- | src/usr/targeting/common/xmltohb/target_types.xml | 21 | ||||
-rw-r--r-- | src/usr/targeting/common/xmltohb/vbu_NIMBUS.system.xml | 23 |
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> |