Merge tag 'tty-6.6-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty
[linux-2.6-microblaze.git] / include / linux / crash_core.h
index de62a72..0c06561 100644 (file)
@@ -28,6 +28,8 @@
                                     VMCOREINFO_BYTES)
 
 typedef u32 note_buf_t[CRASH_CORE_NOTE_BYTES/4];
+/* Per cpu memory for storing cpu states in case of system crash. */
+extern note_buf_t __percpu *crash_notes;
 
 void crash_update_vmcoreinfo_safecopy(void *ptr);
 void crash_save_vmcoreinfo(void);
@@ -84,4 +86,29 @@ int parse_crashkernel_high(char *cmdline, unsigned long long system_ram,
 int parse_crashkernel_low(char *cmdline, unsigned long long system_ram,
                unsigned long long *crash_size, unsigned long long *crash_base);
 
+/* Alignment required for elf header segment */
+#define ELF_CORE_HEADER_ALIGN   4096
+
+struct crash_mem {
+       unsigned int max_nr_ranges;
+       unsigned int nr_ranges;
+       struct range ranges[];
+};
+
+extern int crash_exclude_mem_range(struct crash_mem *mem,
+                                  unsigned long long mstart,
+                                  unsigned long long mend);
+extern int crash_prepare_elf64_headers(struct crash_mem *mem, int need_kernel_map,
+                                      void **addr, unsigned long *sz);
+
+struct kimage;
+struct kexec_segment;
+
+#define KEXEC_CRASH_HP_NONE                    0
+#define KEXEC_CRASH_HP_ADD_CPU                 1
+#define KEXEC_CRASH_HP_REMOVE_CPU              2
+#define KEXEC_CRASH_HP_ADD_MEMORY              3
+#define KEXEC_CRASH_HP_REMOVE_MEMORY           4
+#define KEXEC_CRASH_HP_INVALID_CPU             -1U
+
 #endif /* LINUX_CRASH_CORE_H */