From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: Jan Beulich <JBeulich@novell.com>
Cc: Jeremy Fitzhardinge <jeremy@goop.org>,
xen-devel@lists.xensource.com, andrew.thomas@oracle.com,
Ian Campbell <Ian.Campbell@eu.citrix.com>,
keir.xen@gmail.com, swente@infinitumb.de,
gianni.tedesco@citrix.com
Subject: Re: L1[0x1fb] = 0000000000000000 which faults on one type of machine but on another works?
Date: Thu, 17 Mar 2011 11:52:12 -0400 [thread overview]
Message-ID: <20110317155211.GA29603@dumpdata.com> (raw)
In-Reply-To: <4D81EF97020000780003706E@vpn.id2.novell.com>
On Thu, Mar 17, 2011 at 10:25:11AM +0000, Jan Beulich wrote:
> >>> On 16.03.11 at 23:19, Konrad Rzeszutek Wilk <konrad.wilk@oracle.com> wrote:
> > But one thing I can't understand is why on one machine (IBM x3850)
> > I get this crash, while another one with the same pagetable contents
> > (L1 has nothing for 0x1fb) it works just fine? I added a panic and used
> > the Xen hypervisor kdb to manually inspect the pagetable, and it has
> > the same contents as the IBM x3850 -but it boots fine with this invalid
> > value.
> > Any ideas?
>
> Without seeing the full stack trace it's hard to tell. To me, it looks
> like a mistake for native_apic_read() to be called at all under Xen,
> and perhaps there's one lurking somewhere that gets hit only on
> those IBM (Summit?) machines.
That was it. When we bootup we call 'set_xen_basic_apic_ops' which
sets apic->read to xen_apic_read. The default 'apic' is set to
apic_flat, so in essence we change apic_flat->read from native_apic_read
to xen_apic_read.
During bootup, the default_acpi_madt_oem_check is run which
runs through all of the apic_probe[] array, on which the last
one is is apic_physflat. And apic_physflat->probe() returns true
on this IBM Summit box (and ES7000 boxs, and whatever has FADT
set to ACPI_FADT_APIC_PHYSICAL) so we set apic now to apic_physflat
and the apic->read ends up being native_apic_read.
2.6.38 fixes this by allowing in acpi_register_lapic_address, the
the set_fixmap_nocache(FIX_APIC_BASE, address) to be called and we
can provide it with a dummy page and native_apic_read can happily
read from that fake page.
next prev parent reply other threads:[~2011-03-17 15:52 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-03-16 22:19 L1[0x1fb] = 0000000000000000 which faults on one type of machine but on another works? Konrad Rzeszutek Wilk
2011-03-16 22:32 ` Keir Fraser
2011-03-17 10:25 ` Jan Beulich
2011-03-17 15:52 ` Konrad Rzeszutek Wilk [this message]
2011-03-17 16:12 ` Konrad Rzeszutek Wilk
2011-03-17 16:12 ` Jan Beulich
2011-03-17 16:41 ` Konrad Rzeszutek Wilk
2011-03-17 17:21 ` Jeremy Fitzhardinge
2011-03-17 19:56 ` [PATCH] xen/apic: Provide an 'apic_xen' to set the override the apic->[read|write] for all cases Konrad Rzeszutek Wilk
2011-03-22 13:10 ` L1[0x1fb] = 0000000000000000 which faults on one type of machine but on another works? Gianni Tedesco
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=20110317155211.GA29603@dumpdata.com \
--to=konrad.wilk@oracle.com \
--cc=Ian.Campbell@eu.citrix.com \
--cc=JBeulich@novell.com \
--cc=andrew.thomas@oracle.com \
--cc=gianni.tedesco@citrix.com \
--cc=jeremy@goop.org \
--cc=keir.xen@gmail.com \
--cc=swente@infinitumb.de \
--cc=xen-devel@lists.xensource.com \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.