Pass an FDT to the unit test VMs

Instead of passing the assigned memory size, optionally pass the
FDT to the secondary VMs. The VMs can extract the memory size, as
well as other potentially useful information from the FDT.

This is done to facilitate using the same unit test framework
with kvm-unit-tests, which expects an FDT, as does the Linux
kernel.

Change-Id: I436d86b3f4d1540c1995e01e48289f39e2c23490
Signed-off-by: Fuad Tabba <tabba@google.com>
diff --git a/inc/hf/fdt_handler.h b/inc/hf/fdt_handler.h
index 8fe0831..0a5e341 100644
--- a/inc/hf/fdt_handler.h
+++ b/inc/hf/fdt_handler.h
@@ -17,12 +17,15 @@
 #define FDT_PROP_INITRD_START "linux,initrd-start"
 #define FDT_PROP_INITRD_END "linux,initrd-end"
 
+bool fdt_struct_from_ptr(const void *fdt_ptr, struct fdt *fdt);
 bool fdt_map(struct fdt *fdt, struct mm_stage1_locked stage1_locked,
 	     paddr_t fdt_addr, struct mpool *ppool);
 bool fdt_unmap(struct fdt *fdt, struct mm_stage1_locked stage1_locked,
 	       struct mpool *ppool);
 bool fdt_find_cpus(const struct fdt *fdt, cpu_id_t *cpu_ids, size_t *cpu_count);
-bool fdt_find_memory_ranges(const struct fdt *fdt, struct string *device_type,
+bool fdt_find_memory_ranges(const struct fdt *fdt,
+			    const struct string *device_type,
 			    struct mem_range *mem_ranges,
 			    size_t *mem_ranges_count, size_t mem_range_limit);
 bool fdt_find_initrd(const struct fdt *fdt, paddr_t *begin, paddr_t *end);
+bool fdt_get_memory_size(const struct fdt *fdt, size_t *size);