From: Eric Shelton <knockknock@gmail.com>
To: Jan Beulich <JBeulich@suse.com>, xen-devel@lists.xen.org
Subject: Re: loading custom ACPI tables?
Date: Mon, 22 Apr 2013 09:53:35 -0400 [thread overview]
Message-ID: <4675870425343009701@unknownmsgid> (raw)
In-Reply-To: <5175380702000078000CF774@nat28.tlf.novell.com>
On Apr 22, 2013, at 7:15 AM, Jan Beulich <JBeulich@suse.com> wrote:
>>>> On 22.04.13 at 12:48, Eric Shelton <eshelton@pobox.com> wrote:
>> Unfortunately, I managed to hit the few portions looked at by the
>> hypervisor, as I am modifying the IOAPIC information in MADT and IVRS
>> (as well as PCI slot interrupt info in DSDT, although that does not
>> appear to be looked at by the hypervisor).
>
> So I guess you're trying to work around the fallout of XSA-36?
>
It is related, but is not what is motivating the effort. I have an
AMD 970-based motherboard for which the IOAPICs are misconfigured.
There are NB and SB ones, but the NB IOAPIC is not configured or
enabled, leaving all NB devices going through 4 SB GSIs, which further
are used by some SB devices. Essentially no interrupt is unshared,
which is ridiculous on a system with 56 available GSIs. At least the
BIOS seems to configure the IOMMU OK. It would be nice for the MB
vendor to update the BIOS, but that doesn't seem to be going anywhere.
Since configuring both IOAPICs properly looks easy enough, I'll give
it a try.
This could probably be done for any AMD 700+ chipset (although I'm not
sure how hard dynamic ACPI rewriting is, which would need to be done
at least to identify the changed GSIs), but I don't know how many
quirks-like things Xen is interested in accumulating.
>> A question on how Xen gathers platform info: Xen appears to use the MP
>> tables as a starting point for determining the number of IOAPICs. Is
>> the hypervisor code capable of not using the MP tables, and solely
>> collecting this information from ACPI? It would be nice not to
>
> No, the MP tables should get looked at consulted only when there's
> no respective ACPI data.
>
That is good to hear. One set of such tables is enough to sort out...
>> In terms of implementing passing in custom ACPI tables, I was
>> considering adding an additional "module" line in the grub
>> configuration (assuming a third one is permitted) to essentially a
>> copy of the in-memory structure, and looking for a magic number (which
>> will likely already be part of the ACPI tables). I am aware of, but I
>> have not reviewed, the Linux initrd-based override code. However, I'm
>> not sure whether the Xen development philosophy would prefer (1) code
>> reuse (if reasonably portable), even if it involves adding something
>> with the complexity of digging through an initrd; or (2) something
>> simpler with fewer LOC. Other suggestions are welcome.
>
> More than two modules is possible, and in fact already being used
> (for XSM an microcode loading), so you'd need to look at the code
> that's already there to make sure your ACPI table pseudo module(s)
> won't get mistreated.
>
Thank you for the pointer- I'll take a look.
> You certainly should not look at the initrd - format and contents
> are defined/used by the kernel, hence no assumptions should be
> made.
>
> Jan
>
Finally, am I correct in thinking that I need to make sure dom0 sees
the replacement ACPI table? Since I will be changing the slot to GSI
mapping, it would seem necessary for dom0 drivers to get matched up
with their device interrupts.
- Eric
next prev parent reply other threads:[~2013-04-22 13:53 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-04-21 17:25 loading custom ACPI tables? Eric Shelton
2013-04-22 7:21 ` Jan Beulich
2013-04-22 10:48 ` Eric Shelton
2013-04-22 11:15 ` Jan Beulich
2013-04-22 13:53 ` Eric Shelton [this message]
2013-04-23 7:39 ` Jan Beulich
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=4675870425343009701@unknownmsgid \
--to=knockknock@gmail.com \
--cc=JBeulich@suse.com \
--cc=xen-devel@lists.xen.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 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.