diff options
author | Nick Bofferding <bofferdn@us.ibm.com> | 2013-05-14 23:44:22 -0500 |
---|---|---|
committer | A. Patrick Williams III <iawillia@us.ibm.com> | 2013-05-15 13:08:36 -0500 |
commit | 8f088b7f48bf03d833a38b6a95f5cfa7381f7d43 (patch) | |
tree | a036dfd8859e4b5b2ec09918ba7360676069f736 /src/usr/targeting/common | |
parent | 722ff9bff1f0d7830ef166822e32500accc421f9 (diff) | |
download | talos-hostboot-8f088b7f48bf03d833a38b6a95f5cfa7381f7d43.tar.gz talos-hostboot-8f088b7f48bf03d833a38b6a95f5cfa7381f7d43.zip |
Do not consider endpoints behind PCIE switches for PCIE config
- Removed endpoints from behind PCIE switches from PCIE config
Change-Id: I401e2f525d3af90d1d3f287c3e1a1a2081a1291c
CQ: SW203959
Reviewed-on: http://gfw160.austin.ibm.com:8080/gerrit/4507
Tested-by: A. Patrick Williams III <iawillia@us.ibm.com>
Reviewed-by: A. Patrick Williams III <iawillia@us.ibm.com>
Diffstat (limited to 'src/usr/targeting/common')
-rwxr-xr-x | src/usr/targeting/common/genHwsvMrwXml.pl | 139 |
1 files changed, 73 insertions, 66 deletions
diff --git a/src/usr/targeting/common/genHwsvMrwXml.pl b/src/usr/targeting/common/genHwsvMrwXml.pl index 104cbec38..975db7317 100755 --- a/src/usr/targeting/common/genHwsvMrwXml.pl +++ b/src/usr/targeting/common/genHwsvMrwXml.pl @@ -422,91 +422,98 @@ our %pcie_list; foreach my $pcie_bus (@{$pcie_buses->{'pcie-bus'}}) { - foreach my $lane_set (0,1) + if(!exists($pcie_bus->{'switch'})) { - $pcie_list{$pcie_bus->{source}->{'instance-path'}}->{$pcie_bus-> - {source}->{iop}}->{$lane_set}-> - {'lane-mask'} = 0; - $pcie_list{$pcie_bus->{source}->{'instance-path'}}->{$pcie_bus-> - {source}->{iop}}->{$lane_set}-> - {'dsmp-capable'} = 0; - $pcie_list{$pcie_bus->{source}->{'instance-path'}}->{$pcie_bus-> - {source}->{iop}}->{$lane_set}-> - {'lane-swap'} = 0; - $pcie_list{$pcie_bus->{source}->{'instance-path'}}->{$pcie_bus-> - {source}->{iop}}->{$lane_set}-> - {'lane-reversal'} = 0; - $pcie_list{$pcie_bus->{source}->{'instance-path'}}->{$pcie_bus-> - {source}->{iop}}->{$lane_set}-> - {'is-slot'} = 0; + foreach my $lane_set (0,1) + { + $pcie_list{$pcie_bus->{source}->{'instance-path'}}->{$pcie_bus-> + {source}->{iop}}->{$lane_set}-> + {'lane-mask'} = 0; + $pcie_list{$pcie_bus->{source}->{'instance-path'}}->{$pcie_bus-> + {source}->{iop}}->{$lane_set}-> + {'dsmp-capable'} = 0; + $pcie_list{$pcie_bus->{source}->{'instance-path'}}->{$pcie_bus-> + {source}->{iop}}->{$lane_set}-> + {'lane-swap'} = 0; + $pcie_list{$pcie_bus->{source}->{'instance-path'}}->{$pcie_bus-> + {source}->{iop}}->{$lane_set}-> + {'lane-reversal'} = 0; + $pcie_list{$pcie_bus->{source}->{'instance-path'}}->{$pcie_bus-> + {source}->{iop}}->{$lane_set}-> + {'is-slot'} = 0; + } } } foreach my $pcie_bus (@{$pcie_buses->{'pcie-bus'}}) { - - my $dsmp_capable = 0; - my $is_slot = 0; - if((exists($pcie_bus->{source}->{'dsmp-capable'}))&& - ($pcie_bus->{source}->{'dsmp-capable'} eq 'Yes')) - { - - $dsmp_capable = 1; - } - - if((exists($pcie_bus->{endpoint}->{'is-slot'}))&& - ($pcie_bus->{endpoint}->{'is-slot'} eq 'Yes')) - { - - $is_slot = 1; - } - my $lane_set = 0; - if(($pcie_bus->{source}->{'lane-mask'} eq '0xFFFF')|| - ($pcie_bus->{source}->{'lane-mask'} eq '0xFF00')) - { - $lane_set = 0; - } - else + if(!exists($pcie_bus->{'switch'})) { - if($pcie_bus->{source}->{'lane-mask'} eq '0x00FF') + my $dsmp_capable = 0; + my $is_slot = 0; + if((exists($pcie_bus->{source}->{'dsmp-capable'}))&& + ($pcie_bus->{source}->{'dsmp-capable'} eq 'Yes')) { - $lane_set = 1; + + $dsmp_capable = 1; } - + + if((exists($pcie_bus->{endpoint}->{'is-slot'}))&& + ($pcie_bus->{endpoint}->{'is-slot'} eq 'Yes')) + { + + $is_slot = 1; + } + my $lane_set = 0; + if(($pcie_bus->{source}->{'lane-mask'} eq '0xFFFF')|| + ($pcie_bus->{source}->{'lane-mask'} eq '0xFF00')) + { + $lane_set = 0; + } + else + { + if($pcie_bus->{source}->{'lane-mask'} eq '0x00FF') + { + $lane_set = 1; + } + + } + $pcie_list{$pcie_bus->{source}->{'instance-path'}}-> + {$pcie_bus->{source}->{iop}}->{$lane_set}->{'lane-mask'} + = $pcie_bus->{source}->{'lane-mask'}; + $pcie_list{$pcie_bus->{source}->{'instance-path'}}-> + {$pcie_bus->{source}->{iop}}->{$lane_set}->{'dsmp-capable'} + = $dsmp_capable; + $pcie_list{$pcie_bus->{source}->{'instance-path'}}-> + {$pcie_bus->{source}->{iop}}->{$lane_set}->{'lane-swap'} + = oct($pcie_bus->{source}->{'lane-swap-bits'}); + $pcie_list{$pcie_bus->{source}->{'instance-path'}}-> + {$pcie_bus->{source}->{iop}}->{$lane_set}->{'lane-reversal'} + = oct($pcie_bus->{source}->{'lane-reversal-bits'}); + $pcie_list{$pcie_bus->{source}->{'instance-path'}}-> + {$pcie_bus->{source}->{iop}}->{$lane_set}->{'is-slot'} = $is_slot; } - $pcie_list{$pcie_bus->{source}->{'instance-path'}}->{$pcie_bus->{source}-> - {iop}}->{$lane_set}->{'lane-mask'} = $pcie_bus->{source}->{'lane-mask'}; - $pcie_list{$pcie_bus->{source}->{'instance-path'}}->{$pcie_bus->{source}-> - {iop}}->{$lane_set}->{'dsmp-capable'} = $dsmp_capable; - $pcie_list{$pcie_bus->{source}->{'instance-path'}}->{$pcie_bus->{source}-> - {iop}}->{$lane_set}->{'lane-swap'} = oct($pcie_bus->{source}-> - {'lane-swap-bits'}); - $pcie_list{$pcie_bus->{source}->{'instance-path'}}->{$pcie_bus->{source}-> - {iop}}->{$lane_set}->{'lane-reversal'} = oct($pcie_bus->{source}-> - {'lane-reversal-bits'}); - $pcie_list{$pcie_bus->{source}->{'instance-path'}}->{$pcie_bus->{source}-> - {iop}}->{$lane_set}->{'is-slot'} = $is_slot; - } our %bifurcation_list; foreach my $pcie_bus (@{$pcie_buses->{'pcie-bus'}}) { - foreach my $lane_set (0,1) + if(!exists($pcie_bus->{'switch'})) { - $bifurcation_list{$pcie_bus->{source}->{'instance-path'}}->{$pcie_bus-> - {source}->{iop}}->{$lane_set}->{'lane-mask'}= 0; - $bifurcation_list{$pcie_bus->{source}->{'instance-path'}}->{$pcie_bus-> - {source}->{iop}}->{$lane_set}->{'lane-swap'}= 0; - $bifurcation_list{$pcie_bus->{source}->{'instance-path'}}->{$pcie_bus-> - {source}->{iop}}->{$lane_set}->{'lane-reversal'}= 0; + foreach my $lane_set (0,1) + { + $bifurcation_list{$pcie_bus->{source}->{'instance-path'}}-> + {$pcie_bus->{source}->{iop}}->{$lane_set}->{'lane-mask'}= 0; + $bifurcation_list{$pcie_bus->{source}->{'instance-path'}}-> + {$pcie_bus->{source}->{iop}}->{$lane_set}->{'lane-swap'}= 0; + $bifurcation_list{$pcie_bus->{source}->{'instance-path'}}-> + {$pcie_bus->{source}->{iop}}->{$lane_set}->{'lane-reversal'}= 0; + } } - - } foreach my $pcie_bus (@{$pcie_buses->{'pcie-bus'}}) { - - if( exists($pcie_bus->{source}->{'bifurcation-settings'})) + if( (!exists($pcie_bus->{'switch'})) + && (exists($pcie_bus->{source}->{'bifurcation-settings'}))) { my $bi_cnt = 0; foreach my $bifurc (@{$pcie_bus->{source}->{'bifurcation-settings'}-> |