File tree Expand file tree Collapse file tree 3 files changed +9
-5
lines changed Expand file tree Collapse file tree 3 files changed +9
-5
lines changed Original file line number Diff line number Diff line change @@ -243,6 +243,11 @@ static noinstr void pv_native_irq_enable(void)
243
243
{
244
244
native_irq_enable ();
245
245
}
246
+
247
+ static noinstr void pv_native_irq_disable (void )
248
+ {
249
+ native_irq_disable ();
250
+ }
246
251
#endif
247
252
248
253
enum paravirt_lazy_mode paravirt_get_lazy_mode (void )
@@ -306,7 +311,7 @@ struct paravirt_patch_template pv_ops = {
306
311
307
312
/* Irq ops. */
308
313
.irq .save_fl = __PV_IS_CALLEE_SAVE (native_save_fl ),
309
- .irq .irq_disable = __PV_IS_CALLEE_SAVE (native_irq_disable ),
314
+ .irq .irq_disable = __PV_IS_CALLEE_SAVE (pv_native_irq_disable ),
310
315
.irq .irq_enable = __PV_IS_CALLEE_SAVE (pv_native_irq_enable ),
311
316
.irq .safe_halt = native_safe_halt ,
312
317
.irq .halt = native_halt ,
Original file line number Diff line number Diff line change @@ -42,7 +42,7 @@ asmlinkage __visible noinstr unsigned long xen_save_fl(void)
42
42
}
43
43
__PV_CALLEE_SAVE_REGS_THUNK (xen_save_fl , ".noinstr.text" );
44
44
45
- asmlinkage __visible void xen_irq_disable (void )
45
+ asmlinkage __visible noinstr void xen_irq_disable (void )
46
46
{
47
47
/* There's a one instruction preempt window here. We need to
48
48
make sure we're don't switch CPUs between getting the vcpu
@@ -51,7 +51,7 @@ asmlinkage __visible void xen_irq_disable(void)
51
51
this_cpu_read (xen_vcpu )-> evtchn_upcall_mask = 1 ;
52
52
preempt_enable_no_resched ();
53
53
}
54
- PV_CALLEE_SAVE_REGS_THUNK (xen_irq_disable );
54
+ __PV_CALLEE_SAVE_REGS_THUNK (xen_irq_disable , ".noinstr.text" );
55
55
56
56
asmlinkage __visible noinstr void xen_irq_enable (void )
57
57
{
Original file line number Diff line number Diff line change 21
21
#include <linux/init.h>
22
22
#include <linux/linkage.h>
23
23
24
+ .pushsection .noinstr.text, "ax"
24
25
/*
25
26
* Disabling events is simply a matter of making the event mask
26
27
* non-zero.
@@ -30,8 +31,6 @@ SYM_FUNC_START(xen_irq_disable_direct)
30
31
ret
31
32
SYM_FUNC_END(xen_irq_disable_direct)
32
33
33
- .pushsection .noinstr.text, "ax"
34
-
35
34
/*
36
35
* Force an event check by making a hypercall, but preserve regs
37
36
* before making the call.
You can’t perform that action at this time.
0 commit comments