diff options
Diffstat (limited to 'kernel/kexec.c')
| -rw-r--r-- | kernel/kexec.c | 17 |
1 files changed, 9 insertions, 8 deletions
diff --git a/kernel/kexec.c b/kernel/kexec.c index 60bafbed06ab..c8380ad203bc 100644 --- a/kernel/kexec.c +++ b/kernel/kexec.c | |||
| @@ -32,6 +32,7 @@ | |||
| 32 | #include <linux/vmalloc.h> | 32 | #include <linux/vmalloc.h> |
| 33 | #include <linux/swap.h> | 33 | #include <linux/swap.h> |
| 34 | #include <linux/syscore_ops.h> | 34 | #include <linux/syscore_ops.h> |
| 35 | #include <linux/compiler.h> | ||
| 35 | 36 | ||
| 36 | #include <asm/page.h> | 37 | #include <asm/page.h> |
| 37 | #include <asm/uaccess.h> | 38 | #include <asm/uaccess.h> |
| @@ -1039,10 +1040,10 @@ void __weak crash_unmap_reserved_pages(void) | |||
| 1039 | {} | 1040 | {} |
| 1040 | 1041 | ||
| 1041 | #ifdef CONFIG_COMPAT | 1042 | #ifdef CONFIG_COMPAT |
| 1042 | asmlinkage long compat_sys_kexec_load(unsigned long entry, | 1043 | COMPAT_SYSCALL_DEFINE4(kexec_load, compat_ulong_t, entry, |
| 1043 | unsigned long nr_segments, | 1044 | compat_ulong_t, nr_segments, |
| 1044 | struct compat_kexec_segment __user *segments, | 1045 | struct compat_kexec_segment __user *, segments, |
| 1045 | unsigned long flags) | 1046 | compat_ulong_t, flags) |
| 1046 | { | 1047 | { |
| 1047 | struct compat_kexec_segment in; | 1048 | struct compat_kexec_segment in; |
| 1048 | struct kexec_segment out, __user *ksegments; | 1049 | struct kexec_segment out, __user *ksegments; |
| @@ -1235,7 +1236,7 @@ static int __init crash_notes_memory_init(void) | |||
| 1235 | } | 1236 | } |
| 1236 | return 0; | 1237 | return 0; |
| 1237 | } | 1238 | } |
| 1238 | module_init(crash_notes_memory_init) | 1239 | subsys_initcall(crash_notes_memory_init); |
| 1239 | 1240 | ||
| 1240 | 1241 | ||
| 1241 | /* | 1242 | /* |
| @@ -1551,10 +1552,10 @@ void vmcoreinfo_append_str(const char *fmt, ...) | |||
| 1551 | * provide an empty default implementation here -- architecture | 1552 | * provide an empty default implementation here -- architecture |
| 1552 | * code may override this | 1553 | * code may override this |
| 1553 | */ | 1554 | */ |
| 1554 | void __attribute__ ((weak)) arch_crash_save_vmcoreinfo(void) | 1555 | void __weak arch_crash_save_vmcoreinfo(void) |
| 1555 | {} | 1556 | {} |
| 1556 | 1557 | ||
| 1557 | unsigned long __attribute__ ((weak)) paddr_vmcoreinfo_note(void) | 1558 | unsigned long __weak paddr_vmcoreinfo_note(void) |
| 1558 | { | 1559 | { |
| 1559 | return __pa((unsigned long)(char *)&vmcoreinfo_note); | 1560 | return __pa((unsigned long)(char *)&vmcoreinfo_note); |
| 1560 | } | 1561 | } |
| @@ -1629,7 +1630,7 @@ static int __init crash_save_vmcoreinfo_init(void) | |||
| 1629 | return 0; | 1630 | return 0; |
| 1630 | } | 1631 | } |
| 1631 | 1632 | ||
| 1632 | module_init(crash_save_vmcoreinfo_init) | 1633 | subsys_initcall(crash_save_vmcoreinfo_init); |
| 1633 | 1634 | ||
| 1634 | /* | 1635 | /* |
| 1635 | * Move into place and start executing a preloaded standalone | 1636 | * Move into place and start executing a preloaded standalone |
