From: "Gerd Hoffmann" <kraxel@redhat.com>
To: "Ojeda Leon, Nicolas" <ncoleon@amazon.de>
Cc: "devel@edk2.groups.io" <devel@edk2.groups.io>,
"Gupta, Atul" <atugup@amazon.de>, "Graf (AWS),
Alexander" <graf@amazon.de>
Subject: Re: [PATCH v4 7/8] PciHostBridgeDxe: Extend service to get base addresses before allocation
Date: Mon, 14 Feb 2022 11:18:10 +0100 [thread overview]
Message-ID: <20220214101810.xiievg2xi5ttgcam@sirius.home.kraxel.org> (raw)
In-Reply-To: <51b4eb6b2c1049f29e21dd6a208e6965@EX13D49EUC003.ant.amazon.com>
On Fri, Feb 04, 2022 at 09:17:48AM +0000, Ojeda Leon, Nicolas wrote:
> Hi Gerd,
>
> > Hmm, so you are hiding the #define here to avoid updating Protocol/PciHostBridgeResourceAllocation.h ...
> >
> > I suspect if this can't be implemented in the pci enumerator alone there is just no way around actually extending uefi protocols. But it's also not fully clear to me why you need this new "partial" state.
> > Wouldn't you know either nothing or both base + size for a resource?
> >
>
> Yes you are right, the current status is we have nothing and after the
> resources are allocated we have base and size. However, the allocation
> happens after CreateResourceMap is called, this function is the one
> that iterates over all resources of all devices under a root bridges
> and places them in a root bridge relative offset to then calculate the
> length of the resources required for that specific root bridge. For
> the pre-populated BARs I retrieve the Base Address of the Root Bridge
> before placing the resources at the root bridge relative offset so
> that I can translate the BAR address (set by the host) into an offset.
> That's why I created this patch to retrieve only the base address
> before the root bridge resource map is created, submitted and
> allocated.
Hmm, nasty init order issue. No good idea offhand.
Have you tried to exclude the pre-populated BARs from the host bridge
windows communicated to the edk2 pci core? The pci enumerator should
not create overlapping pci bar assignment then. But it might very well
be that this only shifts the problem to another place ...
take care,
Gerd
next prev parent reply other threads:[~2022-02-14 10:18 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-02-03 20:56 [PATCH v4 0/8] Handling of multiple PCI host bridges specified Ojeda Leon, Nicolas
2022-02-03 20:56 ` [PATCH v4 1/8] OvmfPkg/Library: Create base HardwareInfoLib for PCI Host Bridges Ojeda Leon, Nicolas
2022-02-03 20:56 ` [PATCH v4 2/8] Ovmf/HardwareInfoLib: Create Pei lib to parse directly from fw-cfg Ojeda Leon, Nicolas
2022-02-03 20:56 ` [PATCH v4 3/8] Ovmf/HardwareInfoLib: Add Dxe lib to dynamically parse heterogenous data Ojeda Leon, Nicolas
2022-02-03 20:56 ` [PATCH v4 4/8] Ovmf/PlatformPei: Use host-provided GPA end if available Ojeda Leon, Nicolas
2022-02-03 20:56 ` [PATCH v4 5/8] OvmfPkg/PciHostBridgeUtilityLib: Initialize RootBridges apertures with spec Ojeda Leon, Nicolas
2022-02-04 7:39 ` Gerd Hoffmann
2022-02-03 20:56 ` [PATCH v4 6/8] MdeModulePkg, OvmfPkg: Add Pcd token for PCI pre-populated BARs Ojeda Leon, Nicolas
2022-02-03 20:56 ` [PATCH v4 7/8] PciHostBridgeDxe: Extend service to get base addresses before allocation Ojeda Leon, Nicolas
2022-02-04 8:36 ` Gerd Hoffmann
2022-02-04 9:17 ` Ojeda Leon, Nicolas
2022-02-14 10:18 ` Gerd Hoffmann [this message]
2022-02-14 10:28 ` [edk2-devel] " Ojeda Leon, Nicolas
2022-02-04 9:42 ` Ojeda Leon, Nicolas
2022-02-03 20:56 ` [PATCH v4 8/8] MdeModulePkg/PciBusDxe: Handling of pre-populated PCI BARs Ojeda Leon, Nicolas
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=20220214101810.xiievg2xi5ttgcam@sirius.home.kraxel.org \
--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