x86/apic: Nuke unused apic::inquire_remote_apic()
Put it to the other historical leftovers. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Dave Hansen <dave.hansen@linux.intel.com> Acked-by: Peter Zijlstra (Intel) <peterz@infradead.org> Tested-by: Michael Kelley <mikelley@microsoft.com> Tested-by: Sohil Mehta <sohil.mehta@intel.com> Tested-by: Juergen Gross <jgross@suse.com> # Xen PV (dom0 and unpriv. guest)
This commit is contained in:
parent
b3bc5dd994
commit
1d90c9f731
@ -66,20 +66,6 @@ enum apic_intr_mode_id {
|
||||
APIC_SYMMETRIC_IO_NO_ROUTING
|
||||
};
|
||||
|
||||
#ifdef CONFIG_SMP
|
||||
extern void __inquire_remote_apic(int apicid);
|
||||
#else /* CONFIG_SMP */
|
||||
static inline void __inquire_remote_apic(int apicid)
|
||||
{
|
||||
}
|
||||
#endif /* CONFIG_SMP */
|
||||
|
||||
static inline void default_inquire_remote_apic(int apicid)
|
||||
{
|
||||
if (apic_verbosity >= APIC_DEBUG)
|
||||
__inquire_remote_apic(apicid);
|
||||
}
|
||||
|
||||
/*
|
||||
* With 82489DX we can't rely on apic feature bit
|
||||
* retrieved via cpuid but still have to deal with
|
||||
@ -330,8 +316,6 @@ struct apic {
|
||||
/* wakeup secondary CPU using 64-bit wakeup point */
|
||||
int (*wakeup_secondary_cpu_64)(int apicid, unsigned long start_eip);
|
||||
|
||||
void (*inquire_remote_apic)(int apicid);
|
||||
|
||||
#ifdef CONFIG_X86_32
|
||||
/*
|
||||
* Called very early during boot from get_smp_config(). It should
|
||||
|
@ -139,8 +139,6 @@ static struct apic apic_flat __ro_after_init = {
|
||||
.send_IPI_all = default_send_IPI_all,
|
||||
.send_IPI_self = default_send_IPI_self,
|
||||
|
||||
.inquire_remote_apic = default_inquire_remote_apic,
|
||||
|
||||
.read = native_apic_mem_read,
|
||||
.write = native_apic_mem_write,
|
||||
.eoi_write = native_apic_mem_write,
|
||||
@ -230,8 +228,6 @@ static struct apic apic_physflat __ro_after_init = {
|
||||
.send_IPI_all = default_send_IPI_all,
|
||||
.send_IPI_self = default_send_IPI_self,
|
||||
|
||||
.inquire_remote_apic = default_inquire_remote_apic,
|
||||
|
||||
.read = native_apic_mem_read,
|
||||
.write = native_apic_mem_write,
|
||||
.eoi_write = native_apic_mem_write,
|
||||
|
@ -125,8 +125,6 @@ struct apic apic_noop __ro_after_init = {
|
||||
|
||||
.wakeup_secondary_cpu = noop_wakeup_secondary_cpu,
|
||||
|
||||
.inquire_remote_apic = NULL,
|
||||
|
||||
.read = noop_apic_read,
|
||||
.write = noop_apic_write,
|
||||
.eoi_write = noop_apic_write,
|
||||
|
@ -273,7 +273,6 @@ static const struct apic apic_numachip1 __refconst = {
|
||||
.send_IPI_self = numachip_send_IPI_self,
|
||||
|
||||
.wakeup_secondary_cpu = numachip_wakeup_secondary,
|
||||
.inquire_remote_apic = NULL, /* REMRD not supported */
|
||||
|
||||
.read = native_apic_mem_read,
|
||||
.write = native_apic_mem_write,
|
||||
@ -320,7 +319,6 @@ static const struct apic apic_numachip2 __refconst = {
|
||||
.send_IPI_self = numachip_send_IPI_self,
|
||||
|
||||
.wakeup_secondary_cpu = numachip_wakeup_secondary,
|
||||
.inquire_remote_apic = NULL, /* REMRD not supported */
|
||||
|
||||
.read = native_apic_mem_read,
|
||||
.write = native_apic_mem_write,
|
||||
|
@ -153,8 +153,6 @@ static struct apic apic_bigsmp __ro_after_init = {
|
||||
.send_IPI_all = bigsmp_send_IPI_all,
|
||||
.send_IPI_self = default_send_IPI_self,
|
||||
|
||||
.inquire_remote_apic = default_inquire_remote_apic,
|
||||
|
||||
.read = native_apic_mem_read,
|
||||
.write = native_apic_mem_write,
|
||||
.eoi_write = native_apic_mem_write,
|
||||
|
@ -95,8 +95,6 @@ static struct apic apic_default __ro_after_init = {
|
||||
.send_IPI_all = default_send_IPI_all,
|
||||
.send_IPI_self = default_send_IPI_self,
|
||||
|
||||
.inquire_remote_apic = default_inquire_remote_apic,
|
||||
|
||||
.read = native_apic_mem_read,
|
||||
.write = native_apic_mem_write,
|
||||
.eoi_write = native_apic_mem_write,
|
||||
|
@ -265,8 +265,6 @@ static struct apic apic_x2apic_cluster __ro_after_init = {
|
||||
.send_IPI_all = x2apic_send_IPI_all,
|
||||
.send_IPI_self = x2apic_send_IPI_self,
|
||||
|
||||
.inquire_remote_apic = NULL,
|
||||
|
||||
.read = native_apic_msr_read,
|
||||
.write = native_apic_msr_write,
|
||||
.eoi_write = native_apic_msr_eoi_write,
|
||||
|
@ -189,8 +189,6 @@ static struct apic apic_x2apic_phys __ro_after_init = {
|
||||
.send_IPI_all = x2apic_send_IPI_all,
|
||||
.send_IPI_self = x2apic_send_IPI_self,
|
||||
|
||||
.inquire_remote_apic = NULL,
|
||||
|
||||
.read = native_apic_msr_read,
|
||||
.write = native_apic_msr_write,
|
||||
.eoi_write = native_apic_msr_eoi_write,
|
||||
|
@ -862,7 +862,6 @@ static struct apic apic_x2apic_uv_x __ro_after_init = {
|
||||
.send_IPI_self = uv_send_IPI_self,
|
||||
|
||||
.wakeup_secondary_cpu = uv_wakeup_secondary,
|
||||
.inquire_remote_apic = NULL,
|
||||
|
||||
.read = native_apic_msr_read,
|
||||
.write = native_apic_msr_write,
|
||||
|
@ -774,44 +774,6 @@ static void impress_friends(void)
|
||||
pr_debug("Before bogocount - setting activated=1\n");
|
||||
}
|
||||
|
||||
void __inquire_remote_apic(int apicid)
|
||||
{
|
||||
unsigned i, regs[] = { APIC_ID >> 4, APIC_LVR >> 4, APIC_SPIV >> 4 };
|
||||
const char * const names[] = { "ID", "VERSION", "SPIV" };
|
||||
int timeout;
|
||||
u32 status;
|
||||
|
||||
pr_info("Inquiring remote APIC 0x%x...\n", apicid);
|
||||
|
||||
for (i = 0; i < ARRAY_SIZE(regs); i++) {
|
||||
pr_info("... APIC 0x%x %s: ", apicid, names[i]);
|
||||
|
||||
/*
|
||||
* Wait for idle.
|
||||
*/
|
||||
status = safe_apic_wait_icr_idle();
|
||||
if (status)
|
||||
pr_cont("a previous APIC delivery may have failed\n");
|
||||
|
||||
apic_icr_write(APIC_DM_REMRD | regs[i], apicid);
|
||||
|
||||
timeout = 0;
|
||||
do {
|
||||
udelay(100);
|
||||
status = apic_read(APIC_ICR) & APIC_ICR_RR_MASK;
|
||||
} while (status == APIC_ICR_RR_INPROG && timeout++ < 1000);
|
||||
|
||||
switch (status) {
|
||||
case APIC_ICR_RR_VALID:
|
||||
status = apic_read(APIC_RRR);
|
||||
pr_cont("%08x\n", status);
|
||||
break;
|
||||
default:
|
||||
pr_cont("failed\n");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* The Multiprocessor Specification 1.4 (1997) example code suggests
|
||||
* that there should be a 10ms delay between the BSP asserting INIT
|
||||
|
@ -129,10 +129,6 @@ static void xen_noop(void)
|
||||
{
|
||||
}
|
||||
|
||||
static void xen_silent_inquire(int apicid)
|
||||
{
|
||||
}
|
||||
|
||||
static int xen_cpu_present_to_apicid(int cpu)
|
||||
{
|
||||
if (cpu_present(cpu))
|
||||
@ -173,9 +169,6 @@ static struct apic xen_pv_apic = {
|
||||
.send_IPI_all = xen_send_IPI_all,
|
||||
.send_IPI_self = xen_send_IPI_self,
|
||||
#endif
|
||||
/* .wait_for_init_deassert- used by AP bootup - smp_callin which we don't use */
|
||||
.inquire_remote_apic = xen_silent_inquire,
|
||||
|
||||
.read = xen_apic_read,
|
||||
.write = xen_apic_write,
|
||||
.eoi_write = xen_apic_write,
|
||||
|
Loading…
x
Reference in New Issue
Block a user