Merge pull request #674 from op-jenkins/op_update_137_10-5-2016
op-build update 10-5-2016
diff --git a/openpower/package/hostboot/hostboot.mk b/openpower/package/hostboot/hostboot.mk
index f22a3b1..cdff8ec 100644
--- a/openpower/package/hostboot/hostboot.mk
+++ b/openpower/package/hostboot/hostboot.mk
@@ -3,7 +3,7 @@
# hostboot
#
################################################################################
-HOSTBOOT_VERSION_BRANCH_MASTER_P8 ?= 19ef62a252501bca496ca39bfa11ee1d64ba1764
+HOSTBOOT_VERSION_BRANCH_MASTER_P8 ?= ce7726488f4e4767c3669fbbf17f0fd9a8846c92
HOSTBOOT_VERSION_BRANCH_MASTER ?= 6ac254a49dc82a8c3007adb0d47c9feea75672b0
HOSTBOOT_VERSION ?= $(if $(BR2_OPENPOWER_POWER9),$(HOSTBOOT_VERSION_BRANCH_MASTER),$(HOSTBOOT_VERSION_BRANCH_MASTER_P8))
diff --git a/openpower/package/hostboot/p9Patches/hostboot-0004-target-pm-serverwiz1-and-2.patch b/openpower/package/hostboot/p9Patches/hostboot-0004-target-pm-serverwiz1-and-2.patch
deleted file mode 100644
index 0a15fc7..0000000
--- a/openpower/package/hostboot/p9Patches/hostboot-0004-target-pm-serverwiz1-and-2.patch
+++ /dev/null
@@ -1,308 +0,0 @@
-From 7afb20f3484eb118855d2033e7308cfc4a07fae3 Mon Sep 17 00:00:00 2001
-From: Norm James <njames@us.ibm.com>
-Date: Mon, 12 Sep 2016 18:47:13 -0700
-Subject: [PATCH] Add ability to read old and new Serverwiz xml outputs.
-
-The new Serverwiz format added outer tags for performance
-reasons. It also added attribute groups for accessing
-like attributes with one API call.
-
-Change-Id: I6b6c6de8defbc5c0f0c8c7d191836e69ac7bfc98
----
- src/usr/targeting/common/Targets.pm | 157 +++++++++++++++++++++++++++++-------
- 1 file changed, 126 insertions(+), 31 deletions(-)
-
-diff --git a/src/usr/targeting/common/Targets.pm b/src/usr/targeting/common/Targets.pm
-index 096db10..35f0842 100644
---- a/src/usr/targeting/common/Targets.pm
-+++ b/src/usr/targeting/common/Targets.pm
-@@ -26,6 +26,7 @@ package Targets;
-
- use strict;
- use XML::Simple;
-+use XML::Parser;
- use Data::Dumper;
-
- sub new
-@@ -43,9 +44,10 @@ sub new
- force => 0,
- debug => 0,
- version => "",
-+ xml_version => 0,
- errorsExist => 0,
- NUM_PROCS => 0,
-- TOP_LEVEL => "sys-0",
-+ TOP_LEVEL => "",
- TOPOLOGY => undef,
- report_log => "",
- vpd_num => 0,
-@@ -87,9 +89,16 @@ sub loadXML
- print "Loading MRW XML: $filename\n";
- $self->{xml} =
- XMLin($filename,forcearray => [ 'child_id', 'hidden_child_id', 'bus',
-- 'property' ]);
-+ 'property', 'field', 'attribute' ]);
-+
-+ if (defined($self->{xml}->{'enumerationTypes'}))
-+ {
-+ $self->{xml_version} = 1;
-+ }
-+
- $self->storeEnumerations();
-- $self->buildHierarchy($self->{TOP_LEVEL});
-+ $self->storeGroups();
-+ $self->buildHierarchy();
- $self->buildAffinity();
- $self->{report_filename}=$filename.".rpt";
- $self->{report_filename}=~s/\.xml//g;
-@@ -230,15 +239,31 @@ sub printAttribute
- sub storeEnumerations
- {
- my $self = shift;
--
-- foreach my $enumType (keys(%{ $self->{xml}->{enumerationType} }))
-+ my $baseptr = $self->{xml}->{enumerationType};
-+ if ($self->{xml_version} == 1)
-+ {
-+ $baseptr = $self->{xml}->{enumerationTypes}->{enumerationType};
-+ }
-+ foreach my $enumType (keys(%{ $baseptr }))
- {
- foreach my $enum (
-- keys(%{$self->{xml}->{enumerationType}->{$enumType}->{enumerator}}))
-+ keys(%{$baseptr->{$enumType}->{enumerator}}))
- {
- $self->{enumeration}->{$enumType}->{$enum} =
-- $self->{xml}->{enumerationType}->{$enumType}->{enumerator}
-- ->{$enum}->{value};
-+ $baseptr->{$enumType}->{enumerator}->{$enum}->{value};
-+ }
-+ }
-+}
-+sub storeGroups
-+{
-+ my $self = shift;
-+ foreach my $grp (keys(%{ $self->{xml}->{attributeGroups}
-+ ->{attributeGroup} }))
-+ {
-+ foreach my $attr (@{$self->{xml}->{attributeGroups}
-+ ->{attributeGroup}->{$grp}->{'attribute'}})
-+ {
-+ $self->{groups}->{$grp}->{$attr} = 1;
- }
- }
- }
-@@ -277,13 +302,45 @@ sub buildHierarchy
- my $self = shift;
- my $target = shift;
-
-- my $old_path = $self->{data}->{INSTANCE_PATH};
-- my $target_xml = $self->{xml}->{'targetInstance'}{$target};
-+ my $instance_path = $self->{data}->{INSTANCE_PATH};
-+ if (!defined $instance_path)
-+ {
-+ $instance_path = "";
-+ }
-+ my $baseptr = $self->{xml}->{'targetInstance'};
-+ if ($self->{xml_version} == 1)
-+ {
-+ $baseptr = $self->{xml}->{'targetInstances'}->{'targetInstance'};
-+ }
-+ if ($target eq "")
-+ {
-+ ## find system target
-+ foreach my $t (keys(%{$baseptr}))
-+ {
-+ if ($baseptr->{$t}->{attribute}->{TYPE}->{default} eq "SYS")
-+ {
-+ $self->{TOP_LEVEL} = $t;
-+ $target = $t;
-+ }
-+ }
-+ }
-+ if ($target eq "")
-+ {
-+ die "Unable to find system top level target\n";
-+ }
-+ my $old_path = $instance_path;
-+ my $target_xml = $baseptr->{$target};
- my $affinity_target = $target;
-- my $key = $self->{data}->{INSTANCE_PATH} . "/" . $target;
-+ my $key = $instance_path . "/" . $target;
-
-- my $instance_path = $self->{data}->{INSTANCE_PATH};
-- $instance_path = "instance:" . substr($instance_path, 1);
-+ if ($instance_path ne "")
-+ {
-+ $instance_path = "instance:" . substr($instance_path, 1);
-+ }
-+ else
-+ {
-+ $instance_path = "instance:";
-+ }
- $self->setAttribute($key, "INSTANCE_PATH", $instance_path);
- $self->{data}->{TARGETS}->{$key}->{TARGET} = $target_xml;
- $self->{data}->{INSTANCE_PATH} = $old_path . "/" . $target;
-@@ -321,9 +378,15 @@ sub buildHierarchy
- }
- }
- ## global attributes overwrite local
-- foreach my $prop (keys %{$self->{xml}->{globalSetting}->{$key}->{property}})
-+ my $settingptr = $self->{xml}->{globalSetting};
-+ if ($self->{xml_version} == 1)
- {
-- my $val=$self->{xml}->{globalSetting}->{$key}->{property}->
-+ $settingptr = $self->{xml}->{globalSettings}->{globalSetting};
-+ }
-+
-+ foreach my $prop (keys %{$settingptr->{$key}->{property}})
-+ {
-+ my $val=$settingptr->{$key}->{property}->
- {$prop}->{value};
- $self->setAttribute($key, $prop, $val);
- }
-@@ -413,8 +476,10 @@ sub buildAffinity
- $node = -1;
-
- $self->{targeting}{SYS}[0]{KEY} = $target;
-- $self->setAttribute($target, "AFFINITY_PATH", "affinity:sys-0");
-- $self->setAttribute($target, "PHYS_PATH", "physical:sys-0");
-+ $self->setAttribute($target, "AFFINITY_PATH",
-+ "affinity:".$self->{TOP_LEVEL});
-+ $self->setAttribute($target, "PHYS_PATH",
-+ "physical:".$self->{TOP_LEVEL});
- $self->setAttribute($target, "ENTITY_INSTANCE","0");
- }
- elsif ($type eq "NODE")
-@@ -424,13 +489,13 @@ sub buildAffinity
- $self->{dimm_tpos} = 0;
- $self->{membuf_inst_num}=0;
- $node++;
-- $node_phys = "physical:sys-0/node-$node";
-- $node_aff = "affinity:sys-0/node-$node";
-+ $node_phys = "physical:".$self->{TOP_LEVEL}."/node-$node";
-+ $node_aff = "affinity:".$self->{TOP_LEVEL}."/node-$node";
- $self->{targeting}{SYS}[0]{NODES}[$node]{KEY} = $target;
- $self->setAttribute($target, "AFFINITY_PATH",
-- "affinity:sys-0/node-$node");
-+ "affinity:".$self->{TOP_LEVEL}."/node-$node");
- $self->setAttribute($target, "PHYS_PATH",
-- "physical:sys-0/node-$node");
-+ "physical:".$self->{TOP_LEVEL}."/node-$node");
- $self->setHuid($target, 0, $node);
- $self->setAttribute($target, "ENTITY_INSTANCE",$node);
- }
-@@ -439,9 +504,11 @@ sub buildAffinity
- $tpm++;
- $self->{targeting}{SYS}[0]{NODES}[$node]{TPMS}[$tpm]{KEY} = $target;
- $self->setAttribute($target, "AFFINITY_PATH",
-- "affinity:sys-0/node-$node/tpm-$tpm");
-+ "affinity:".$self->{TOP_LEVEL}.
-+ "/node-$node/tpm-$tpm");
- $self->setAttribute($target, "PHYS_PATH",
-- "physical:sys-0/node-$node/tpm-$tpm");
-+ "physical:".$self->{TOP_LEVEL}.
-+ "/node-$node/tpm-$tpm");
- $self->setHuid($target, 0, $tpm);
- $self->setAttribute($target, "ENTITY_INSTANCE",$tpm);
- }
-@@ -469,8 +536,10 @@ sub buildAffinity
- $self->setHuid($target, 0, $node);
- my $socket = $self->getTargetParent(
- $self->getTargetParent($target));
-- my $parent_affinity = "affinity:sys-0/node-$node/proc-$proc";
-- my $parent_physical = "physical:sys-0/node-$node/proc-$proc";
-+ my $parent_affinity = "affinity:".$self->{TOP_LEVEL}
-+ ."/node-$node/proc-$proc";
-+ my $parent_physical = "physical:".$self->{TOP_LEVEL}
-+ ."/node-$node/proc-$proc";
- $self->setAttribute($target, "AFFINITY_PATH", $parent_affinity);
- $self->setAttribute($target, "PHYS_PATH", $parent_physical);
- $self->setAttribute($target, "POSITION", $proc);
-@@ -619,8 +688,6 @@ sub processMcs
- $self->setFsiAttributes($membuf,"FSICM",0,$proc_path,$fsi_port,0);
- $self->setAttribute($unit, "DMI_REFCLOCK_SWIZZLE",$fsi_port);
- my $dmi_swizzle =
-- $dmi_bus->{bus_attribute}->{DMI_REFCLOCK_SWIZZLE}->{default};
-- my $dmi_swizzle =
- $self->getBusAttribute($unit,0,"DMI_REFCLOCK_SWIZZLE");
- if ($dmi_swizzle ne "")
- {
-@@ -974,7 +1041,8 @@ sub isBadAttribute
- {
- return 1;
- }
-- if ($target_ptr->{ATTRIBUTES}->{$attribute}->{default} eq $badvalue)
-+ if (defined $badvalue &&
-+ $target_ptr->{ATTRIBUTES}->{$attribute}->{default} eq $badvalue)
- {
- return 1;
- }
-@@ -1029,7 +1097,6 @@ sub getAttribute
- printf("ERROR: getAttribute(%s,%s) | Attribute not defined\n",
- $target, $attribute);
-
-- #print Dumper($target_ptr);
- $self->myExit(4);
- }
- if (ref($target_ptr->{ATTRIBUTES}->{$attribute}->{default}) eq "HASH")
-@@ -1038,6 +1105,30 @@ sub getAttribute
- }
- return $target_ptr->{ATTRIBUTES}->{$attribute}->{default};
- }
-+
-+sub getAttributeGroup
-+{
-+ my $self = shift;
-+ my $target = shift;
-+ my $group = shift;
-+ my $target_ptr = $self->getTarget($target);
-+ if (!defined($self->{groups}->{$group})) {
-+ printf("ERROR: getAttributeGroup(%s,%s) | Group not defined\n",
-+ $target, $group);
-+ $self->myExit(4);
-+ }
-+ my %attr;
-+ foreach my $attribute (keys(%{$self->{groups}->{$group}}))
-+ {
-+ if (defined($target_ptr->{ATTRIBUTES}->{$attribute}->{default}))
-+ {
-+ $attr{$attribute} = $target_ptr->{ATTRIBUTES}->{$attribute};
-+ }
-+ }
-+ return \%attr;
-+}
-+
-+
- ## renames a target attribute
- sub renameAttribute
- {
-@@ -1141,6 +1232,8 @@ sub getBusAttribute
- return $target_ptr->{CONNECTION}->{BUS}->[$busnum]->{bus_attribute}->{$attr}
- ->{default};
- }
-+
-+
- ## returns a pointer to an array of children target names
- sub getTargetChildren
- {
-@@ -1216,7 +1309,10 @@ sub setMruid
-
- my $type = $self->getType($target);
- my $mru_prefix_id = $self->{enumeration}->{MRU_PREFIX}->{$type};
-- if ($mru_prefix_id eq "") { $mru_prefix_id = "0xFFFF"; }
-+ if (!defined $mru_prefix_id || $mru_prefix_id eq "")
-+ {
-+ $mru_prefix_id = "0xFFFF";
-+ }
- if ($mru_prefix_id eq "0xFFFF") { return; }
- my $index = 0;
- if (defined($self->{mru_idx}->{$node}->{$type}))
-@@ -1486,4 +1582,3 @@ Prints to stdout log message is debug mode is turned on.
- Norman James <njames@us.ibm.com>
-
- =cut
--
---
-1.8.2.2
-