summaryrefslogtreecommitdiffstats
path: root/src/usr/devtree
diff options
context:
space:
mode:
authorPatrick Williams <iawillia@us.ibm.com>2014-03-04 16:39:03 -0600
committerA. Patrick Williams III <iawillia@us.ibm.com>2014-03-07 14:19:58 -0600
commit4083a7cd7829d52121eb26bf41a12d8d298d2062 (patch)
tree11b1545f29f321b196a003f4fe2d7f37fed5452f /src/usr/devtree
parentb76c4b13f29ffc4295706a00c97ea3ee0fd03578 (diff)
downloadblackbird-hostboot-4083a7cd7829d52121eb26bf41a12d8d298d2062.tar.gz
blackbird-hostboot-4083a7cd7829d52121eb26bf41a12d8d298d2062.zip
Remove excess devtree nodes from HDAT-based mini-devtree.
Change-Id: I52c8b12abfed656754150051965422b8aad9f273 Reviewed-on: http://gfw160.aus.stglabs.ibm.com:8080/gerrit/9296 Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com> Tested-by: Jenkins Server Reviewed-by: A. Patrick Williams III <iawillia@us.ibm.com>
Diffstat (limited to 'src/usr/devtree')
-rw-r--r--src/usr/devtree/bld_devtree.C24
-rw-r--r--src/usr/devtree/devtree.C4
2 files changed, 24 insertions, 4 deletions
diff --git a/src/usr/devtree/bld_devtree.C b/src/usr/devtree/bld_devtree.C
index b60190ccb..16446a424 100644
--- a/src/usr/devtree/bld_devtree.C
+++ b/src/usr/devtree/bld_devtree.C
@@ -588,6 +588,25 @@ void load_hbrt_image(uint64_t& io_address)
}
}
+errlHndl_t bld_fdt_system(devTree * i_dt, bool i_smallTree)
+{
+ // Nothing to do for small trees currently.
+ if (i_smallTree) { return NULL; }
+
+ errlHndl_t errhdl = NULL;
+
+ dtOffset_t rootNode = i_dt->findNode("/");
+
+ /* Add compatibility node */
+ i_dt->addPropertyString(rootNode, "compatible", "ibm,powernv");
+
+ /* Add system model node */
+ //TODO RTC:88056 - store model type in attributes?
+ i_dt->addPropertyString(rootNode, "model", "rhesus");
+
+ return errhdl;
+}
+
errlHndl_t bld_fdt_cpu(devTree * i_dt,
std::vector<uint64_t>& o_homerRegions,
@@ -900,6 +919,11 @@ errlHndl_t build_flatdevtree( uint64_t i_dtAddr, size_t i_dtSize,
TRACFCOMP( g_trac_devtree, "---devtree init---" );
dt->initialize(i_dtAddr, i_dtSize, devTreeVirtual);
+ errhdl = bld_fdt_system(dt, i_smallTree);
+ if (errhdl)
+ {
+ break;
+ }
std::vector<uint64_t> l_homerRegions;
diff --git a/src/usr/devtree/devtree.C b/src/usr/devtree/devtree.C
index 1619f8672..4fd8d317b 100644
--- a/src/usr/devtree/devtree.C
+++ b/src/usr/devtree/devtree.C
@@ -105,10 +105,6 @@ void devTree::initialize(uint64_t i_addr, size_t i_maxSize, bool i_virtual)
dtOffset_t rootNode = findNode("/");
addPropertyCell32(rootNode, "#address-cells", 2);
addPropertyCell32(rootNode, "#size-cells", 2);
- addPropertyString(rootNode, "compatible", "ibm,powernv");
-
- //TODO RTC:88056 - store model type in attributes?
- addPropertyString(rootNode, "model", "rhesus");
//"Get" the phandle -- this will add one to root node as
//it doesn't already have one
OpenPOWER on IntegriCloud