diff options
Diffstat (limited to 'arch/x86/include/asm/genapic_32.h')
| -rw-r--r-- | arch/x86/include/asm/genapic_32.h | 19 |
1 files changed, 18 insertions, 1 deletions
diff --git a/arch/x86/include/asm/genapic_32.h b/arch/x86/include/asm/genapic_32.h index 5cbd4fcc06fd..0ac17d33a8c7 100644 --- a/arch/x86/include/asm/genapic_32.h +++ b/arch/x86/include/asm/genapic_32.h | |||
| @@ -2,6 +2,7 @@ | |||
| 2 | #define _ASM_X86_GENAPIC_32_H | 2 | #define _ASM_X86_GENAPIC_32_H |
| 3 | 3 | ||
| 4 | #include <asm/mpspec.h> | 4 | #include <asm/mpspec.h> |
| 5 | #include <asm/atomic.h> | ||
| 5 | 6 | ||
| 6 | /* | 7 | /* |
| 7 | * Generic APIC driver interface. | 8 | * Generic APIC driver interface. |
| @@ -65,6 +66,14 @@ struct genapic { | |||
| 65 | void (*send_IPI_allbutself)(int vector); | 66 | void (*send_IPI_allbutself)(int vector); |
| 66 | void (*send_IPI_all)(int vector); | 67 | void (*send_IPI_all)(int vector); |
| 67 | #endif | 68 | #endif |
| 69 | int (*wakeup_cpu)(int apicid, unsigned long start_eip); | ||
| 70 | int trampoline_phys_low; | ||
| 71 | int trampoline_phys_high; | ||
| 72 | void (*wait_for_init_deassert)(atomic_t *deassert); | ||
| 73 | void (*smp_callin_clear_local_apic)(void); | ||
| 74 | void (*store_NMI_vector)(unsigned short *high, unsigned short *low); | ||
| 75 | void (*restore_NMI_vector)(unsigned short *high, unsigned short *low); | ||
| 76 | void (*inquire_remote_apic)(int apicid); | ||
| 68 | }; | 77 | }; |
| 69 | 78 | ||
| 70 | #define APICFUNC(x) .x = x, | 79 | #define APICFUNC(x) .x = x, |
| @@ -105,16 +114,24 @@ struct genapic { | |||
| 105 | APICFUNC(get_apic_id) \ | 114 | APICFUNC(get_apic_id) \ |
| 106 | .apic_id_mask = APIC_ID_MASK, \ | 115 | .apic_id_mask = APIC_ID_MASK, \ |
| 107 | APICFUNC(cpu_mask_to_apicid) \ | 116 | APICFUNC(cpu_mask_to_apicid) \ |
| 108 | APICFUNC(vector_allocation_domain) \ | 117 | APICFUNC(vector_allocation_domain) \ |
| 109 | APICFUNC(acpi_madt_oem_check) \ | 118 | APICFUNC(acpi_madt_oem_check) \ |
| 110 | IPIFUNC(send_IPI_mask) \ | 119 | IPIFUNC(send_IPI_mask) \ |
| 111 | IPIFUNC(send_IPI_allbutself) \ | 120 | IPIFUNC(send_IPI_allbutself) \ |
| 112 | IPIFUNC(send_IPI_all) \ | 121 | IPIFUNC(send_IPI_all) \ |
| 113 | APICFUNC(enable_apic_mode) \ | 122 | APICFUNC(enable_apic_mode) \ |
| 114 | APICFUNC(phys_pkg_id) \ | 123 | APICFUNC(phys_pkg_id) \ |
| 124 | .trampoline_phys_low = TRAMPOLINE_PHYS_LOW, \ | ||
| 125 | .trampoline_phys_high = TRAMPOLINE_PHYS_HIGH, \ | ||
| 126 | APICFUNC(wait_for_init_deassert) \ | ||
| 127 | APICFUNC(smp_callin_clear_local_apic) \ | ||
| 128 | APICFUNC(store_NMI_vector) \ | ||
| 129 | APICFUNC(restore_NMI_vector) \ | ||
| 130 | APICFUNC(inquire_remote_apic) \ | ||
| 115 | } | 131 | } |
| 116 | 132 | ||
| 117 | extern struct genapic *genapic; | 133 | extern struct genapic *genapic; |
| 134 | extern void es7000_update_genapic_to_cluster(void); | ||
| 118 | 135 | ||
| 119 | enum uv_system_type {UV_NONE, UV_LEGACY_APIC, UV_X2APIC, UV_NON_UNIQUE_APIC}; | 136 | enum uv_system_type {UV_NONE, UV_LEGACY_APIC, UV_X2APIC, UV_NON_UNIQUE_APIC}; |
| 120 | #define get_uv_system_type() UV_NONE | 137 | #define get_uv_system_type() UV_NONE |
