summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLaszlo Ersek <lersek@redhat.com>2016-05-09 19:32:26 +0800
committerHao Wu <hao.a.wu@intel.com>2016-05-12 14:18:49 +0800
commitd5aee61bfaaa57357d0c6790d61894ef5d2aab10 (patch)
tree1c3b72407702e432257e27e6286b212d2918150e
parent79992d6e05e665394bdd003cc4c4b326060b621a (diff)
downloadedk2-d5aee61bfaaa57357d0c6790d61894ef5d2aab10.zip
edk2-d5aee61bfaaa57357d0c6790d61894ef5d2aab10.tar.gz
edk2-d5aee61bfaaa57357d0c6790d61894ef5d2aab10.tar.bz2
OvmfPkg/QemuNewBootOrderLib: 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 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>
-rw-r--r--OvmfPkg/Library/QemuNewBootOrderLib/QemuBootOrderLib.c10
1 files changed, 5 insertions, 5 deletions
diff --git a/OvmfPkg/Library/QemuNewBootOrderLib/QemuBootOrderLib.c b/OvmfPkg/Library/QemuNewBootOrderLib/QemuBootOrderLib.c
index 6c57612..c5f165a 100644
--- a/OvmfPkg/Library/QemuNewBootOrderLib/QemuBootOrderLib.c
+++ b/OvmfPkg/Library/QemuNewBootOrderLib/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],