summaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorSascha Hauer <s.hauer@pengutronix.de>2018-07-09 08:21:04 +0200
committerSascha Hauer <s.hauer@pengutronix.de>2018-07-09 08:21:04 +0200
commit0e8bd85d9b2f981ad24847badda70c73397d8385 (patch)
treead0e96ae3da29ab5c5797d99555d280e9b4d5d14 /include
parentb5ba232df1cf1fd68bd2d7dfb0f3f70f11903c99 (diff)
parenta54a47ff7710d12e5a6c88953b3da85cc162c1ea (diff)
downloadbarebox-0e8bd85d9b2f981ad24847badda70c73397d8385.tar.gz
barebox-0e8bd85d9b2f981ad24847badda70c73397d8385.tar.xz
Merge branch 'for-next/bootm'
Diffstat (limited to 'include')
-rw-r--r--include/bootm.h5
-rw-r--r--include/elf.h10
-rw-r--r--include/filetype.h1
3 files changed, 14 insertions, 2 deletions
diff --git a/include/bootm.h b/include/bootm.h
index 62951d6058..fdc73f711a 100644
--- a/include/bootm.h
+++ b/include/bootm.h
@@ -78,7 +78,6 @@ struct image_data {
void *fit_config;
struct device_node *of_root_node;
- struct fdt_header *oftree;
struct resource *oftree_res;
/*
@@ -126,7 +125,9 @@ int bootm_load_os(struct image_data *data, unsigned long load_address);
bool bootm_has_initrd(struct image_data *data);
int bootm_load_initrd(struct image_data *data, unsigned long load_address);
-int bootm_load_devicetree(struct image_data *data, unsigned long load_address);
+void *bootm_get_devicetree(struct image_data *data);
+int bootm_load_devicetree(struct image_data *data, void *fdt,
+ unsigned long load_address);
int bootm_get_os_size(struct image_data *data);
enum bootm_verify bootm_get_verify_mode(void);
diff --git a/include/elf.h b/include/elf.h
index ebcec7db0d..92c8d9c127 100644
--- a/include/elf.h
+++ b/include/elf.h
@@ -2,6 +2,7 @@
#define _LINUX_ELF_H
#include <linux/types.h>
+#include <linux/list.h>
//#include <linux/auxvec.h>
//#include <linux/elf-em.h>
#include <asm/elf.h>
@@ -397,4 +398,13 @@ static inline void arch_write_notes(struct file *file) { }
#define ELF_CORE_WRITE_EXTRA_NOTES arch_write_notes(file)
#endif /* ARCH_HAVE_EXTRA_ELF_NOTES */
+struct elf_image {
+ struct list_head list;
+ unsigned long entry;
+ void *buf;
+};
+
+struct elf_image *elf_load_image(void *buf);
+void elf_release_image(struct elf_image *elf);
+
#endif /* _LINUX_ELF_H */
diff --git a/include/filetype.h b/include/filetype.h
index d9963a2449..237ed3fbe9 100644
--- a/include/filetype.h
+++ b/include/filetype.h
@@ -42,6 +42,7 @@ enum filetype {
filetype_kwbimage_v1,
filetype_android_sparse,
filetype_arm64_linux_image,
+ filetype_elf,
filetype_max,
};