diff options
Diffstat (limited to 'arch/x86/kernel/vsmp_64.c')
-rw-r--r-- | arch/x86/kernel/vsmp_64.c | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/arch/x86/kernel/vsmp_64.c b/arch/x86/kernel/vsmp_64.c index 4a790a5f61b..13bd82453e4 100644 --- a/arch/x86/kernel/vsmp_64.c +++ b/arch/x86/kernel/vsmp_64.c | |||
@@ -78,12 +78,6 @@ static void __init set_vsmp_pv_ops(void) | |||
78 | void *address; | 78 | void *address; |
79 | unsigned int cap, ctl, cfg; | 79 | unsigned int cap, ctl, cfg; |
80 | 80 | ||
81 | pv_irq_ops.irq_disable = vsmp_irq_disable; | ||
82 | pv_irq_ops.irq_enable = vsmp_irq_enable; | ||
83 | pv_irq_ops.save_fl = vsmp_save_fl; | ||
84 | pv_irq_ops.restore_fl = vsmp_restore_fl; | ||
85 | pv_init_ops.patch = vsmp_patch; | ||
86 | |||
87 | /* set vSMP magic bits to indicate vSMP capable kernel */ | 81 | /* set vSMP magic bits to indicate vSMP capable kernel */ |
88 | cfg = read_pci_config(0, 0x1f, 0, PCI_BASE_ADDRESS_0); | 82 | cfg = read_pci_config(0, 0x1f, 0, PCI_BASE_ADDRESS_0); |
89 | address = early_ioremap(cfg, 8); | 83 | address = early_ioremap(cfg, 8); |
@@ -92,7 +86,13 @@ static void __init set_vsmp_pv_ops(void) | |||
92 | printk(KERN_INFO "vSMP CTL: capabilities:0x%08x control:0x%08x\n", | 86 | printk(KERN_INFO "vSMP CTL: capabilities:0x%08x control:0x%08x\n", |
93 | cap, ctl); | 87 | cap, ctl); |
94 | if (cap & ctl & (1 << 4)) { | 88 | if (cap & ctl & (1 << 4)) { |
95 | /* Turn on vSMP IRQ fastpath handling (see system.h) */ | 89 | /* Setup irq ops and turn on vSMP IRQ fastpath handling */ |
90 | pv_irq_ops.irq_disable = vsmp_irq_disable; | ||
91 | pv_irq_ops.irq_enable = vsmp_irq_enable; | ||
92 | pv_irq_ops.save_fl = vsmp_save_fl; | ||
93 | pv_irq_ops.restore_fl = vsmp_restore_fl; | ||
94 | pv_init_ops.patch = vsmp_patch; | ||
95 | |||
96 | ctl &= ~(1 << 4); | 96 | ctl &= ~(1 << 4); |
97 | writel(ctl, address + 4); | 97 | writel(ctl, address + 4); |
98 | ctl = readl(address + 4); | 98 | ctl = readl(address + 4); |