x86, smp: remove mach_ipi.h
Move mach_ipi.h definitions into genapic.h. Signed-off-by: Ingo Molnar <mingo@elte.hu>
This commit is contained in:
@@ -259,4 +259,5 @@ static inline physid_mask_t default_apicid_to_cpu_present(int phys_apicid)
|
|||||||
}
|
}
|
||||||
|
|
||||||
#endif /* CONFIG_X86_LOCAL_APIC */
|
#endif /* CONFIG_X86_LOCAL_APIC */
|
||||||
|
|
||||||
#endif /* _ASM_X86_GENAPIC_64_H */
|
#endif /* _ASM_X86_GENAPIC_64_H */
|
||||||
|
@@ -1,6 +1,8 @@
|
|||||||
#ifndef _ASM_X86_IPI_H
|
#ifndef _ASM_X86_IPI_H
|
||||||
#define _ASM_X86_IPI_H
|
#define _ASM_X86_IPI_H
|
||||||
|
|
||||||
|
#ifdef CONFIG_X86_LOCAL_APIC
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Copyright 2004 James Cleverdon, IBM.
|
* Copyright 2004 James Cleverdon, IBM.
|
||||||
* Subject to the GNU Public License, v.2
|
* Subject to the GNU Public License, v.2
|
||||||
@@ -56,8 +58,7 @@ static inline void __xapic_wait_icr_idle(void)
|
|||||||
}
|
}
|
||||||
|
|
||||||
static inline void
|
static inline void
|
||||||
__default_send_IPI_shortcut(unsigned int shortcut,
|
__default_send_IPI_shortcut(unsigned int shortcut, int vector, unsigned int dest)
|
||||||
int vector, unsigned int dest)
|
|
||||||
{
|
{
|
||||||
/*
|
/*
|
||||||
* Subtle. In the case of the 'never do double writes' workaround
|
* Subtle. In the case of the 'never do double writes' workaround
|
||||||
@@ -156,4 +157,60 @@ default_send_IPI_mask_allbutself(const struct cpumask *mask, int vector)
|
|||||||
local_irq_restore(flags);
|
local_irq_restore(flags);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/* Avoid include hell */
|
||||||
|
#define NMI_VECTOR 0x02
|
||||||
|
|
||||||
|
void default_send_IPI_mask_bitmask(const struct cpumask *mask, int vector);
|
||||||
|
void default_send_IPI_mask_allbutself(const struct cpumask *mask, int vector);
|
||||||
|
|
||||||
|
extern int no_broadcast;
|
||||||
|
|
||||||
|
#ifdef CONFIG_X86_64
|
||||||
|
#include <asm/genapic.h>
|
||||||
|
#else
|
||||||
|
static inline void default_send_IPI_mask(const struct cpumask *mask, int vector)
|
||||||
|
{
|
||||||
|
default_send_IPI_mask_bitmask(mask, vector);
|
||||||
|
}
|
||||||
|
void default_send_IPI_mask_allbutself(const struct cpumask *mask, int vector);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
static inline void __default_local_send_IPI_allbutself(int vector)
|
||||||
|
{
|
||||||
|
if (no_broadcast || vector == NMI_VECTOR)
|
||||||
|
apic->send_IPI_mask_allbutself(cpu_online_mask, vector);
|
||||||
|
else
|
||||||
|
__default_send_IPI_shortcut(APIC_DEST_ALLBUT, vector, apic->dest_logical);
|
||||||
|
}
|
||||||
|
|
||||||
|
static inline void __default_local_send_IPI_all(int vector)
|
||||||
|
{
|
||||||
|
if (no_broadcast || vector == NMI_VECTOR)
|
||||||
|
apic->send_IPI_mask(cpu_online_mask, vector);
|
||||||
|
else
|
||||||
|
__default_send_IPI_shortcut(APIC_DEST_ALLINC, vector, apic->dest_logical);
|
||||||
|
}
|
||||||
|
|
||||||
|
#ifdef CONFIG_X86_32
|
||||||
|
static inline void default_send_IPI_allbutself(int vector)
|
||||||
|
{
|
||||||
|
/*
|
||||||
|
* if there are no other CPUs in the system then we get an APIC send
|
||||||
|
* error if we try to broadcast, thus avoid sending IPIs in this case.
|
||||||
|
*/
|
||||||
|
if (!(num_online_cpus() > 1))
|
||||||
|
return;
|
||||||
|
|
||||||
|
__default_local_send_IPI_allbutself(vector);
|
||||||
|
}
|
||||||
|
|
||||||
|
static inline void default_send_IPI_all(int vector)
|
||||||
|
{
|
||||||
|
__default_local_send_IPI_all(vector);
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
||||||
#endif /* _ASM_X86_IPI_H */
|
#endif /* _ASM_X86_IPI_H */
|
||||||
|
@@ -1,58 +0,0 @@
|
|||||||
#ifndef _ASM_X86_MACH_DEFAULT_MACH_IPI_H
|
|
||||||
#define _ASM_X86_MACH_DEFAULT_MACH_IPI_H
|
|
||||||
|
|
||||||
/* Avoid include hell */
|
|
||||||
#define NMI_VECTOR 0x02
|
|
||||||
|
|
||||||
void default_send_IPI_mask_bitmask(const struct cpumask *mask, int vector);
|
|
||||||
void default_send_IPI_mask_allbutself(const struct cpumask *mask, int vector);
|
|
||||||
void __default_send_IPI_shortcut(unsigned int shortcut, int vector);
|
|
||||||
|
|
||||||
extern int no_broadcast;
|
|
||||||
|
|
||||||
#ifdef CONFIG_X86_64
|
|
||||||
#include <asm/genapic.h>
|
|
||||||
#else
|
|
||||||
static inline void default_send_IPI_mask(const struct cpumask *mask, int vector)
|
|
||||||
{
|
|
||||||
default_send_IPI_mask_bitmask(mask, vector);
|
|
||||||
}
|
|
||||||
void default_send_IPI_mask_allbutself(const struct cpumask *mask, int vector);
|
|
||||||
#endif
|
|
||||||
|
|
||||||
static inline void __default_local_send_IPI_allbutself(int vector)
|
|
||||||
{
|
|
||||||
if (no_broadcast || vector == NMI_VECTOR)
|
|
||||||
apic->send_IPI_mask_allbutself(cpu_online_mask, vector);
|
|
||||||
else
|
|
||||||
__default_send_IPI_shortcut(APIC_DEST_ALLBUT, vector);
|
|
||||||
}
|
|
||||||
|
|
||||||
static inline void __default_local_send_IPI_all(int vector)
|
|
||||||
{
|
|
||||||
if (no_broadcast || vector == NMI_VECTOR)
|
|
||||||
apic->send_IPI_mask(cpu_online_mask, vector);
|
|
||||||
else
|
|
||||||
__default_send_IPI_shortcut(APIC_DEST_ALLINC, vector);
|
|
||||||
}
|
|
||||||
|
|
||||||
#ifdef CONFIG_X86_32
|
|
||||||
static inline void default_send_IPI_allbutself(int vector)
|
|
||||||
{
|
|
||||||
/*
|
|
||||||
* if there are no other CPUs in the system then we get an APIC send
|
|
||||||
* error if we try to broadcast, thus avoid sending IPIs in this case.
|
|
||||||
*/
|
|
||||||
if (!(num_online_cpus() > 1))
|
|
||||||
return;
|
|
||||||
|
|
||||||
__default_local_send_IPI_allbutself(vector);
|
|
||||||
}
|
|
||||||
|
|
||||||
static inline void default_send_IPI_all(int vector)
|
|
||||||
{
|
|
||||||
__default_local_send_IPI_all(vector);
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#endif /* _ASM_X86_MACH_DEFAULT_MACH_IPI_H */
|
|
@@ -1,15 +0,0 @@
|
|||||||
#ifndef _ASM_X86_MACH_GENERIC_GPIO_H
|
|
||||||
#define _ASM_X86_MACH_GENERIC_GPIO_H
|
|
||||||
|
|
||||||
int gpio_request(unsigned gpio, const char *label);
|
|
||||||
void gpio_free(unsigned gpio);
|
|
||||||
int gpio_direction_input(unsigned gpio);
|
|
||||||
int gpio_direction_output(unsigned gpio, int value);
|
|
||||||
int gpio_get_value(unsigned gpio);
|
|
||||||
void gpio_set_value(unsigned gpio, int value);
|
|
||||||
int gpio_to_irq(unsigned gpio);
|
|
||||||
int irq_to_gpio(unsigned irq);
|
|
||||||
|
|
||||||
#include <asm-generic/gpio.h> /* cansleep wrappers */
|
|
||||||
|
|
||||||
#endif /* _ASM_X86_MACH_GENERIC_GPIO_H */
|
|
@@ -1,6 +0,0 @@
|
|||||||
#ifndef _ASM_X86_MACH_GENERIC_MACH_IPI_H
|
|
||||||
#define _ASM_X86_MACH_GENERIC_MACH_IPI_H
|
|
||||||
|
|
||||||
#include <asm/genapic.h>
|
|
||||||
|
|
||||||
#endif /* _ASM_X86_MACH_GENERIC_MACH_IPI_H */
|
|
@@ -1,4 +0,0 @@
|
|||||||
#ifndef _ASM_X86_MACH_GENERIC_MACH_WAKECPU_H
|
|
||||||
#define _ASM_X86_MACH_GENERIC_MACH_WAKECPU_H
|
|
||||||
|
|
||||||
#endif /* _ASM_X86_MACH_GENERIC_MACH_APIC_H */
|
|
@@ -49,7 +49,7 @@
|
|||||||
#include <asm/i8259.h>
|
#include <asm/i8259.h>
|
||||||
#include <asm/smp.h>
|
#include <asm/smp.h>
|
||||||
|
|
||||||
#include <mach_ipi.h>
|
#include <asm/genapic.h>
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Sanity check
|
* Sanity check
|
||||||
|
@@ -28,7 +28,7 @@
|
|||||||
#include <asm/reboot.h>
|
#include <asm/reboot.h>
|
||||||
#include <asm/virtext.h>
|
#include <asm/virtext.h>
|
||||||
|
|
||||||
#include <mach_ipi.h>
|
#include <asm/genapic.h>
|
||||||
|
|
||||||
|
|
||||||
#if defined(CONFIG_SMP) && defined(CONFIG_X86_LOCAL_APIC)
|
#if defined(CONFIG_SMP) && defined(CONFIG_X86_LOCAL_APIC)
|
||||||
|
@@ -62,7 +62,6 @@
|
|||||||
#include <asm/uv/uv_hub.h>
|
#include <asm/uv/uv_hub.h>
|
||||||
#include <asm/uv/uv_irq.h>
|
#include <asm/uv/uv_irq.h>
|
||||||
|
|
||||||
#include <mach_ipi.h>
|
|
||||||
#include <asm/genapic.h>
|
#include <asm/genapic.h>
|
||||||
|
|
||||||
#define __apicdebuginit(type) static type __init
|
#define __apicdebuginit(type) static type __init
|
||||||
|
@@ -20,7 +20,6 @@
|
|||||||
|
|
||||||
#ifdef CONFIG_X86_32
|
#ifdef CONFIG_X86_32
|
||||||
#include <asm/genapic.h>
|
#include <asm/genapic.h>
|
||||||
#include <mach_ipi.h>
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* the following functions deal with sending IPIs between CPUs.
|
* the following functions deal with sending IPIs between CPUs.
|
||||||
|
@@ -46,7 +46,7 @@
|
|||||||
#include <asm/apicdef.h>
|
#include <asm/apicdef.h>
|
||||||
#include <asm/system.h>
|
#include <asm/system.h>
|
||||||
|
|
||||||
#include <mach_ipi.h>
|
#include <asm/genapic.h>
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Put the error code here just in case the user cares:
|
* Put the error code here just in case the user cares:
|
||||||
|
@@ -24,7 +24,7 @@
|
|||||||
# include <asm/iommu.h>
|
# include <asm/iommu.h>
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#include <mach_ipi.h>
|
#include <asm/genapic.h>
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Power off function, if any
|
* Power off function, if any
|
||||||
|
@@ -26,7 +26,6 @@
|
|||||||
#include <asm/tlbflush.h>
|
#include <asm/tlbflush.h>
|
||||||
#include <asm/mmu_context.h>
|
#include <asm/mmu_context.h>
|
||||||
#include <asm/proto.h>
|
#include <asm/proto.h>
|
||||||
#include <mach_ipi.h>
|
|
||||||
#include <asm/genapic.h>
|
#include <asm/genapic.h>
|
||||||
/*
|
/*
|
||||||
* Some notes on x86 processor bugs affecting SMP operation:
|
* Some notes on x86 processor bugs affecting SMP operation:
|
||||||
|
@@ -32,7 +32,7 @@
|
|||||||
#include <asm/e820.h>
|
#include <asm/e820.h>
|
||||||
#include <asm/io.h>
|
#include <asm/io.h>
|
||||||
|
|
||||||
#include <mach_ipi.h>
|
#include <asm/genapic.h>
|
||||||
|
|
||||||
#include <asm/genapic.h>
|
#include <asm/genapic.h>
|
||||||
|
|
||||||
|
@@ -10,7 +10,7 @@
|
|||||||
#include <asm/e820.h>
|
#include <asm/e820.h>
|
||||||
#include <asm/setup.h>
|
#include <asm/setup.h>
|
||||||
|
|
||||||
#include <mach_ipi.h>
|
#include <asm/genapic.h>
|
||||||
|
|
||||||
#ifdef CONFIG_HOTPLUG_CPU
|
#ifdef CONFIG_HOTPLUG_CPU
|
||||||
#define DEFAULT_SEND_IPI (1)
|
#define DEFAULT_SEND_IPI (1)
|
||||||
|
@@ -13,7 +13,7 @@
|
|||||||
#include <linux/smp.h>
|
#include <linux/smp.h>
|
||||||
#include <linux/init.h>
|
#include <linux/init.h>
|
||||||
#include <asm/genapic.h>
|
#include <asm/genapic.h>
|
||||||
#include <asm/mach-default/mach_ipi.h>
|
#include <asm/ipi.h>
|
||||||
|
|
||||||
static void default_vector_allocation_domain(int cpu, struct cpumask *retmask)
|
static void default_vector_allocation_domain(int cpu, struct cpumask *retmask)
|
||||||
{
|
{
|
||||||
|
@@ -14,7 +14,7 @@
|
|||||||
DEFINE_PER_CPU_SHARED_ALIGNED(struct tlb_state, cpu_tlbstate)
|
DEFINE_PER_CPU_SHARED_ALIGNED(struct tlb_state, cpu_tlbstate)
|
||||||
= { &init_mm, 0, };
|
= { &init_mm, 0, };
|
||||||
|
|
||||||
#include <mach_ipi.h>
|
#include <asm/genapic.h>
|
||||||
/*
|
/*
|
||||||
* Smarter SMP flushing macros.
|
* Smarter SMP flushing macros.
|
||||||
* c/o Linus Torvalds.
|
* c/o Linus Torvalds.
|
||||||
|
Reference in New Issue
Block a user