aboutsummaryrefslogtreecommitdiffstats
path: root/xen/include/xen/device_tree.h
diff options
context:
space:
mode:
authorDavid Vrabel <david.vrabel@citrix.com>2012-04-02 16:50:42 +0100
committerDavid Vrabel <david.vrabel@citrix.com>2012-04-02 16:50:42 +0100
commit13bb63b754e433301bef330c4087743677c4ffb8 (patch)
treea1568334d526898a12fe7f9a9bbe42b7835ec98d /xen/include/xen/device_tree.h
parent3db570f4f9baddb1666cf530e3307784e823d308 (diff)
downloadxen-13bb63b754e433301bef330c4087743677c4ffb8.tar.gz
xen-13bb63b754e433301bef330c4087743677c4ffb8.tar.bz2
xen-13bb63b754e433301bef330c4087743677c4ffb8.zip
device tree,arm: supply a flat device tree to dom0
Build a flat device tree for dom0 based on the one supplied to Xen. The following changes are made: * In the /chosen node, the xen,dom0-bootargs parameter is renamed to bootargs. * In all memory nodes, the reg parameters are adjusted to reflect the amount of memory dom0 can use. The p2m is updated using this info. Support for passing ATAGS to dom0 is removed. Signed-off-by: David Vrabel <david.vrabel@citrix.com> [ removed device_tree_dump call -- ijc ] Signed-off-by: Ian Campbell <ian.campbell@citrix.com> Committed-by: Ian Campbell <ian.campbell@citrix.com>
Diffstat (limited to 'xen/include/xen/device_tree.h')
-rw-r--r--xen/include/xen/device_tree.h8
1 files changed, 8 insertions, 0 deletions
diff --git a/xen/include/xen/device_tree.h b/xen/include/xen/device_tree.h
index b91b39f352..510b5b48ba 100644
--- a/xen/include/xen/device_tree.h
+++ b/xen/include/xen/device_tree.h
@@ -12,6 +12,8 @@
#include <xen/types.h>
+#define DEVICE_TREE_MAX_DEPTH 16
+
#define NR_MEM_BANKS 8
struct membank {
@@ -39,6 +41,12 @@ extern void *device_tree_flattened;
size_t device_tree_early_init(const void *fdt);
paddr_t device_tree_get_xen_paddr(void);
+void device_tree_get_reg(const u32 **cell, u32 address_cells, u32 size_cells,
+ u64 *start, u64 *size);
+void device_tree_set_reg(u32 **cell, u32 address_cells, u32 size_cells,
+ u64 start, u64 size);
+u32 device_tree_get_u32(const void *fdt, int node, const char *prop_name);
+bool_t device_tree_node_matches(const void *fdt, int node, const char *match);
int device_tree_for_each_node(const void *fdt,
device_tree_node_func func, void *data);
void device_tree_dump(const void *fdt);