summaryrefslogtreecommitdiff
path: root/kexec/crashdump.h
diff options
context:
space:
mode:
Diffstat (limited to 'kexec/crashdump.h')
-rw-r--r--kexec/crashdump.h26
1 files changed, 26 insertions, 0 deletions
diff --git a/kexec/crashdump.h b/kexec/crashdump.h
index dd3c317..4dbecf8 100644
--- a/kexec/crashdump.h
+++ b/kexec/crashdump.h
@@ -8,4 +8,30 @@ extern int get_crash_notes_per_cpu(int cpu, uint64_t *addr, uint64_t *len);
/* Expecting ELF headers to fit in 4K. Increase it if you need more. */
#define KCORE_ELF_HEADERS_SIZE 4096
+/* structure passed to crash_create_elf32/64_headers() */
+
+struct crash_elf_info {
+ unsigned long class;
+ unsigned long data;
+ unsigned long machine;
+
+ unsigned long backup_src_start;
+ unsigned long backup_src_end;
+
+ unsigned long page_offset;
+ unsigned long lowmem_limit;
+
+ int (*get_note_info)(int cpu, uint64_t *addr, uint64_t *len);
+};
+
+int crash_create_elf32_headers(struct kexec_info *info,
+ struct crash_elf_info *elf_info,
+ struct memory_range *range, int ranges,
+ void **buf, unsigned long *size);
+
+int crash_create_elf64_headers(struct kexec_info *info,
+ struct crash_elf_info *elf_info,
+ struct memory_range *range, int ranges,
+ void **buf, unsigned long *size);
+
#endif /* CRASHDUMP_H */