summaryrefslogtreecommitdiffstats
path: root/arch/x86/xen/xen-ops.h
diff options
context:
space:
mode:
authorJuergen Gross <jgross@suse.com>2021-01-20 14:55:46 +0100
committerBorislav Petkov <bp@suse.de>2021-02-10 12:36:45 +0100
commitab234a260b1f625b26cbefa93ca365b0ae66df33 (patch)
tree3308ecacbf6f66119fb14707eb506de1ab43e027 /arch/x86/xen/xen-ops.h
parentafd30525a659ac0ae0904f0cb4a2ca75522c3123 (diff)
downloadlinux-ab234a260b1f625b26cbefa93ca365b0ae66df33.tar.gz
linux-ab234a260b1f625b26cbefa93ca365b0ae66df33.tar.bz2
linux-ab234a260b1f625b26cbefa93ca365b0ae66df33.zip
x86/pv: Rework arch_local_irq_restore() to not use popf
POPF is a rather expensive operation, so don't use it for restoring irq flags. Instead, test whether interrupts are enabled in the flags parameter and enable interrupts via STI in that case. This results in the restore_fl paravirt op to be no longer needed. Suggested-by: Andy Lutomirski <luto@kernel.org> Signed-off-by: Juergen Gross <jgross@suse.com> Signed-off-by: Borislav Petkov <bp@suse.de> Link: https://lkml.kernel.org/r/20210120135555.32594-7-jgross@suse.com
Diffstat (limited to 'arch/x86/xen/xen-ops.h')
-rw-r--r--arch/x86/xen/xen-ops.h1
1 files changed, 0 insertions, 1 deletions
diff --git a/arch/x86/xen/xen-ops.h b/arch/x86/xen/xen-ops.h
index b2fd80a01a36..8d7ec49a35fb 100644
--- a/arch/x86/xen/xen-ops.h
+++ b/arch/x86/xen/xen-ops.h
@@ -131,7 +131,6 @@ static inline void __init xen_efi_init(struct boot_params *boot_params)
__visible void xen_irq_enable_direct(void);
__visible void xen_irq_disable_direct(void);
__visible unsigned long xen_save_fl_direct(void);
-__visible void xen_restore_fl_direct(unsigned long);
__visible unsigned long xen_read_cr2(void);
__visible unsigned long xen_read_cr2_direct(void);