diff options
author | Peter Zijlstra <peterz@infradead.org> | 2021-06-24 11:41:14 +0200 |
---|---|---|
committer | Peter Zijlstra <peterz@infradead.org> | 2021-09-17 13:12:16 +0200 |
commit | 209cfd0cbb6722d3461e4f928dc150e4c3811948 (patch) | |
tree | 5383d3aad2dc747a80eeceeba0d764cf0d670345 /arch/x86/kernel/paravirt.c | |
parent | x86/xen: Make read_cr2() noinstr (diff) | |
download | linux-209cfd0cbb6722d3461e4f928dc150e4c3811948.tar.xz linux-209cfd0cbb6722d3461e4f928dc150e4c3811948.zip |
x86/xen: Make write_cr2() noinstr
vmlinux.o: warning: objtool: pv_ops[42]: native_write_cr2
vmlinux.o: warning: objtool: pv_ops[42]: xen_write_cr2
vmlinux.o: warning: objtool: exc_nmi()+0x127: call to pv_ops[42]() leaves .noinstr.text section
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Reviewed-by: Juergen Gross <jgross@suse.com>
Link: https://lore.kernel.org/r/20210624095148.563524913@infradead.org
Diffstat (limited to 'arch/x86/kernel/paravirt.c')
-rw-r--r-- | arch/x86/kernel/paravirt.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/arch/x86/kernel/paravirt.c b/arch/x86/kernel/paravirt.c index e351014fd62e..fc2cf2b6cdba 100644 --- a/arch/x86/kernel/paravirt.c +++ b/arch/x86/kernel/paravirt.c @@ -223,6 +223,11 @@ static noinstr unsigned long pv_native_read_cr2(void) { return native_read_cr2(); } + +static noinstr void pv_native_write_cr2(unsigned long val) +{ + native_write_cr2(val); +} #endif enum paravirt_lazy_mode paravirt_get_lazy_mode(void) @@ -304,7 +309,7 @@ struct paravirt_patch_template pv_ops = { #ifdef CONFIG_PARAVIRT_XXL .mmu.read_cr2 = __PV_IS_CALLEE_SAVE(pv_native_read_cr2), - .mmu.write_cr2 = native_write_cr2, + .mmu.write_cr2 = pv_native_write_cr2, .mmu.read_cr3 = __native_read_cr3, .mmu.write_cr3 = native_write_cr3, |