From: Igor Druzhinin <igor.druzhinin@citrix.com>
To: Anthony PERARD <anthony.perard@citrix.com>
Cc: <edk2-devel@lists.01.org>, <jordan.l.justen@intel.com>,
<lersek@redhat.com>, <ard.biesheuvel@linaro.org>,
<julien.grall@arm.com>, <xen-devel@lists.xenproject.org>
Subject: Re: [PATCH RESEND 1/3] OvmfPkg/XenSupport: remove usage of prefetchable PCI host bridge aperture
Date: Thu, 14 Mar 2019 19:45:56 +0000 [thread overview]
Message-ID: <096a1987-a898-9896-8ffd-9fc8512e25f6@citrix.com> (raw)
In-Reply-To: <20190314174121.GB11621@perard.uk.xensource.com>
On 14/03/2019 17:41, Anthony PERARD wrote:
> Hi,
>
> On Wed, Mar 06, 2019 at 12:40:54PM +0000, Igor Druzhinin wrote:
>> This aperture doesn't exist in OVMF and trying to use it causes
>
> I'm trying to understand what you mean by writing "doesn't exist in
> OVMF". Are prefetchable BAR not handled by ScanForRootBridges() ?
> Or is it the emulation of the config space that isn't correct?
> Maybe QEMU should lies about a BAR been prefetchable?
The problem here is: hvmloader places BARs initially disregarding
prefetchable bit in an arbitrary order because essentially there is only
1 aperture for the host bridge in emulated system under Xen (and KVM as
well). In PcatPciRootBridgeParseBars() we construct apertures for high
level OVMF code by reading the BAR placement information after
hvmloader. It often appears that there are prefetchable and
non-prefetchable BARs coexist with each other and make prefetchable and
non-prefetchable apertures overlap. This eventually triggers an
assertion in high level OVMF code because that shouldn't happen.
OVMF for KVM is not using prefetchable BAR at all - see
PciHostBridgeGetRootBridges() in which it passes mNonExistAperture dummy
object to high level code. I think it's wrong to construct a
prefetchable aperture for Xen and this code should be removed as it's
done for QEMU-KVM. Do you think this patch needs to do that?
Igor
next prev parent reply other threads:[~2019-03-14 19:46 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-03-06 12:40 [PATCH RESEND 0/3] Xen PCI passthrough fixes Igor Druzhinin
2019-03-06 12:40 ` [PATCH RESEND 1/3] OvmfPkg/XenSupport: remove usage of prefetchable PCI host bridge aperture Igor Druzhinin
2019-03-14 17:41 ` Anthony PERARD
2019-03-14 19:45 ` Igor Druzhinin [this message]
2019-03-19 14:03 ` Anthony PERARD
2019-03-20 11:15 ` Laszlo Ersek
[not found] ` <20190322082650.tk65vju74g4gt7vj@MacBook-Air-de-Roger.local>
2019-03-22 9:06 ` [Xen-devel] " Laszlo Ersek
[not found] ` <20190324035053.xs3yccnpmn5dy6cl@MacBook-Air-de-Roger.local>
2019-03-25 14:32 ` Igor Druzhinin
2019-03-06 12:40 ` [PATCH RESEND 2/3] OvmfPkg/XenSupport: use a correct PCI host bridge aperture for BAR64 Igor Druzhinin
2019-03-14 17:44 ` Anthony PERARD
2019-03-06 12:40 ` [PATCH RESEND 3/3] OvmfPkg/XenSupport: turn off address decoding before BAR sizing Igor Druzhinin
2019-03-06 13:22 ` Laszlo Ersek
2019-03-06 14:26 ` Igor Druzhinin
2019-03-06 17:39 ` Laszlo Ersek
2019-03-14 17:55 ` Anthony PERARD
2019-03-14 20:09 ` Igor Druzhinin
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-list 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=096a1987-a898-9896-8ffd-9fc8512e25f6@citrix.com \
--to=devel@edk2.groups.io \
/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