diff options
author | David Vrabel <david.vrabel@citrix.com> | 2012-04-02 16:50:42 +0100 |
---|---|---|
committer | David Vrabel <david.vrabel@citrix.com> | 2012-04-02 16:50:42 +0100 |
commit | 13bb63b754e433301bef330c4087743677c4ffb8 (patch) | |
tree | a1568334d526898a12fe7f9a9bbe42b7835ec98d /xen/include/xen/device_tree.h | |
parent | 3db570f4f9baddb1666cf530e3307784e823d308 (diff) | |
download | xen-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.h | 8 |
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); |