summaryrefslogtreecommitdiff
path: root/dtc.h
diff options
context:
space:
mode:
authorDavid Gibson <dgibson@sneetch.(none)>2005-10-24 18:18:38 +1000
committerDavid Gibson <dgibson@sneetch.(none)>2005-10-24 18:18:38 +1000
commitf040d95b847c4f7d1fa4c3c6309127b8c1ffd8b3 (patch)
tree1497120f8b1672cc44c203ff0653d1c3de6cb784 /dtc.h
parentfccb194a1451d97a373fc4ab2d66aa985c78b48d (diff)
downloaddtc-f040d95b847c4f7d1fa4c3c6309127b8c1ffd8b3.tar.gz
Rework tracking of reserve entries during processing. This is initial work
to allow more powerful handling of reserve entries.
Diffstat (limited to 'dtc.h')
-rw-r--r--dtc.h23
1 files changed, 19 insertions, 4 deletions
diff --git a/dtc.h b/dtc.h
index 354dbdf..e9c473a 100644
--- a/dtc.h
+++ b/dtc.h
@@ -120,6 +120,7 @@ struct data data_copy_file(FILE *f, size_t len);
struct data data_append_data(struct data d, void *p, int len);
struct data data_append_cell(struct data d, cell_t word);
+struct data data_append_re(struct data d, struct reserve_entry *re);
struct data data_append_addr(struct data d, u64 addr);
struct data data_append_byte(struct data d, uint8_t byte);
struct data data_append_zeroes(struct data d, int len);
@@ -129,8 +130,6 @@ struct data data_add_fixup(struct data d, char *ref);
int data_is_one_string(struct data d);
-struct data build_mem_reserve(struct data d);
-
/* DT constraints */
#define MAX_PROPNAME_LEN 31
@@ -183,12 +182,28 @@ int check_device_tree(struct node *dt);
/* Boot info (tree plus memreserve information */
+struct reserve_info {
+ struct reserve_entry re;
+
+ struct reserve_info *next;
+
+ char *label;
+};
+
+struct reserve_info *build_reserve_entry(u64 start, u64 len, char *label);
+struct reserve_info *chain_reserve_entry(struct reserve_info *first,
+ struct reserve_info *list);
+struct reserve_info *add_reserve_entry(struct reserve_info *list,
+ struct reserve_info *new);
+
+
struct boot_info {
- struct data mem_reserve_data; /* mem reserve from header */
+ struct reserve_info *reservelist;
+/* struct data mem_reserve_data; /\* mem reserve from header *\/ */
struct node *dt; /* the device tree */
};
-struct boot_info *build_boot_info(struct data mem_reserve_data,
+struct boot_info *build_boot_info(struct reserve_info *reservelist,
struct node *tree);
/* Flattened trees */