Remove linux/kexec.h
* linux/kexec.h: Remove.
* Makefile.am (EXTRA_DIST): Remove it.
* kexec.c: Do not include <linux/kexec.h>.
* xlat/kexec_arch_values.in: Add default values.
* xlat/kexec_flags.in: Rename to kexec_load_flags.in, add default
values.
diff --git a/kexec.c b/kexec.c
index f95bea2..e277668 100644
--- a/kexec.c
+++ b/kexec.c
@@ -1,8 +1,14 @@
#include "defs.h"
-#include <linux/kexec.h>
+#include "xlat/kexec_load_flags.h"
#include "xlat/kexec_arch_values.h"
-#include "xlat/kexec_flags.h"
+
+#ifndef KEXEC_ARCH_MASK
+# define KEXEC_ARCH_MASK 0xffff0000
+#endif
+#ifndef KEXEC_SEGMENT_MAX
+# define KEXEC_SEGMENT_MAX 16
+#endif
static void
print_kexec_segments(struct tcb *tcp, unsigned long addr, unsigned long len)
@@ -23,7 +29,12 @@
# define seg_memsz \
(current_wordsize == 4 ? (uint64_t) seg.seg32.memsz : seg.seg64.memsz)
#else
- struct kexec_segment seg;
+ struct {
+ void *buf;
+ size_t bufsz;
+ void *mem;
+ size_t memsz;
+ } seg;
# define sizeof_seg sizeof(seg)
# define seg_buf seg.buf
# define seg_bufsz seg.bufsz
@@ -83,7 +94,7 @@
n &= ~KEXEC_ARCH_MASK;
if (n) {
tprints("|");
- printflags(kexec_flags, n, "KEXEC_???");
+ printflags(kexec_load_flags, n, "KEXEC_???");
}
return 0;