mirror of https://gitee.com/openkylin/linux.git
[PATCH] Kdump: Export crash notes section address through sysfs
o Following patch exports kexec global variable "crash_notes" to user space through sysfs as kernel attribute in /sys/kernel. Signed-off-by: Maneesh Soni <maneesh@in.ibm.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
This commit is contained in:
parent
cf13f0eaff
commit
625f1c8219
|
@ -26,8 +26,6 @@
|
|||
#include <asm/apic.h>
|
||||
#include <mach_ipi.h>
|
||||
|
||||
#define MAX_NOTE_BYTES 1024
|
||||
typedef u32 note_buf_t[MAX_NOTE_BYTES/4];
|
||||
|
||||
note_buf_t crash_notes[NR_CPUS];
|
||||
|
||||
|
|
|
@ -20,9 +20,6 @@
|
|||
#include <asm/nmi.h>
|
||||
#include <asm/hw_irq.h>
|
||||
|
||||
#define MAX_NOTE_BYTES 1024
|
||||
typedef u32 note_buf_t[MAX_NOTE_BYTES/4];
|
||||
|
||||
note_buf_t crash_notes[NR_CPUS];
|
||||
|
||||
void machine_crash_shutdown(void)
|
||||
|
|
|
@ -25,4 +25,9 @@
|
|||
/* The native architecture */
|
||||
#define KEXEC_ARCH KEXEC_ARCH_386
|
||||
|
||||
#define MAX_NOTE_BYTES 1024
|
||||
typedef u32 note_buf_t[MAX_NOTE_BYTES/4];
|
||||
|
||||
extern note_buf_t crash_notes[];
|
||||
|
||||
#endif /* _I386_KEXEC_H */
|
||||
|
|
|
@ -25,4 +25,9 @@
|
|||
/* The native architecture */
|
||||
#define KEXEC_ARCH KEXEC_ARCH_X86_64
|
||||
|
||||
#define MAX_NOTE_BYTES 1024
|
||||
typedef u32 note_buf_t[MAX_NOTE_BYTES/4];
|
||||
|
||||
extern note_buf_t crash_notes[];
|
||||
|
||||
#endif /* _X86_64_KEXEC_H */
|
||||
|
|
|
@ -30,12 +30,25 @@ static ssize_t hotplug_seqnum_show(struct subsystem *subsys, char *page)
|
|||
KERNEL_ATTR_RO(hotplug_seqnum);
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_KEXEC
|
||||
#include <asm/kexec.h>
|
||||
|
||||
static ssize_t crash_notes_show(struct subsystem *subsys, char *page)
|
||||
{
|
||||
return sprintf(page, "%p\n", (void *)crash_notes);
|
||||
}
|
||||
KERNEL_ATTR_RO(crash_notes);
|
||||
#endif
|
||||
|
||||
decl_subsys(kernel, NULL, NULL);
|
||||
EXPORT_SYMBOL_GPL(kernel_subsys);
|
||||
|
||||
static struct attribute * kernel_attrs[] = {
|
||||
#ifdef CONFIG_HOTPLUG
|
||||
&hotplug_seqnum_attr.attr,
|
||||
#endif
|
||||
#ifdef CONFIG_KEXEC
|
||||
&crash_notes_attr.attr,
|
||||
#endif
|
||||
NULL
|
||||
};
|
||||
|
|
Loading…
Reference in New Issue