x86/paravirt: Move the pv_irq_ops under the PARAVIRT_XXL umbrella
[linux-block.git] / arch / x86 / kernel / vsmp_64.c
index 44685fb2a192f7969ed6453fb56c16ff5a33ca40..1eae5af491c278367630f805c48d78cc32f29cbb 100644 (file)
@@ -26,7 +26,7 @@
 
 #define TOPOLOGY_REGISTER_OFFSET 0x10
 
-#if defined CONFIG_PCI && defined CONFIG_PARAVIRT
+#if defined CONFIG_PCI && defined CONFIG_PARAVIRT_XXL
 /*
  * Interrupt control on vSMPowered systems:
  * ~AC is a shadow of IF.  If IF is 'on' AC should be 'off'
@@ -69,17 +69,17 @@ asmlinkage __visible void vsmp_irq_enable(void)
 }
 PV_CALLEE_SAVE_REGS_THUNK(vsmp_irq_enable);
 
-static unsigned __init vsmp_patch(u8 type, u16 clobbers, void *ibuf,
+static unsigned __init vsmp_patch(u8 type, void *ibuf,
                                  unsigned long addr, unsigned len)
 {
        switch (type) {
-       case PARAVIRT_PATCH(pv_irq_ops.irq_enable):
-       case PARAVIRT_PATCH(pv_irq_ops.irq_disable):
-       case PARAVIRT_PATCH(pv_irq_ops.save_fl):
-       case PARAVIRT_PATCH(pv_irq_ops.restore_fl):
-               return paravirt_patch_default(type, clobbers, ibuf, addr, len);
+       case PARAVIRT_PATCH(irq.irq_enable):
+       case PARAVIRT_PATCH(irq.irq_disable):
+       case PARAVIRT_PATCH(irq.save_fl):
+       case PARAVIRT_PATCH(irq.restore_fl):
+               return paravirt_patch_default(type, ibuf, addr, len);
        default:
-               return native_patch(type, clobbers, ibuf, addr, len);
+               return native_patch(type, ibuf, addr, len);
        }
 
 }
@@ -111,11 +111,11 @@ static void __init set_vsmp_pv_ops(void)
 
        if (cap & ctl & (1 << 4)) {
                /* Setup irq ops and turn on vSMP  IRQ fastpath handling */
-               pv_irq_ops.irq_disable = PV_CALLEE_SAVE(vsmp_irq_disable);
-               pv_irq_ops.irq_enable  = PV_CALLEE_SAVE(vsmp_irq_enable);
-               pv_irq_ops.save_fl  = PV_CALLEE_SAVE(vsmp_save_fl);
-               pv_irq_ops.restore_fl  = PV_CALLEE_SAVE(vsmp_restore_fl);
-               pv_init_ops.patch = vsmp_patch;
+               pv_ops.irq.irq_disable = PV_CALLEE_SAVE(vsmp_irq_disable);
+               pv_ops.irq.irq_enable = PV_CALLEE_SAVE(vsmp_irq_enable);
+               pv_ops.irq.save_fl = PV_CALLEE_SAVE(vsmp_save_fl);
+               pv_ops.irq.restore_fl = PV_CALLEE_SAVE(vsmp_restore_fl);
+               pv_ops.init.patch = vsmp_patch;
                ctl &= ~(1 << 4);
        }
        writel(ctl, address + 4);