From 9d44190eae97ad4c9ce30f1084e1b0dabd646df5 Mon Sep 17 00:00:00 2001 From: kogiidena Date: Mon, 16 Jan 2006 22:14:10 -0800 Subject: [PATCH] sh: kexec() support This adds kexec() support for SH. Signed-off-by: kogiidena Signed-off-by: Paul Mundt Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds --- include/asm-sh/kexec.h | 33 +++++++++++++++++++++++++++++++++ include/linux/kexec.h | 1 + 2 files changed, 34 insertions(+) create mode 100644 include/asm-sh/kexec.h (limited to 'include') diff --git a/include/asm-sh/kexec.h b/include/asm-sh/kexec.h new file mode 100644 index 000000000000..9dfe59f6fcb5 --- /dev/null +++ b/include/asm-sh/kexec.h @@ -0,0 +1,33 @@ +#ifndef _SH_KEXEC_H +#define _SH_KEXEC_H + +/* + * KEXEC_SOURCE_MEMORY_LIMIT maximum page get_free_page can return. + * I.e. Maximum page that is mapped directly into kernel memory, + * and kmap is not required. + * + * Someone correct me if FIXADDR_START - PAGEOFFSET is not the correct + * calculation for the amount of memory directly mappable into the + * kernel memory space. + */ + +/* Maximum physical address we can use pages from */ +#define KEXEC_SOURCE_MEMORY_LIMIT (-1UL) +/* Maximum address we can reach in physical address mode */ +#define KEXEC_DESTINATION_MEMORY_LIMIT (-1UL) +/* Maximum address we can use for the control code buffer */ +#define KEXEC_CONTROL_MEMORY_LIMIT TASK_SIZE + +#define KEXEC_CONTROL_CODE_SIZE 4096 + +/* The native architecture */ +#define KEXEC_ARCH KEXEC_ARCH_SH + +#ifndef __ASSEMBLY__ + +extern void machine_shutdown(void); +extern void *crash_notes; + +#endif /* __ASSEMBLY__ */ + +#endif /* _SH_KEXEC_H */ diff --git a/include/linux/kexec.h b/include/linux/kexec.h index 94abc07cb164..a311f58c8a7c 100644 --- a/include/linux/kexec.h +++ b/include/linux/kexec.h @@ -119,6 +119,7 @@ extern struct kimage *kexec_image; #define KEXEC_ARCH_PPC64 (21 << 16) #define KEXEC_ARCH_IA_64 (50 << 16) #define KEXEC_ARCH_S390 (22 << 16) +#define KEXEC_ARCH_SH (42 << 16) #define KEXEC_FLAGS (KEXEC_ON_CRASH) /* List of defined/legal kexec flags */ -- cgit v1.2.3-59-g8ed1b