From: Thomas Gleixner <tglx@linutronix.de>
To: "Charles (Chas) Williams" <ciwillia@brocade.com>
Cc: Peter Zijlstra <peterz@infradead.org>,
Sebastian Andrzej Siewior <bigeasy@linutronix.de>,
x86@kernel.org, LKML <linux-kernel@vger.kernel.org>,
"M. Vefa Bicakci" <m.v.b@runbox.com>,
Borislav Petkov <bp@alien8.de>
Subject: Re: [PATCH] x86/cpuid: Deal with broken firmware once more
Date: Wed, 9 Nov 2016 19:37:40 +0100 (CET) [thread overview]
Message-ID: <alpine.DEB.2.20.1611091936480.3501@nanos> (raw)
In-Reply-To: <9badae12-f07e-b2e3-c1ce-c2017cd5e510@brocade.com>
On Wed, 9 Nov 2016, Charles (Chas) Williams wrote:
> On 11/09/2016 11:03 AM, Peter Zijlstra wrote:
> > On Wed, Nov 09, 2016 at 04:35:51PM +0100, Thomas Gleixner wrote:
> > > Both ACPI and MP specifications require that the APIC id in the respective
> > > tables must be the same as the APIC id in CPUID.
> > >
> > > The kernel retrieves the physical package id from the APIC id during the
> > > ACPI/MP table scan and builds the physical to logical package map.
> > >
> > > There exist Virtualbox and Xen implementations which violate the spec. As
> > > a
> >
> > ISTR it was VMware, not VirtualBox, but whatever.. they're both crazy
> > virt stuff.
>
> Yes, this was VMware in particular. It would be good to get this comment
> right so as not to mislead anyone.
Sure, will fix.
>
> > > /*
> > > + * The physical to logical package id mapping is initialized from the
> > > + * acpi/mptables information. Make sure that CPUID actually agrees with
> > > + * that.
> > > + */
> > > +static void sanitize_package_id(struct cpuinfo_x86 *c)
> > > +{
> > > +#ifdef CONFIG_SMP
> > > + unsigned int pkg, apicid, cpu = smp_processor_id();
> > > +
> > > + apicid = apic->cpu_present_to_apicid(cpu);
> > > + pkg = apicid >> boot_cpu_data.x86_coreid_bits;
> > > +
> > > + if (apicid != c->initial_apicid) {
> > > + pr_err(FW_BUG "CPU%u: APIC id mismatch. Firmware: %x CPUID:
> > > %x\n",
> > > + cpu, apicid, c->initial_apicid);
> >
> > Should we not also 'fix' c->initial_apicid ?
>
> Since we have c->apicid and c->initial_apicid it seems reasonable to keep one
> set to the "correct" value. I don't think c->initial_apicid is used past
> this.
It is, but just for a printk in the MCE code, so it should not matter at all.
> I should have some tests on this patch later today.
>
next prev parent reply other threads:[~2016-11-09 18:41 UTC|newest]
Thread overview: 43+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-11-02 12:25 [RFC PATCH] perf/x86/intel/rapl: avoid access unallocate memory Sebastian Andrzej Siewior
2016-11-02 22:47 ` Charles (Chas) Williams
2016-11-03 17:47 ` Sebastian Andrzej Siewior
2016-11-04 12:20 ` Charles (Chas) Williams
2016-11-04 18:03 ` Sebastian Andrzej Siewior
2016-11-04 20:42 ` Charles (Chas) Williams
2016-11-04 20:57 ` Sebastian Andrzej Siewior
2016-11-07 16:19 ` Thomas Gleixner
2016-11-07 16:59 ` Charles (Chas) Williams
2016-11-07 20:20 ` Thomas Gleixner
2016-11-08 14:20 ` Charles (Chas) Williams
2016-11-08 14:31 ` Thomas Gleixner
2016-11-08 14:57 ` Charles (Chas) Williams
2016-11-08 16:22 ` Thomas Gleixner
2016-11-09 15:35 ` [PATCH] x86/cpuid: Deal with broken firmware once more Thomas Gleixner
2016-11-09 15:37 ` Thomas Gleixner
2016-11-09 16:03 ` Peter Zijlstra
2016-11-09 16:34 ` Charles (Chas) Williams
2016-11-09 18:37 ` Thomas Gleixner [this message]
2016-11-09 18:15 ` Charles (Chas) Williams
2016-11-09 20:27 ` [tip:x86/urgent] x86/cpu: Deal with broken firmware (VMWare/XEN) tip-bot for Thomas Gleixner
2016-11-11 5:49 ` Alok Kataria
2016-11-10 3:57 ` [PATCH] x86/cpuid: Deal with broken firmware once more M. Vefa Bicakci
2016-11-10 10:50 ` Charles (Chas) Williams
2016-11-10 11:14 ` Thomas Gleixner
2016-11-12 22:05 ` M. Vefa Bicakci
2016-11-10 11:13 ` Thomas Gleixner
2016-11-10 11:39 ` Peter Zijlstra
2016-11-10 14:02 ` Boris Ostrovsky
2016-11-10 15:05 ` Charles (Chas) Williams
2016-11-10 15:31 ` Boris Ostrovsky
2016-11-10 15:54 ` Sebastian Andrzej Siewior
2016-11-10 17:15 ` Thomas Gleixner
2016-11-12 22:05 ` M. Vefa Bicakci
2016-11-13 18:04 ` Boris Ostrovsky
2016-11-13 23:42 ` M. Vefa Bicakci
2016-11-15 1:21 ` Boris Ostrovsky
2016-11-18 11:16 ` Thomas Gleixner
2016-11-18 14:22 ` Boris Ostrovsky
2016-11-10 15:12 ` Thomas Gleixner
2016-11-10 15:38 ` Boris Ostrovsky
2016-11-10 17:13 ` Thomas Gleixner
2016-11-10 18:01 ` Boris Ostrovsky
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=alpine.DEB.2.20.1611091936480.3501@nanos \
--to=tglx@linutronix.de \
--cc=bigeasy@linutronix.de \
--cc=bp@alien8.de \
--cc=ciwillia@brocade.com \
--cc=linux-kernel@vger.kernel.org \
--cc=m.v.b@runbox.com \
--cc=peterz@infradead.org \
--cc=x86@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®