Commit 505deeb1 authored by Ingo Molnar's avatar Ingo Molnar

x86, genapic: cleanups

Unify genapic.h some more.
Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
parent ced733ec
...@@ -3,6 +3,9 @@ ...@@ -3,6 +3,9 @@
#include <linux/cpumask.h> #include <linux/cpumask.h>
#include <asm/mpspec.h>
#include <asm/atomic.h>
/* /*
* 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
...@@ -13,7 +16,6 @@ ...@@ -13,7 +16,6 @@
* Martin Bligh, Andi Kleen, James Bottomley, John Stultz, and * Martin Bligh, Andi Kleen, James Bottomley, John Stultz, and
* James Cleverdon. * James Cleverdon.
*/ */
struct genapic { struct genapic {
char *name; char *name;
...@@ -85,6 +87,7 @@ struct genapic { ...@@ -85,6 +87,7 @@ struct genapic {
int trampoline_phys_low; int trampoline_phys_low;
int trampoline_phys_high; int trampoline_phys_high;
void (*wait_for_init_deassert)(atomic_t *deassert); void (*wait_for_init_deassert)(atomic_t *deassert);
void (*smp_callin_clear_local_apic)(void); void (*smp_callin_clear_local_apic)(void);
void (*store_NMI_vector)(unsigned short *high, unsigned short *low); void (*store_NMI_vector)(unsigned short *high, unsigned short *low);
...@@ -92,10 +95,9 @@ struct genapic { ...@@ -92,10 +95,9 @@ struct genapic {
void (*inquire_remote_apic)(int apicid); void (*inquire_remote_apic)(int apicid);
}; };
#ifdef CONFIG_X86_32 extern struct genapic *genapic;
#include <asm/mpspec.h> #ifdef CONFIG_X86_32
#include <asm/atomic.h>
#define APICFUNC(x) .x = x, #define APICFUNC(x) .x = x,
...@@ -143,8 +145,8 @@ struct genapic { ...@@ -143,8 +145,8 @@ struct genapic {
IPIFUNC(send_IPI_all) \ IPIFUNC(send_IPI_all) \
APICFUNC(enable_apic_mode) \ APICFUNC(enable_apic_mode) \
APICFUNC(phys_pkg_id) \ APICFUNC(phys_pkg_id) \
.trampoline_phys_low = TRAMPOLINE_PHYS_LOW, \ .trampoline_phys_low = TRAMPOLINE_PHYS_LOW, \
.trampoline_phys_high = TRAMPOLINE_PHYS_HIGH, \ .trampoline_phys_high = TRAMPOLINE_PHYS_HIGH, \
APICFUNC(wait_for_init_deassert) \ APICFUNC(wait_for_init_deassert) \
APICFUNC(smp_callin_clear_local_apic) \ APICFUNC(smp_callin_clear_local_apic) \
APICFUNC(store_NMI_vector) \ APICFUNC(store_NMI_vector) \
...@@ -152,13 +154,10 @@ struct genapic { ...@@ -152,13 +154,10 @@ struct genapic {
APICFUNC(inquire_remote_apic) \ APICFUNC(inquire_remote_apic) \
} }
extern struct genapic *genapic;
extern void es7000_update_genapic_to_cluster(void); extern void es7000_update_genapic_to_cluster(void);
#else /* CONFIG_X86_64: */ #else /* CONFIG_X86_64: */
extern struct genapic *genapic;
extern struct genapic apic_flat; extern struct genapic apic_flat;
extern struct genapic apic_physflat; extern struct genapic apic_physflat;
extern struct genapic apic_x2apic_cluster; extern struct genapic apic_x2apic_cluster;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment