1 /* two abstractions specific to kernel/smpboot.c, mainly to cater to visws
2 * which needs to alter them. */
4 static inline void smpboot_clear_io_apic_irqs(void)
7 printk("smpboot_clear_io_apic_irqs\n");
13 static inline void smpboot_setup_warm_reset_vector(unsigned long start_eip)
16 printk("smpboot_setup_warm_reset_vector\n");
21 *((volatile unsigned short *) TRAMPOLINE_HIGH) = start_eip >> 4;
23 *((volatile unsigned short *) TRAMPOLINE_LOW) = start_eip & 0xf;
28 static inline void smpboot_restore_warm_reset_vector(void)
31 * Install writable page 0 entry to set BIOS data area.
36 * Paranoid: Set warm reset code and vector here back
41 *((volatile long *) phys_to_virt(0x467)) = 0;
44 static inline void smpboot_setup_io_apic(void)
47 printk("smpboot_setup_io_apic\n");
50 * Here we can be sure that there is an IO-APIC in the system. Let's
53 if (!skip_ioapic_setup && nr_ioapics)
59 #define smp_found_config (HYPERVISOR_shared_info->n_vcpu > 1)