diff options
author | Laszlo Ersek <lersek@redhat.com> | 2016-05-09 19:32:27 +0800 |
---|---|---|
committer | Hao Wu <hao.a.wu@intel.com> | 2016-05-12 14:18:59 +0800 |
commit | 1da7616649491b054025fc2928211f577fbf2691 (patch) | |
tree | 37d609d01767386cb12a8065838e61d6c5c42f02 /OvmfPkg/Library/QemuBootOrderLib | |
parent | d5aee61bfaaa57357d0c6790d61894ef5d2aab10 (diff) | |
download | edk2-1da7616649491b054025fc2928211f577fbf2691.tar.gz edk2-1da7616649491b054025fc2928211f577fbf2691.tar.bz2 edk2-1da7616649491b054025fc2928211f577fbf2691.zip |
OvmfPkg/QemuBootOrderLib: adapt Q35 SATA PMPN to UEFI spec Mantis 1353
On the Q35 machine type of QEMU, there is no port multiplier connected to
the on-board SATA controller. Therefore the AtaAtapiPassThru driver update
for Mantis ticket 1353 <https://mantis.uefi.org/mantis/view.php?id=1353>
changes the middle number (the Port Multiplier Port Number) in the Sata()
device path nodes from 0x0 to 0xFFFF.
Adapt the translation from OpenFirmware in QemuBootOrderLib.
(Note: QemuBootOrderLib is deprecated at this point (see USE_OLD_BDS in
the DSC files), but until we remove it, it should be kept in sync with
QemuNewBootOrderLib.)
Cc: Jordan Justen <jordan.l.justen@intel.com>
Cc: Feng Tian <feng.tian@intel.com>
Cc: Hao Wu <hao.a.wu@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Laszlo Ersek <lersek@redhat.com>
Reviewed-by: Feng Tian <feng.tian@intel.com>
Diffstat (limited to 'OvmfPkg/Library/QemuBootOrderLib')
-rw-r--r-- | OvmfPkg/Library/QemuBootOrderLib/QemuBootOrderLib.c | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/OvmfPkg/Library/QemuBootOrderLib/QemuBootOrderLib.c b/OvmfPkg/Library/QemuBootOrderLib/QemuBootOrderLib.c index 15065b7c3d..582b0bc90e 100644 --- a/OvmfPkg/Library/QemuBootOrderLib/QemuBootOrderLib.c +++ b/OvmfPkg/Library/QemuBootOrderLib/QemuBootOrderLib.c @@ -786,11 +786,11 @@ TranslatePciOfwNodes ( //
// UEFI device path:
//
- // PciRoot(0x0)/Pci(0x1F,0x2)/Sata(0x1,0x0,0x0)
- // ^ ^ ^
- // | | LUN (always 0 on Q35)
+ // PciRoot(0x0)/Pci(0x1F,0x2)/Sata(0x1,0xFFFF,0x0)
+ // ^ ^ ^
+ // | | LUN (always 0 on Q35)
// | port multiplier port number,
- // | always 0 on Q35
+ // | always 0xFFFF on Q35
// channel (port) number
//
UINT64 Channel;
@@ -805,7 +805,7 @@ TranslatePciOfwNodes ( Written = UnicodeSPrintAsciiFormat (
Translated,
*TranslatedSize * sizeof (*Translated), // BufferSize in bytes
- "PciRoot(0x%x)%s/Pci(0x%Lx,0x%Lx)/Sata(0x%Lx,0x0,0x0)",
+ "PciRoot(0x%x)%s/Pci(0x%Lx,0x%Lx)/Sata(0x%Lx,0xFFFF,0x0)",
PciRoot,
Bridges,
PciDevFun[0],
|