Introduce self IPI op for genapic. Signed-off-by: Suresh Siddha --- Index: tree-x86/arch/x86/kernel/genapic_64.c =================================================================== --- tree-x86.orig/arch/x86/kernel/genapic_64.c 2008-07-10 09:52:12.000000000 -0700 +++ tree-x86/arch/x86/kernel/genapic_64.c 2008-07-10 09:52:24.000000000 -0700 @@ -61,7 +61,7 @@ /* Same for both flat and physical. */ -void send_IPI_self(int vector) +void apic_send_IPI_self(int vector) { __send_IPI_shortcut(APIC_DEST_SELF, vector, APIC_DEST_PHYSICAL); } Index: tree-x86/arch/x86/kernel/genapic_flat_64.c =================================================================== --- tree-x86.orig/arch/x86/kernel/genapic_flat_64.c 2008-07-10 09:52:12.000000000 -0700 +++ tree-x86/arch/x86/kernel/genapic_flat_64.c 2008-07-10 09:52:24.000000000 -0700 @@ -131,6 +131,7 @@ .send_IPI_all = flat_send_IPI_all, .send_IPI_allbutself = flat_send_IPI_allbutself, .send_IPI_mask = flat_send_IPI_mask, + .send_IPI_self = apic_send_IPI_self, .cpu_mask_to_apicid = flat_cpu_mask_to_apicid, .phys_pkg_id = phys_pkg_id, .read_apic_id = read_xapic_id, @@ -196,6 +197,7 @@ .send_IPI_all = physflat_send_IPI_all, .send_IPI_allbutself = physflat_send_IPI_allbutself, .send_IPI_mask = physflat_send_IPI_mask, + .send_IPI_self = apic_send_IPI_self, .cpu_mask_to_apicid = physflat_cpu_mask_to_apicid, .phys_pkg_id = phys_pkg_id, .read_apic_id = read_xapic_id, Index: tree-x86/include/asm-x86/genapic_64.h =================================================================== --- tree-x86.orig/include/asm-x86/genapic_64.h 2008-07-10 09:52:12.000000000 -0700 +++ tree-x86/include/asm-x86/genapic_64.h 2008-07-10 09:52:24.000000000 -0700 @@ -24,6 +24,7 @@ void (*send_IPI_mask)(cpumask_t mask, int vector); void (*send_IPI_allbutself)(int vector); void (*send_IPI_all)(int vector); + void (*send_IPI_self)(int vector); /* */ unsigned int (*cpu_mask_to_apicid)(cpumask_t cpumask); unsigned int (*phys_pkg_id)(int index_msb); @@ -36,6 +37,7 @@ extern struct genapic apic_physflat; extern int acpi_madt_oem_check(char *, char *); +extern void apic_send_IPI_self(int vector); enum uv_system_type {UV_NONE, UV_LEGACY_APIC, UV_X2APIC, UV_NON_UNIQUE_APIC}; extern enum uv_system_type get_uv_system_type(void); extern int is_uv_system(void); Index: tree-x86/include/asm-x86/hw_irq.h =================================================================== --- tree-x86.orig/include/asm-x86/hw_irq.h 2008-07-10 09:51:45.000000000 -0700 +++ tree-x86/include/asm-x86/hw_irq.h 2008-07-10 09:52:24.000000000 -0700 @@ -73,7 +73,9 @@ #endif /* IPI functions */ +#ifdef CONFIG_X86_32 extern void send_IPI_self(int vector); +#endif extern void send_IPI(int dest, int vector); /* Statistics */ Index: tree-x86/include/asm-x86/mach-default/mach_apic.h =================================================================== --- tree-x86.orig/include/asm-x86/mach-default/mach_apic.h 2008-07-10 09:52:12.000000000 -0700 +++ tree-x86/include/asm-x86/mach-default/mach_apic.h 2008-07-10 09:52:24.000000000 -0700 @@ -31,6 +31,7 @@ #define phys_pkg_id (genapic->phys_pkg_id) #define vector_allocation_domain (genapic->vector_allocation_domain) #define read_apic_id (genapic->read_apic_id) +#define send_IPI_self (genapic->send_IPI_self) extern void setup_apic_routing(void); #else #define INT_DELIVERY_MODE dest_LowestPrio -- -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/