summaryrefslogtreecommitdiff
path: root/MdePkg/MdePkg.dec
diff options
context:
space:
mode:
authorLaszlo Ersek <lersek@redhat.com>2015-05-08 18:12:44 +0000
committerlersek <lersek@Edk2>2015-05-08 18:12:44 +0000
commitfeca17fa4bf15b5994d520969a6756fff8f809fb (patch)
treeca409b48dcc353c84cf9c576b438c678c6b2c1f4 /MdePkg/MdePkg.dec
parent2946ffb6ed1482378d3bf0cab8e75362286260e4 (diff)
downloadedk2-feca17fa4bf15b5994d520969a6756fff8f809fb.zip
edk2-feca17fa4bf15b5994d520969a6756fff8f809fb.tar.gz
edk2-feca17fa4bf15b5994d520969a6756fff8f809fb.tar.bz2
OvmfPkg: QemuBootOrderLib: parse OFW device path nodes of PCI bridges
When the Q35 machine type(s) of QEMU are used with libvirt, libvirt tends to place some devices behind PCI bridges. This is then reflected in the "bootorder" fw_cfg file. For example: /pci@i0cf8/pci-bridge@1e/pci-bridge@1/scsi@5/disk@0,0 /pci@i0cf8/pci-bridge@1e/pci-bridge@1/scsi@3/channel@0/disk@0,0 As yet QemuBootOrderLib doesn't support such OFW device paths. Add code that translates a sequence of pci-bridge nodes. In practice libvirt seems to insert two such nodes (*), hence increment EXAMINED_OFW_NODES with the same number. (* Background, paraphrasing Laine Stump's words: When the machine type is Q35, we create a dmi-to-pci bridge coming off of the pcie root controller, and a pci-to-pci bridge coming off of that, then attach most devices to the pci-to-pci bridge. This is done because you can't hotplug into pcie-root, can't (or at least shouldn't) plug a pci-to-pci bridge into pcie-root (so the next one has to be dmi-to-pci-bridge), and can't hotplug into dmi-to-pci-bridge (so you need to have a pci-to-pci bridge).) Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Laszlo Ersek <lersek@redhat.com> Reviewed-by: Jordan Justen <jordan.l.justen@intel.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@17385 6f19259b-4bc3-4df7-8a09-765794883524
Diffstat (limited to 'MdePkg/MdePkg.dec')
0 files changed, 0 insertions, 0 deletions