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;