aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--arch/x86/crypto/Makefile2
-rw-r--r--arch/x86/crypto/sha1-mb/Makefile2
-rw-r--r--arch/x86/crypto/sha256-mb/Makefile2
-rw-r--r--arch/x86/kernel/Makefile1
-rw-r--r--arch/x86/kernel/acpi/Makefile2
-rw-r--r--arch/x86/kernel/kprobes/opt.c9
-rw-r--r--arch/x86/kernel/reboot.c2
-rw-r--r--arch/x86/kvm/svm.c2
-rw-r--r--arch/x86/kvm/vmx.c3
-rw-r--r--arch/x86/lib/msr-reg.S8
-rw-r--r--arch/x86/net/Makefile2
-rw-r--r--arch/x86/platform/efi/Makefile1
-rw-r--r--arch/x86/power/Makefile2
-rw-r--r--arch/x86/xen/Makefile3
-rw-r--r--kernel/kexec_core.c4
15 files changed, 39 insertions, 6 deletions
diff --git a/arch/x86/crypto/Makefile b/arch/x86/crypto/Makefile
index 34b3fa2889d1..9e32d40d71bd 100644
--- a/arch/x86/crypto/Makefile
+++ b/arch/x86/crypto/Makefile
@@ -2,6 +2,8 @@
2# Arch-specific CryptoAPI modules. 2# Arch-specific CryptoAPI modules.
3# 3#
4 4
5OBJECT_FILES_NON_STANDARD := y
6
5avx_supported := $(call as-instr,vpxor %xmm0$(comma)%xmm0$(comma)%xmm0,yes,no) 7avx_supported := $(call as-instr,vpxor %xmm0$(comma)%xmm0$(comma)%xmm0,yes,no)
6avx2_supported := $(call as-instr,vpgatherdd %ymm0$(comma)(%eax$(comma)%ymm1\ 8avx2_supported := $(call as-instr,vpgatherdd %ymm0$(comma)(%eax$(comma)%ymm1\
7 $(comma)4)$(comma)%ymm2,yes,no) 9 $(comma)4)$(comma)%ymm2,yes,no)
diff --git a/arch/x86/crypto/sha1-mb/Makefile b/arch/x86/crypto/sha1-mb/Makefile
index 2f8756375df5..2e14acc3da25 100644
--- a/arch/x86/crypto/sha1-mb/Makefile
+++ b/arch/x86/crypto/sha1-mb/Makefile
@@ -2,6 +2,8 @@
2# Arch-specific CryptoAPI modules. 2# Arch-specific CryptoAPI modules.
3# 3#
4 4
5OBJECT_FILES_NON_STANDARD := y
6
5avx2_supported := $(call as-instr,vpgatherdd %ymm0$(comma)(%eax$(comma)%ymm1\ 7avx2_supported := $(call as-instr,vpgatherdd %ymm0$(comma)(%eax$(comma)%ymm1\
6 $(comma)4)$(comma)%ymm2,yes,no) 8 $(comma)4)$(comma)%ymm2,yes,no)
7ifeq ($(avx2_supported),yes) 9ifeq ($(avx2_supported),yes)
diff --git a/arch/x86/crypto/sha256-mb/Makefile b/arch/x86/crypto/sha256-mb/Makefile
index 41089e7c400c..45b4fca6c4a8 100644
--- a/arch/x86/crypto/sha256-mb/Makefile
+++ b/arch/x86/crypto/sha256-mb/Makefile
@@ -2,6 +2,8 @@
2# Arch-specific CryptoAPI modules. 2# Arch-specific CryptoAPI modules.
3# 3#
4 4
5OBJECT_FILES_NON_STANDARD := y
6
5avx2_supported := $(call as-instr,vpgatherdd %ymm0$(comma)(%eax$(comma)%ymm1\ 7avx2_supported := $(call as-instr,vpgatherdd %ymm0$(comma)(%eax$(comma)%ymm1\
6 $(comma)4)$(comma)%ymm2,yes,no) 8 $(comma)4)$(comma)%ymm2,yes,no)
7ifeq ($(avx2_supported),yes) 9ifeq ($(avx2_supported),yes)
diff --git a/arch/x86/kernel/Makefile b/arch/x86/kernel/Makefile
index 4b994232cb57..3c7c419c4e3e 100644
--- a/arch/x86/kernel/Makefile
+++ b/arch/x86/kernel/Makefile
@@ -29,6 +29,7 @@ OBJECT_FILES_NON_STANDARD_head_$(BITS).o := y
29OBJECT_FILES_NON_STANDARD_relocate_kernel_$(BITS).o := y 29OBJECT_FILES_NON_STANDARD_relocate_kernel_$(BITS).o := y
30OBJECT_FILES_NON_STANDARD_ftrace_$(BITS).o := y 30OBJECT_FILES_NON_STANDARD_ftrace_$(BITS).o := y
31OBJECT_FILES_NON_STANDARD_test_nx.o := y 31OBJECT_FILES_NON_STANDARD_test_nx.o := y
32OBJECT_FILES_NON_STANDARD_paravirt_patch_$(BITS).o := y
32 33
33# If instrumentation of this dir is enabled, boot hangs during first second. 34# If instrumentation of this dir is enabled, boot hangs during first second.
34# Probably could be more selective here, but note that files related to irqs, 35# Probably could be more selective here, but note that files related to irqs,
diff --git a/arch/x86/kernel/acpi/Makefile b/arch/x86/kernel/acpi/Makefile
index 26b78d86f25a..85a9e17e0dbc 100644
--- a/arch/x86/kernel/acpi/Makefile
+++ b/arch/x86/kernel/acpi/Makefile
@@ -1,3 +1,5 @@
1OBJECT_FILES_NON_STANDARD_wakeup_$(BITS).o := y
2
1obj-$(CONFIG_ACPI) += boot.o 3obj-$(CONFIG_ACPI) += boot.o
2obj-$(CONFIG_ACPI_SLEEP) += sleep.o wakeup_$(BITS).o 4obj-$(CONFIG_ACPI_SLEEP) += sleep.o wakeup_$(BITS).o
3obj-$(CONFIG_ACPI_APEI) += apei.o 5obj-$(CONFIG_ACPI_APEI) += apei.o
diff --git a/arch/x86/kernel/kprobes/opt.c b/arch/x86/kernel/kprobes/opt.c
index 901c640d152f..69ea0bc1cfa3 100644
--- a/arch/x86/kernel/kprobes/opt.c
+++ b/arch/x86/kernel/kprobes/opt.c
@@ -28,6 +28,7 @@
28#include <linux/kdebug.h> 28#include <linux/kdebug.h>
29#include <linux/kallsyms.h> 29#include <linux/kallsyms.h>
30#include <linux/ftrace.h> 30#include <linux/ftrace.h>
31#include <linux/frame.h>
31 32
32#include <asm/text-patching.h> 33#include <asm/text-patching.h>
33#include <asm/cacheflush.h> 34#include <asm/cacheflush.h>
@@ -94,6 +95,7 @@ static void synthesize_set_arg1(kprobe_opcode_t *addr, unsigned long val)
94} 95}
95 96
96asm ( 97asm (
98 "optprobe_template_func:\n"
97 ".global optprobe_template_entry\n" 99 ".global optprobe_template_entry\n"
98 "optprobe_template_entry:\n" 100 "optprobe_template_entry:\n"
99#ifdef CONFIG_X86_64 101#ifdef CONFIG_X86_64
@@ -131,7 +133,12 @@ asm (
131 " popf\n" 133 " popf\n"
132#endif 134#endif
133 ".global optprobe_template_end\n" 135 ".global optprobe_template_end\n"
134 "optprobe_template_end:\n"); 136 "optprobe_template_end:\n"
137 ".type optprobe_template_func, @function\n"
138 ".size optprobe_template_func, .-optprobe_template_func\n");
139
140void optprobe_template_func(void);
141STACK_FRAME_NON_STANDARD(optprobe_template_func);
135 142
136#define TMPL_MOVE_IDX \ 143#define TMPL_MOVE_IDX \
137 ((long)&optprobe_template_val - (long)&optprobe_template_entry) 144 ((long)&optprobe_template_val - (long)&optprobe_template_entry)
diff --git a/arch/x86/kernel/reboot.c b/arch/x86/kernel/reboot.c
index 2544700a2a87..67393fc88353 100644
--- a/arch/x86/kernel/reboot.c
+++ b/arch/x86/kernel/reboot.c
@@ -9,6 +9,7 @@
9#include <linux/sched.h> 9#include <linux/sched.h>
10#include <linux/tboot.h> 10#include <linux/tboot.h>
11#include <linux/delay.h> 11#include <linux/delay.h>
12#include <linux/frame.h>
12#include <acpi/reboot.h> 13#include <acpi/reboot.h>
13#include <asm/io.h> 14#include <asm/io.h>
14#include <asm/apic.h> 15#include <asm/apic.h>
@@ -123,6 +124,7 @@ void __noreturn machine_real_restart(unsigned int type)
123#ifdef CONFIG_APM_MODULE 124#ifdef CONFIG_APM_MODULE
124EXPORT_SYMBOL(machine_real_restart); 125EXPORT_SYMBOL(machine_real_restart);
125#endif 126#endif
127STACK_FRAME_NON_STANDARD(machine_real_restart);
126 128
127/* 129/*
128 * Some Apple MacBook and MacBookPro's needs reboot=p to be able to reboot 130 * Some Apple MacBook and MacBookPro's needs reboot=p to be able to reboot
diff --git a/arch/x86/kvm/svm.c b/arch/x86/kvm/svm.c
index ba9891ac5c56..33460fcdeef9 100644
--- a/arch/x86/kvm/svm.c
+++ b/arch/x86/kvm/svm.c
@@ -36,6 +36,7 @@
36#include <linux/slab.h> 36#include <linux/slab.h>
37#include <linux/amd-iommu.h> 37#include <linux/amd-iommu.h>
38#include <linux/hashtable.h> 38#include <linux/hashtable.h>
39#include <linux/frame.h>
39 40
40#include <asm/apic.h> 41#include <asm/apic.h>
41#include <asm/perf_event.h> 42#include <asm/perf_event.h>
@@ -4906,6 +4907,7 @@ static void svm_vcpu_run(struct kvm_vcpu *vcpu)
4906 4907
4907 mark_all_clean(svm->vmcb); 4908 mark_all_clean(svm->vmcb);
4908} 4909}
4910STACK_FRAME_NON_STANDARD(svm_vcpu_run);
4909 4911
4910static void svm_set_cr3(struct kvm_vcpu *vcpu, unsigned long root) 4912static void svm_set_cr3(struct kvm_vcpu *vcpu, unsigned long root)
4911{ 4913{
diff --git a/arch/x86/kvm/vmx.c b/arch/x86/kvm/vmx.c
index ca5d2b93385c..1b469b6c762f 100644
--- a/arch/x86/kvm/vmx.c
+++ b/arch/x86/kvm/vmx.c
@@ -33,6 +33,7 @@
33#include <linux/slab.h> 33#include <linux/slab.h>
34#include <linux/tboot.h> 34#include <linux/tboot.h>
35#include <linux/hrtimer.h> 35#include <linux/hrtimer.h>
36#include <linux/frame.h>
36#include "kvm_cache_regs.h" 37#include "kvm_cache_regs.h"
37#include "x86.h" 38#include "x86.h"
38 39
@@ -8652,6 +8653,7 @@ static void vmx_handle_external_intr(struct kvm_vcpu *vcpu)
8652 ); 8653 );
8653 } 8654 }
8654} 8655}
8656STACK_FRAME_NON_STANDARD(vmx_handle_external_intr);
8655 8657
8656static bool vmx_has_high_real_mode_segbase(void) 8658static bool vmx_has_high_real_mode_segbase(void)
8657{ 8659{
@@ -9028,6 +9030,7 @@ static void __noclone vmx_vcpu_run(struct kvm_vcpu *vcpu)
9028 vmx_recover_nmi_blocking(vmx); 9030 vmx_recover_nmi_blocking(vmx);
9029 vmx_complete_interrupts(vmx); 9031 vmx_complete_interrupts(vmx);
9030} 9032}
9033STACK_FRAME_NON_STANDARD(vmx_vcpu_run);
9031 9034
9032static void vmx_switch_vmcs(struct kvm_vcpu *vcpu, struct loaded_vmcs *vmcs) 9035static void vmx_switch_vmcs(struct kvm_vcpu *vcpu, struct loaded_vmcs *vmcs)
9033{ 9036{
diff --git a/arch/x86/lib/msr-reg.S b/arch/x86/lib/msr-reg.S
index c81556409bbb..10ffa7e8519f 100644
--- a/arch/x86/lib/msr-reg.S
+++ b/arch/x86/lib/msr-reg.S
@@ -13,14 +13,14 @@
13.macro op_safe_regs op 13.macro op_safe_regs op
14ENTRY(\op\()_safe_regs) 14ENTRY(\op\()_safe_regs)
15 pushq %rbx 15 pushq %rbx
16 pushq %rbp 16 pushq %r12
17 movq %rdi, %r10 /* Save pointer */ 17 movq %rdi, %r10 /* Save pointer */
18 xorl %r11d, %r11d /* Return value */ 18 xorl %r11d, %r11d /* Return value */
19 movl (%rdi), %eax 19 movl (%