diff options
| author | Thomas Gleixner <tglx@linutronix.de> | 2015-09-30 21:20:39 +0200 |
|---|---|---|
| committer | Thomas Gleixner <tglx@linutronix.de> | 2015-09-30 21:20:39 +0200 |
| commit | 09907ca630047bbeaa96de0102df7a6cc3a966cd (patch) | |
| tree | 99e2155ea7b87ebdbeea96b7165d55ad0413006d /arch/x86/kernel | |
| parent | d786ad32c305ca0f6be1924558866fe9f901e291 (diff) | |
| parent | e02ae3871355194a61b03a07d96fd71e81d7eff9 (diff) | |
| download | linux-09907ca630047bbeaa96de0102df7a6cc3a966cd.tar.gz linux-09907ca630047bbeaa96de0102df7a6cc3a966cd.tar.bz2 linux-09907ca630047bbeaa96de0102df7a6cc3a966cd.zip | |
Merge branch 'x86/for-kvm' into x86/apic
Pull in the apic change which is provided for kvm folks to pull into
their tree.
Diffstat (limited to 'arch/x86/kernel')
| -rw-r--r-- | arch/x86/kernel/paravirt.c | 16 |
1 files changed, 12 insertions, 4 deletions
diff --git a/arch/x86/kernel/paravirt.c b/arch/x86/kernel/paravirt.c index f68e48f5f6c2..c2130aef3f9d 100644 --- a/arch/x86/kernel/paravirt.c +++ b/arch/x86/kernel/paravirt.c @@ -41,10 +41,18 @@ #include <asm/timer.h> #include <asm/special_insns.h> -/* nop stub */ -void _paravirt_nop(void) -{ -} +/* + * nop stub, which must not clobber anything *including the stack* to + * avoid confusing the entry prologues. + */ +extern void _paravirt_nop(void); +asm (".pushsection .entry.text, \"ax\"\n" + ".global _paravirt_nop\n" + "_paravirt_nop:\n\t" + "ret\n\t" + ".size _paravirt_nop, . - _paravirt_nop\n\t" + ".type _paravirt_nop, @function\n\t" + ".popsection"); /* identity function, which can be inlined */ u32 _paravirt_ident_32(u32 x) |
