Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit d53e2f28 authored by Ingo Molnar's avatar Ingo Molnar
Browse files

x86, smp: remove mach_ipi.h



Move mach_ipi.h definitions into genapic.h.

Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
parent 9f4187f0
Loading
Loading
Loading
Loading
+1 −0
Original line number Original line Diff line number Diff line
@@ -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 */
+59 −2
Original line number Original line Diff line number Diff line
#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 */
+0 −58
Original line number Original line Diff line number Diff line
#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 */
+0 −15
Original line number Original line Diff line number Diff line
#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 */
+0 −6
Original line number Original line Diff line number Diff line
#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 */
Loading