Re: [PROBLEM] x86: result of verify_local_APIC() is ignored

From: Ingo Molnar
Date: Sun Feb 09 2014 - 07:39:43 EST



* Jon <nuxi@xxxxxxxxxxx> wrote:

> In arch/x86/kernel/apic/apic.c there is a function called
> verify_local_APIC() that does some APIC checks. The part where it writes
> to the APIC ID register can cause CPU #15 to not come online under
> VMware ESXi on 32-bit kernels if the virtual hardware version is 8.
>
> I noticed that Ingo actually removed this exact chunk of code from
> arch/i386/kernel/apic.c in 2.6.4, but since it was left in the x86_64
> copy it came back when the two were merged.
> http://permalink.gmane.org/gmane.linux.kernel.commits.head/27538
>
> The Intel architecture manuals seem to agree and notes that the recent
> Intel CPUs do not allow writing to the register which means that
> machines are actually failing this check... which doesn't matter becuase
> none of the callers are checking the return value of this function
> anyway.

I guess we could remove that from the 64-bit code too. Would you like
to send a tested patch?

Thanks,

Ingo
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/