Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

x86/paravirt: Remove unused pv_apic_ops structure

The only member of that structure is startup_ipi_hook which is always
set to paravirt_nop.

Signed-off-by: Juergen Gross <jgross@suse.com>
Reviewed-by: David Vrabel <david.vrabel@citrix.com>
Cc: jeremy@goop.org
Cc: chrisw@sous-sol.org
Cc: akataria@vmware.com
Cc: rusty@rustcorp.com.au
Cc: virtualization@lists.linux-foundation.org
Cc: xen-devel@lists.xen.org
Cc: konrad.wilk@oracle.com
Cc: boris.ostrovsky@oracle.com
Link: http://lkml.kernel.org/r/1447767872-16730-1-git-send-email-jgross@suse.com
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>

authored by

Juergen Gross and committed by
Thomas Gleixner
46095865 2f7a3f8e

-44
-9
arch/x86/include/asm/paravirt.h
··· 285 285 #endif 286 286 } 287 287 288 - #ifdef CONFIG_SMP 289 - static inline void startup_ipi_hook(int phys_apicid, unsigned long start_eip, 290 - unsigned long start_esp) 291 - { 292 - PVOP_VCALL3(pv_apic_ops.startup_ipi_hook, 293 - phys_apicid, start_eip, start_esp); 294 - } 295 - #endif 296 - 297 288 static inline void paravirt_activate_mm(struct mm_struct *prev, 298 289 struct mm_struct *next) 299 290 {
-10
arch/x86/include/asm/paravirt_types.h
··· 215 215 #endif 216 216 }; 217 217 218 - struct pv_apic_ops { 219 - #ifdef CONFIG_X86_LOCAL_APIC 220 - void (*startup_ipi_hook)(int phys_apicid, 221 - unsigned long start_eip, 222 - unsigned long start_esp); 223 - #endif 224 - }; 225 - 226 218 struct pv_mmu_ops { 227 219 unsigned long (*read_cr2)(void); 228 220 void (*write_cr2)(unsigned long); ··· 346 354 struct pv_time_ops pv_time_ops; 347 355 struct pv_cpu_ops pv_cpu_ops; 348 356 struct pv_irq_ops pv_irq_ops; 349 - struct pv_apic_ops pv_apic_ops; 350 357 struct pv_mmu_ops pv_mmu_ops; 351 358 struct pv_lock_ops pv_lock_ops; 352 359 }; ··· 355 364 extern struct pv_time_ops pv_time_ops; 356 365 extern struct pv_cpu_ops pv_cpu_ops; 357 366 extern struct pv_irq_ops pv_irq_ops; 358 - extern struct pv_apic_ops pv_apic_ops; 359 367 extern struct pv_mmu_ops pv_mmu_ops; 360 368 extern struct pv_lock_ops pv_lock_ops; 361 369
-3
arch/x86/include/asm/smp.h
··· 65 65 extern void set_cpu_sibling_map(int cpu); 66 66 67 67 #ifdef CONFIG_SMP 68 - #ifndef CONFIG_PARAVIRT 69 - #define startup_ipi_hook(phys_apicid, start_eip, start_esp) do { } while (0) 70 - #endif 71 68 extern struct smp_ops smp_ops; 72 69 73 70 static inline void smp_send_stop(void)
-8
arch/x86/kernel/paravirt.c
··· 123 123 .pv_time_ops = pv_time_ops, 124 124 .pv_cpu_ops = pv_cpu_ops, 125 125 .pv_irq_ops = pv_irq_ops, 126 - .pv_apic_ops = pv_apic_ops, 127 126 .pv_mmu_ops = pv_mmu_ops, 128 127 #ifdef CONFIG_PARAVIRT_SPINLOCKS 129 128 .pv_lock_ops = pv_lock_ops, ··· 391 392 NOKPROBE_SYMBOL(native_set_debugreg); 392 393 NOKPROBE_SYMBOL(native_load_idt); 393 394 394 - struct pv_apic_ops pv_apic_ops = { 395 - #ifdef CONFIG_X86_LOCAL_APIC 396 - .startup_ipi_hook = paravirt_nop, 397 - #endif 398 - }; 399 - 400 395 #if defined(CONFIG_X86_32) && !defined(CONFIG_X86_PAE) 401 396 /* 32-bit pagetable entries */ 402 397 #define PTE_IDENT __PV_IS_CALLEE_SAVE(_paravirt_ident_32) ··· 474 481 EXPORT_SYMBOL_GPL(pv_time_ops); 475 482 EXPORT_SYMBOL (pv_cpu_ops); 476 483 EXPORT_SYMBOL (pv_mmu_ops); 477 - EXPORT_SYMBOL_GPL(pv_apic_ops); 478 484 EXPORT_SYMBOL_GPL(pv_info); 479 485 EXPORT_SYMBOL (pv_irq_ops);
-7
arch/x86/kernel/smpboot.c
··· 629 629 num_starts = 0; 630 630 631 631 /* 632 - * Paravirt / VMI wants a startup IPI hook here to set up the 633 - * target processor state. 634 - */ 635 - startup_ipi_hook(phys_apicid, (unsigned long) start_secondary, 636 - stack_start); 637 - 638 - /* 639 632 * Run STARTUP IPI loop. 640 633 */ 641 634 pr_debug("#startup loops: %d\n", num_starts);
-7
arch/x86/xen/enlighten.c
··· 1264 1264 .end_context_switch = xen_end_context_switch, 1265 1265 }; 1266 1266 1267 - static const struct pv_apic_ops xen_apic_ops __initconst = { 1268 - #ifdef CONFIG_X86_LOCAL_APIC 1269 - .startup_ipi_hook = paravirt_nop, 1270 - #endif 1271 - }; 1272 - 1273 1267 static void xen_reboot(int reason) 1274 1268 { 1275 1269 struct sched_shutdown r = { .reason = reason }; ··· 1529 1535 /* Install Xen paravirt ops */ 1530 1536 pv_info = xen_info; 1531 1537 pv_init_ops = xen_init_ops; 1532 - pv_apic_ops = xen_apic_ops; 1533 1538 if (!xen_pvh_domain()) { 1534 1539 pv_cpu_ops = xen_cpu_ops; 1535 1540