op-build update 1-6-2017
diff --git a/openpower/package/garrison-xml/garrison.mk b/openpower/package/garrison-xml/garrison.mk
index 5bf8d98..9519ea3 100644
--- a/openpower/package/garrison-xml/garrison.mk
+++ b/openpower/package/garrison-xml/garrison.mk
@@ -4,7 +4,7 @@
 #
 ################################################################################
 
-GARRISON_XML_VERSION ?= b7c3acd195e9fd3e2cc1dcd41d473b1350cd92c2
+GARRISON_XML_VERSION ?= d82ee4179a13219bd230f700a6cf0b200d213ecf
 GARRISON_XML_SITE ?= $(call github,open-power,garrison-xml,$(GARRISON_XML_VERSION))
 
 GARRISON_XML_LICENSE = Apache-2.0
diff --git a/openpower/package/hostboot/hostboot.mk b/openpower/package/hostboot/hostboot.mk
index 161009a..0dab44c 100644
--- a/openpower/package/hostboot/hostboot.mk
+++ b/openpower/package/hostboot/hostboot.mk
@@ -4,7 +4,7 @@
 #
 ################################################################################
 HOSTBOOT_VERSION_BRANCH_MASTER_P8 ?= e28b28fa9995ab3039b44f2c200fdbbc58313677
-HOSTBOOT_VERSION_BRANCH_MASTER ?= abc4a878dc90b34f48ec66554776717490fd2efb
+HOSTBOOT_VERSION_BRANCH_MASTER ?= fdef37827ef440d4821298b2b7923387530b9b26
 
 HOSTBOOT_VERSION ?= $(if $(BR2_OPENPOWER_POWER9),$(HOSTBOOT_VERSION_BRANCH_MASTER),$(HOSTBOOT_VERSION_BRANCH_MASTER_P8))
 HOSTBOOT_SITE ?= $(call github,open-power,hostboot,$(HOSTBOOT_VERSION))
diff --git a/openpower/package/hostboot/p9Patches/hostboot-0003-processMrw-fixes-to-work-with-latest-witherspoon.xml.patch b/openpower/package/hostboot/p9Patches/hostboot-0003-processMrw-fixes-to-work-with-latest-witherspoon.xml.patch
deleted file mode 100644
index ee27fc8..0000000
--- a/openpower/package/hostboot/p9Patches/hostboot-0003-processMrw-fixes-to-work-with-latest-witherspoon.xml.patch
+++ /dev/null
@@ -1,377 +0,0 @@
-From 06f2d36f5e7b7f48d85f93da974816d5b25dfaf1 Mon Sep 17 00:00:00 2001
-From: Prachi Gupta <pragupta@us.ibm.com>
-Date: Tue, 29 Nov 2016 09:46:43 -0600
-Subject: [PATCH 1/4] processMrw: fixes to work with latest witherspoon.xml
-
-- Fix logic to find lpc bus under the bmc target
-- Updated I2C_BUS_SPEED_ARRAY to be 4x4
-- Fixed XBUS HUID
-- Update all BAR attributes
-
-Change-Id: I82dcf21e28f77bcd1fb2391a5bd40d8ce1a6b172
----
- src/usr/targeting/common/Targets.pm                | 81 +++++++++++++++++++--
- src/usr/targeting/common/processMrw.pl             | 83 ++++++++++++----------
- .../targeting/common/xmltohb/attribute_types.xml   |  2 +-
- .../targeting/common/xmltohb/target_types_hb.xml   |  4 +-
- 4 files changed, 123 insertions(+), 47 deletions(-)
-
-diff --git a/src/usr/targeting/common/Targets.pm b/src/usr/targeting/common/Targets.pm
-index fc18675..42780dd 100644
---- a/src/usr/targeting/common/Targets.pm
-+++ b/src/usr/targeting/common/Targets.pm
-@@ -123,7 +123,8 @@ sub loadXML
-     print "Loading MRW XML: $filename\n";
-     $self->{xml} =
-       XMLin($filename,forcearray => [ 'child_id', 'hidden_child_id', 'bus',
--                                      'property', 'field', 'attribute' ]);
-+                                      'property', 'field', 'attribute',
-+                                      'enumerator' ]);
- 
-     if (defined($self->{xml}->{'enumerationTypes'}))
-     {
-@@ -462,7 +463,6 @@ sub buildHierarchy
-     {
-         $baseptr = $self->{xml}->{'targetInstances'}->{'targetInstance'};
-     }
--
-     if ($target eq "")
-     {
-         ## find system target
-@@ -816,7 +816,11 @@ sub setCommonAttrForChiplet
- 
-     my $fapi_name       = getFapiName($tgt_type, $node, $proc, $pos);
- 
--    $self->{huid_idx}->{$tgt_type} = $pos;
-+    if ($tgt_type ne "XBUS")
-+    {
-+       $self->{huid_idx}->{$tgt_type} = $pos;
-+    }
-+
-     $self->setHuid($target, $sys, $node);
-     $self->setAttribute($target, "FAPI_NAME",       $fapi_name);
-     $self->setAttribute($target, "PHYS_PATH",       $physical_path);
-@@ -1332,16 +1336,16 @@ sub findConnections
-     my $target   = shift;
-     my $bus_type = shift;
-     my $end_type = shift;
-+
-     my %connections;
-     my $num=0;
-     my $target_children = $self->getTargetChildren($target);
--
-     if ($target_children eq "")
-     {
-         return "";
-     }
- 
--    foreach my $child (@{ $self->getTargetChildren($target) })
-+    foreach my $child ($self->getAllTargetChildren($target))
-     {
-         my $child_bus_type = $self->getBusType($child);
-         if ($child_bus_type eq $bus_type)
-@@ -1353,7 +1357,6 @@ sub findConnections
-                 my $type        = $self->getMrwType($dest_parent);
-                 my $dest_type   = $self->getType($dest_parent);
-                 my $dest_class  = $self->getAttribute($dest_parent,"CLASS");
--
-                 if ($type eq "NA")
-                 {
-                     $type = $dest_type;
-@@ -1361,6 +1364,29 @@ sub findConnections
-                 if ($type eq "NA") {
-                     $type = $dest_class;
-                 }
-+
-+                if ($end_type ne "") {
-+                    #Look for an end_type match on any ancestor, as
-+                    #connections may have a destination unit with a hierarchy
-+                    #like unit->pingroup->muxgroup->chip where the chip has
-+                    #the interesting type.
-+                    while ($type ne $end_type) {
-+
-+                        $dest_parent = $self->getTargetParent($dest_parent);
-+                        if ($dest_parent eq "") {
-+                            last;
-+                        }
-+
-+                        $type = $self->getMrwType($dest_parent);
-+                        if ($type eq "NA") {
-+                            $type = $self->getType($dest_parent);
-+                        }
-+                        if ($type eq "NA") {
-+                            $type = $self->getAttribute($dest_parent, "CLASS");
-+                        }
-+                    }
-+                }
-+
-                 if ($type eq $end_type || $end_type eq "")
-                 {
-                     $connections{CONN}[$num]{SOURCE}=$child;
-@@ -1554,6 +1580,22 @@ sub renameAttribute
-     return 0;
- }
- 
-+## remove an attribute from a target
-+sub removeAttribute
-+{
-+    my $self = shift;
-+    my $target = shift;
-+    my $attribute = shift;
-+
-+    my $target_ptr = $self->{data}->{TARGETS}->{$target};
-+    if (!defined($target_ptr->{ATTRIBUTES}->{$attribute}))
-+    {
-+        return 1;
-+    }
-+    delete($target_ptr->{ATTRIBUTES}->{$attribute});
-+    $self->log($target, "Removing attribute: $attribute");
-+}
-+
- ## copy an attribute between targets
- sub copyAttribute
- {
-@@ -1589,7 +1631,6 @@ sub setAttributeField
-     my $value     = shift;
-     $self->{data}->{TARGETS}->{$target}->{ATTRIBUTES}->{$attribute}->{default}
-       ->{field}->{$field}->{value} = $value;
--
-     $self->log($target, "Setting Attribute: $attribute ($field) =$value");
- }
- ## returns complex attribute value
-@@ -1652,6 +1693,27 @@ sub getTargetChildren
-     return $target_ptr->{CHILDREN};
- }
- 
-+## returns an array of all child (including grandchildren) target names
-+sub getAllTargetChildren
-+{
-+    my $self   = shift;
-+    my $target = shift;
-+    my @children;
-+
-+    my $targets = $self->getTargetChildren($target);
-+    if ($targets ne "")
-+    {
-+        for my $child (@$targets)
-+        {
-+            push @children, $child;
-+            my @more = $self->getAllTargetChildren($child);
-+            push @children, @more;
-+        }
-+    }
-+
-+    return @children;
-+}
-+
- sub getEnumValue
- {
-     my $self     = shift;
-@@ -1964,6 +2026,11 @@ C<INDEX>.
- Returns an array of target strings representing all the children of target
- C<TARGET_STRING>.
- 
-+=item getAllTargetChildren(C<TARGET_STRING>)
-+
-+Returns an array of target strings representing all the children of target
-+C<TARGET_STRING>, including grandchildren and below as well.
-+
- =item getEnumValue(C<ENUM_TYPE>,C<ENUM_NAME>)
- 
- Returns the enum value of type C<ENUM_TYPE> and name C<ENUM_NAME>.  The
-diff --git a/src/usr/targeting/common/processMrw.pl b/src/usr/targeting/common/processMrw.pl
-index f898500..312582d 100644
---- a/src/usr/targeting/common/processMrw.pl
-+++ b/src/usr/targeting/common/processMrw.pl
-@@ -112,7 +112,7 @@ foreach my $target (sort keys %{ $targetObj->getAllTargets() })
-         processApss($targetObj, $target);
-     }
- 
--    processIpmiSensors($targetObj,$target);
-+    #processIpmiSensors($targetObj,$target);
- }
- 
- ## check topology
-@@ -427,16 +427,6 @@ sub processProcessor
-        $targetObj->getTargetParent($target);
-     $targetObj->copyAttribute($module_target,$target,"LOCATION_CODE");
- 
--    ## Copy all attributes from module
--    foreach my $attr (sort (keys
--           %{ $targetObj->getTarget($module_target)->{TARGET}->{attribute} }))
--    {
--        if (($attr ne "TYPE") && ($attr ne "PHYS_PATH"))
--        {
--            $targetObj->copyAttribute($module_target,$target,$attr);
--        }
--    }
--
-     ## Copy PCIE attributes from socket
-     ## Copy Position attribute from socket
-     foreach my $attr (sort (keys
-@@ -453,7 +443,7 @@ sub processProcessor
-     }
- 
-     $targetObj->log($target,"Finding master proc");
--    my $lpcs=$targetObj->findConnections($target,"LPC","FSP");
-+    my $lpcs=$targetObj->findConnections($target,"LPC","BMC");
-     if ($lpcs ne "")
-     {
-        $targetObj->log ($target, "Setting master proc to $target");
-@@ -522,9 +512,9 @@ sub processProcessor
-     {
-         $targetObj->setAttributeField($target, "FSI_OPTION_FLAGS", "reserved",
-             "0");
--        $targetObj->setAttribute($target, "FSI_MASTER_CHIP",    "physical:sys");
-+        $targetObj->setAttribute($target, "FSI_MASTER_CHIP",    "physical:sys-0");
-         $targetObj->setAttribute($target, "FSI_MASTER_PORT",    "0xFF");
--        $targetObj->setAttribute($target, "ALTFSI_MASTER_CHIP", "physical:sys");
-+        $targetObj->setAttribute($target, "ALTFSI_MASTER_CHIP", "physical:sys-0");
-         $targetObj->setAttribute($target, "ALTFSI_MASTER_PORT", "0xFF");
-         $targetObj->setAttribute($target, "FSI_MASTER_TYPE",    "NO_MASTER");
-         $targetObj->setAttribute($target, "FSI_SLAVE_CASCADE",  "0");
-@@ -534,6 +524,7 @@ sub processProcessor
-     {
-         $targetObj->setAttribute($target, "PROC_MASTER_TYPE",
-             "NOT_MASTER");
-+        $targetObj->setAttribute($target, "ALTFSI_MASTER_CHIP", "physical:sys-0");
-     }
-     ## Update bus speeds
-     processI2cSpeeds($targetObj,$target);
-@@ -562,15 +553,19 @@ sub processI2cSpeeds
-     $bus_speeds[0][0] = $bus_speeds2[0];
-     $bus_speeds[0][1] = $bus_speeds2[1];
-     $bus_speeds[0][2] = $bus_speeds2[2];
--    $bus_speeds[1][0] = $bus_speeds2[3];
--    $bus_speeds[1][1] = $bus_speeds2[4];
--    $bus_speeds[1][2] = $bus_speeds2[5];
--    $bus_speeds[2][0] = $bus_speeds2[6];
--    $bus_speeds[2][1] = $bus_speeds2[7];
--    $bus_speeds[2][2] = $bus_speeds2[8];
--    $bus_speeds[3][0] = $bus_speeds2[9];
--    $bus_speeds[3][1] = $bus_speeds2[10];
--    $bus_speeds[3][2] = $bus_speeds2[11];
-+    $bus_speeds[0][3] = $bus_speeds2[3];
-+    $bus_speeds[1][0] = $bus_speeds2[4];
-+    $bus_speeds[1][1] = $bus_speeds2[5];
-+    $bus_speeds[1][2] = $bus_speeds2[6];
-+    $bus_speeds[1][3] = $bus_speeds2[7];
-+    $bus_speeds[2][0] = $bus_speeds2[8];
-+    $bus_speeds[2][1] = $bus_speeds2[9];
-+    $bus_speeds[2][2] = $bus_speeds2[10];
-+    $bus_speeds[2][3] = $bus_speeds2[11];
-+    $bus_speeds[3][0] = $bus_speeds2[12];
-+    $bus_speeds[3][1] = $bus_speeds2[13];
-+    $bus_speeds[3][2] = $bus_speeds2[14];
-+    $bus_speeds[3][3] = $bus_speeds2[15];
- 
-     my $i2cs=$targetObj->findConnections($target,"I2C","");
-     if ($i2cs ne "") {
-@@ -581,13 +576,11 @@ sub processI2cSpeeds
-             my $bus_speed=$targetObj->getBusAttribute(
-                   $i2c->{SOURCE},$i2c->{BUS_NUM},"I2C_SPEED");
- 
--            #@todo RTC:164224 > currently the bus_speed fields are empty in the xml
--=begin
-             if ($bus_speed eq "" || $bus_speed==0) {
-                 print "ERROR: I2C bus speed not defined for $i2c->{SOURCE}\n";
-                 $targetObj->myExit(3);
-             }
--=cut
-+
-             ## choose lowest bus speed
-             if ($bus_speeds[$engine][$port] eq "" ||
-                   $bus_speeds[$engine][$port]==0  ||
-@@ -599,15 +592,19 @@ sub processI2cSpeeds
-     $bus_speed_attr = $bus_speeds[0][0].",".
-                       $bus_speeds[0][1].",".
-                       $bus_speeds[0][2].",".
-+                      $bus_speeds[0][3].",".
-                       $bus_speeds[1][0].",".
-                       $bus_speeds[1][1].",".
-                       $bus_speeds[1][2].",".
-+                      $bus_speeds[1][3].",".
-                       $bus_speeds[2][0].",".
-                       $bus_speeds[2][1].",".
-                       $bus_speeds[2][2].",".
-+                      $bus_speeds[2][3].",".
-                       $bus_speeds[3][0].",".
-                       $bus_speeds[3][1].",".
--                      $bus_speeds[3][2];
-+                      $bus_speeds[3][2].",".
-+                      $bus_speeds[3][3];
- 
-     $targetObj->setAttribute($target,"I2C_BUS_SPEED_ARRAY",$bus_speed_attr);
- }
-@@ -626,16 +623,28 @@ sub setupBars
-     my $proc   = $targetObj->getAttribute($target, "FABRIC_CHIP_ID");
-     $targetObj->{TOPOLOGY}->{$group}->{$proc}++;
- 
--    my @bars=("FSP_BASE_ADDR","PSI_BRIDGE_BASE_ADDR",
--              "INTP_BASE_ADDR","PHB_MMIO_ADDRS_64","PHB_MMIO_ADDRS_32",
--              "PHB_XIVE_ESB_ADDRS","PHB_REG_ADDRS","XIVE_ROUTING_ESB_ADDR",
--              "XIVE_ROUTING_END_ADDR","XIVE_PRESENTATION_NVT_ADDR",
--              "VAS_HYPERVISOR_WINDOW_CONTEXT_ADDR",
--              "VAS_USER_WINDOW_CONTEXT_ADDR","LPC_BUS_ADDR",
--              "NVIDIA_NPU_PRIVILEGED_ADDR","NVIDIA_NPU_USER_REG_ADDR",
--              "NVIDIA_PHY0_REG_ADDR","NVIDIA_PHY1_REG_ADDR",
--              "XIVE_CONTROLLER_BAR_ADDR","XIVE_PRESENTATION_BAR_ADDR",
--              "NX_RNG_ADDR");
-+    my @bars=(  "FSP_BASE_ADDR", #
-+                "PSI_BRIDGE_BASE_ADDR", #
-+                "INTP_BASE_ADDR",
-+                "PHB_MMIO_ADDRS_64", #
-+                "PHB_MMIO_ADDRS_32", #
-+                "PHB_XIVE_ESB_ADDRS", #
-+                "PHB_REG_ADDRS", #
-+                "XIVE_ROUTING_ESB_ADDR", #
-+                "XIVE_ROUTING_END_ADDR", #
-+                "XIVE_PRESENTATION_NVT_ADDR", #
-+                "VAS_HYPERVISOR_WINDOW_CONTEXT_ADDR", #
-+                "VAS_USER_WINDOW_CONTEXT_ADDR", #
-+                "LPC_BUS_ADDR", #
-+                "NVIDIA_NPU_PRIVILEGED_ADDR", #
-+                "NVIDIA_NPU_USER_REG_ADDR", #
-+                "NVIDIA_PHY0_REG_ADDR", #
-+                "NVIDIA_PHY1_REG_ADDR", #
-+                "PSI_HB_ESB_ADDR", #
-+                "XIVE_CONTROLLER_BAR_ADDR", #
-+                "XIVE_PRESENTATION_BAR_ADDR", #
-+                "XSCOM_BASE_ADDRESS", #
-+                "NX_RNG_ADDR"); #
- 
-     # Attribute only valid in naples-based systems
-     if (!$targetObj->isBadAttribute($target,"NPU_MMIO_BAR_BASE_ADDR") ) {
-diff --git a/src/usr/targeting/common/xmltohb/attribute_types.xml b/src/usr/targeting/common/xmltohb/attribute_types.xml
-index 9fce73d..70342c5 100644
---- a/src/usr/targeting/common/xmltohb/attribute_types.xml
-+++ b/src/usr/targeting/common/xmltohb/attribute_types.xml
-@@ -15548,7 +15548,7 @@ Measured in GB</description>
- <attribute>
-     <id>REDUNDANT_CLOCKS</id>
-     <description>
--        1 = System has redundant clock oscillators
-+        1 = System has redundant clock oscillators
-         0 = System does not have redundant clock oscillators
-         From the Machine Readable Workbook
-     </description>
-diff --git a/src/usr/targeting/common/xmltohb/target_types_hb.xml b/src/usr/targeting/common/xmltohb/target_types_hb.xml
-index aa941be..4e2447d 100755
---- a/src/usr/targeting/common/xmltohb/target_types_hb.xml
-+++ b/src/usr/targeting/common/xmltohb/target_types_hb.xml
-@@ -258,10 +258,10 @@
-     <attribute><id>VPD_SWITCHES</id></attribute>
- </targetTypeExtension>
- 
--<targetType>
-+<targetTypeExtension>
-     <id>unit-xbus-nimbus</id>
-     <attribute><id>HB_TARGET_SCOMABLE</id></attribute>
--</targetType>
-+</targetTypeExtension>
- 
- <targetTypeExtension>
-     <id>occ</id>
--- 
-1.8.2.2
-
diff --git a/openpower/package/hostboot/p9Patches/hostboot-0005-filter_out_unwanted_attributes-initial-check-in.patch b/openpower/package/hostboot/p9Patches/hostboot-0005-filter_out_unwanted_attributes-initial-check-in.patch
deleted file mode 100644
index 21153e8..0000000
--- a/openpower/package/hostboot/p9Patches/hostboot-0005-filter_out_unwanted_attributes-initial-check-in.patch
+++ /dev/null
@@ -1,168 +0,0 @@
-From 0e0e28e214d7277698a781d271a846b81ebbd834 Mon Sep 17 00:00:00 2001
-From: Prachi Gupta <pragupta@us.ibm.com>
-Date: Tue, 6 Dec 2016 17:09:35 -0600
-Subject: [PATCH 2/4] filter_out_unwanted_attributes:initial check-in
-
-script to remove any unwanted attributes from mrw xml
-based on target_types
-
-Change-Id: Ic8965134a122a2561383481128036245ce158c02
----
- .../common/filter_out_unwanted_attributes.pl       | 145 +++++++++++++++++++++
- 1 file changed, 145 insertions(+)
- create mode 100755 src/usr/targeting/common/filter_out_unwanted_attributes.pl
-
-diff --git a/src/usr/targeting/common/filter_out_unwanted_attributes.pl b/src/usr/targeting/common/filter_out_unwanted_attributes.pl
-new file mode 100755
-index 0000000..8f2a69f
---- /dev/null
-+++ b/src/usr/targeting/common/filter_out_unwanted_attributes.pl
-@@ -0,0 +1,145 @@
-+#! /usr/bin/perl
-+# IBM_PROLOG_BEGIN_TAG
-+# This is an automatically generated prolog.
-+#
-+# $Source: src/usr/targeting/common/filter_out_unwanted_attributes.pl $
-+#
-+# OpenPOWER HostBoot Project
-+#
-+# Contributors Listed Below - COPYRIGHT 2016
-+#
-+#
-+# Licensed under the Apache License, Version 2.0 (the "License");
-+# you may not use this file except in compliance with the License.
-+# You may obtain a copy of the License at
-+#
-+#     http://www.apache.org/licenses/LICENSE-2.0
-+#
-+# Unless required by applicable law or agreed to in writing, software
-+# distributed under the License is distributed on an "AS IS" BASIS,
-+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
-+# implied. See the License for the specific language governing
-+# permissions and limitations under the License.
-+#
-+# IBM_PROLOG_END_TAG
-+
-+use strict;
-+use XML::Simple;
-+use XML::LibXML;
-+use XML::Parser;
-+use Data::Dumper;
-+use feature "state";
-+use Getopt::Long qw(GetOptions);
-+
-+my @tgt_files;
-+my $mrw_file;
-+
-+GetOptions(
-+    "tgt-xml=s"    => \@tgt_files,
-+    "mrw-xml=s"    => \$mrw_file,
-+);
-+
-+if ((scalar @tgt_files eq 0) || ($mrw_file eq ""))
-+{
-+    print "ERROR: tgt-xml or mrw-xml is not specified\n";
-+    print "tgt-xml: \n";
-+    print Dumper @tgt_files;
-+    print "mrw-xml: $mrw_file\n";
-+    exit (-1);
-+}
-+
-+$XML::Simple::PREFERRED_PARSER = 'XML::Parser';
-+
-+#Load all the attr-files
-+my @tgt_xmls;
-+foreach my $i (0 .. $#tgt_files)
-+{
-+    my $tgt_file  = $tgt_files[$i];
-+    print "Loading TGT XML: $tgt_file in $i\n";
-+
-+    $tgt_xmls[$i] =
-+           XMLin($tgt_file,
-+                forcearray => ['attribute', 'targetType', 'field']);
-+}
-+
-+#Load MRW XML
-+$XML::LibXML::skipXMLDeclaration = 1;
-+print "Loading MRW XML: $mrw_file\n";
-+my $parser = XML::LibXML->new();
-+my $mrw_parsed = $parser->parse_file($mrw_file);
-+
-+foreach my $tgt
-+    ($mrw_parsed->findnodes('/attributes/targetInstance'))
-+{
-+    my $tgt_type = $tgt->findnodes('./type');
-+    foreach my $attr ($tgt->findnodes('./attribute'))
-+    {
-+        my $attr_id = $attr->findnodes('./id');
-+        my $found = findAttribute($tgt_type, $attr_id);
-+        if ($found eq 0)
-+        {
-+            print "Target: $tgt_type Attr: $attr_id\n";
-+            $tgt->removeChild($attr);
-+        }
-+    }
-+}
-+
-+
-+sub findAttribute
-+{
-+    my $tgt  = shift;
-+    my $attr = shift;
-+    foreach my $i (0 .. $#tgt_xmls)
-+    {
-+        my $tgt_xml = $tgt_xmls[$i];
-+        if (defined $tgt_xml->{targetType}{$tgt}{attribute}{$attr})
-+        {
-+            return 1;
-+        }
-+        else
-+        {
-+            my %tgt_hash = %$tgt_xml;
-+            if (lookAtParentAttributes (\%tgt_hash, $tgt, $attr) eq 1)
-+            {
-+                return 1;
-+            }
-+        }
-+    }
-+    return 0;
-+}
-+
-+sub lookAtParentAttributes
-+{
-+    my ($tgt_xml, $tgt, $attr) = @_;
-+
-+    my $parent = $tgt_xml->{targetType}{$tgt}{parent};
-+
-+    if ($parent eq "")
-+    {
-+        return 0;
-+    }
-+    elsif ($parent eq "base")
-+    {
-+         return (defined  $tgt_xml->{targetType}{$parent}{attribute}{$attr}) ?
-+                        1 : 0;
-+    }
-+    else
-+    {
-+        if (defined  $tgt_xml->{targetType}{$parent}{attribute}{$attr})
-+        {
-+            return 1;
-+        }
-+        else
-+        {
-+            my %tgt_hash = %$tgt_xml;
-+            return lookAtParentAttributes(\%tgt_hash, $parent, $attr);
-+        }
-+    }
-+}
-+#OUTPUT
-+my $xml_fh;
-+my $filename = $mrw_file . ".updated";
-+print "Creating XML: $filename\n";
-+open($xml_fh, ">$filename") || die "Unable to create: $filename";
-+print {$xml_fh} $mrw_parsed->toString();
-+close($xml_fh);
--- 
-1.8.2.2
-
diff --git a/openpower/package/hostboot/p9Patches/hostboot-0007-Add-filtering-script-to-openpower-distribution.patch b/openpower/package/hostboot/p9Patches/hostboot-0007-Add-filtering-script-to-openpower-distribution.patch
deleted file mode 100644
index 682caeb..0000000
--- a/openpower/package/hostboot/p9Patches/hostboot-0007-Add-filtering-script-to-openpower-distribution.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-From fbcbbde51e42bf8ed34999685b9db3a1ec16762c Mon Sep 17 00:00:00 2001
-From: Prachi Gupta <pragupta@us.ibm.com>
-Date: Tue, 6 Dec 2016 17:38:31 -0600
-Subject: [PATCH 3/4] Add filtering script to openpower distribution
-
-Change-Id: I3cab96608b05641c0ce10d1c6b8b3011ead9f1fa
----
- src/build/mkrules/dist.targets.mk | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/src/build/mkrules/dist.targets.mk b/src/build/mkrules/dist.targets.mk
-index 2ec1ee6..5bae3dd 100644
---- a/src/build/mkrules/dist.targets.mk
-+++ b/src/build/mkrules/dist.targets.mk
-@@ -79,6 +79,7 @@ COPY_FILES = \
-     src/build/buildpnor/PnorUtils.pm:openpower \
-     src/usr/targeting/common/processMrw.pl:openpower \
-     src/usr/targeting/common/Targets.pm:openpower \
-+    src/usr/targeting/common/filter_out_unwanted_attributes.pl:openpower \
-     src/usr/targeting/common/xmltohb/mergexml.sh:openpower \
-     src/usr/targeting/common/xmltohb/attribute_types.xml:openpower \
-     src/usr/targeting/common/xmltohb/attribute_types_hb.xml:openpower \
--- 
-1.8.2.2
-