aboutsummaryrefslogtreecommitdiffstats
path: root/include/asm-x86/paravirt.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/asm-x86/paravirt.h')
-rw-r--r--include/asm-x86/paravirt.h9
1 files changed, 9 insertions, 0 deletions
diff --git a/include/asm-x86/paravirt.h b/include/asm-x86/paravirt.h
index 3286a0c63b42..3dc223da200b 100644
--- a/include/asm-x86/paravirt.h
+++ b/include/asm-x86/paravirt.h
@@ -189,6 +189,10 @@ struct pv_irq_ops {
189 void (*irq_enable)(void); 189 void (*irq_enable)(void);
190 void (*safe_halt)(void); 190 void (*safe_halt)(void);
191 void (*halt)(void); 191 void (*halt)(void);
192
193#ifdef CONFIG_X86_64
194 void (*adjust_exception_frame)(void);
195#endif
192}; 196};
193 197
194struct pv_apic_ops { 198struct pv_apic_ops {
@@ -1544,6 +1548,11 @@ static inline unsigned long __raw_local_irq_save(void)
1544 movq %rax, %rcx; \ 1548 movq %rax, %rcx; \
1545 xorq %rax, %rax; 1549 xorq %rax, %rax;
1546 1550
1551#define PARAVIRT_ADJUST_EXCEPTION_FRAME \
1552 PARA_SITE(PARA_PATCH(pv_irq_ops, PV_IRQ_adjust_exception_frame), \
1553 CLBR_NONE, \
1554 call PARA_INDIRECT(pv_irq_ops+PV_IRQ_adjust_exception_frame))
1555
1547#define USERGS_SYSRET64 \ 1556#define USERGS_SYSRET64 \
1548 PARA_SITE(PARA_PATCH(pv_cpu_ops, PV_CPU_usergs_sysret64), \ 1557 PARA_SITE(PARA_PATCH(pv_cpu_ops, PV_CPU_usergs_sysret64), \
1549 CLBR_NONE, \ 1558 CLBR_NONE, \