[edk2-devel] [PATCH v3 0/4] OvmfPkg: CSM boot fixes

David Woodhouse posted 4 patches 4 years, 9 months ago
Failed in applying to current master (apply log)
OvmfPkg/Csm/LegacyBiosDxe/LegacyBbs.c  | 157 ++++++++++++++++++++++++-
OvmfPkg/Csm/LegacyBiosDxe/LegacyBios.c |   7 +-
OvmfPkg/OvmfPkgIa32.dsc                |   2 +
OvmfPkg/OvmfPkgIa32.fdf                |   5 +-
OvmfPkg/OvmfPkgIa32X64.dsc             |   6 +
OvmfPkg/OvmfPkgIa32X64.fdf             |   5 +-
OvmfPkg/OvmfPkgX64.dsc                 |   6 +
OvmfPkg/OvmfPkgX64.fdf                 |   5 +-
8 files changed, 179 insertions(+), 14 deletions(-)
[edk2-devel] [PATCH v3 0/4] OvmfPkg: CSM boot fixes
Posted by David Woodhouse 4 years, 9 months ago
For v3, leaving out the cosmetic parts that touch code outside OvmfPkg. 
This series is now purely the correctness fixes within OvmfPkg which are 
required to make CSM boots work properly again.

The first two patches allow NVMe and VirtIO disks to be used as Legacy
boot targets, since nobody really uses IDE any more.

The third avoids using QemuVideoDxe when we have CSM, as the INT 10h 
shim installed by QemuVideoDxe conflicts with a real legacy video BIOS
being installed.

Finally, avoid placing PCI BARs above 4GiB. Strictly speaking we only 
need this for PCI devices which might be natively supported by the CSM 
BIOS, like NVMe. Devices with an OpRom already get special-cased to stay 
below 4GiB. But an IncompatiblePciDeviceSupportProtocol implementation 
doesn't get to see the PCI device class; only the vendor/device IDs so 
we can't use it for that purpose to downgrade more selectively. Instead, 
just default to putting everything below 4GiB.


David Woodhouse (4):
  OvmfPkg/LegacyBios: set NumberBbsEntries to the size of BbsTable
  OvmfPkg/LegacyBbs: Add boot entries for VirtIO and NVME devices
  OvmfPkg: Don't build in QemuVideoDxe when we have CSM
  OvmfPkg: don't assign PCI BARs above 4GiB when CSM enabled

 OvmfPkg/Csm/LegacyBiosDxe/LegacyBbs.c  | 157 ++++++++++++++++++++++++-
 OvmfPkg/Csm/LegacyBiosDxe/LegacyBios.c |   7 +-
 OvmfPkg/OvmfPkgIa32.dsc                |   2 +
 OvmfPkg/OvmfPkgIa32.fdf                |   5 +-
 OvmfPkg/OvmfPkgIa32X64.dsc             |   6 +
 OvmfPkg/OvmfPkgIa32X64.fdf             |   5 +-
 OvmfPkg/OvmfPkgX64.dsc                 |   6 +
 OvmfPkg/OvmfPkgX64.fdf                 |   5 +-
 8 files changed, 179 insertions(+), 14 deletions(-)

-- 
2.21.0


-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.

View/Reply Online (#42888): https://edk2.groups.io/g/devel/message/42888
Mute This Topic: https://groups.io/mt/32213814/1787277
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub  [importer@patchew.org]
-=-=-=-=-=-=-=-=-=-=-=-

Re: [edk2-devel] [PATCH v3 0/4] OvmfPkg: CSM boot fixes
Posted by Laszlo Ersek 4 years, 9 months ago
On 06/26/19 13:37, David Woodhouse wrote:
> For v3, leaving out the cosmetic parts that touch code outside OvmfPkg. 
> This series is now purely the correctness fixes within OvmfPkg which are 
> required to make CSM boots work properly again.
> 
> The first two patches allow NVMe and VirtIO disks to be used as Legacy
> boot targets, since nobody really uses IDE any more.
> 
> The third avoids using QemuVideoDxe when we have CSM, as the INT 10h 
> shim installed by QemuVideoDxe conflicts with a real legacy video BIOS
> being installed.
> 
> Finally, avoid placing PCI BARs above 4GiB. Strictly speaking we only 
> need this for PCI devices which might be natively supported by the CSM 
> BIOS, like NVMe. Devices with an OpRom already get special-cased to stay 
> below 4GiB. But an IncompatiblePciDeviceSupportProtocol implementation 
> doesn't get to see the PCI device class; only the vendor/device IDs so 
> we can't use it for that purpose to downgrade more selectively. Instead, 
> just default to putting everything below 4GiB.
> 
> 
> David Woodhouse (4):
>   OvmfPkg/LegacyBios: set NumberBbsEntries to the size of BbsTable
>   OvmfPkg/LegacyBbs: Add boot entries for VirtIO and NVME devices
>   OvmfPkg: Don't build in QemuVideoDxe when we have CSM
>   OvmfPkg: don't assign PCI BARs above 4GiB when CSM enabled
> 
>  OvmfPkg/Csm/LegacyBiosDxe/LegacyBbs.c  | 157 ++++++++++++++++++++++++-
>  OvmfPkg/Csm/LegacyBiosDxe/LegacyBios.c |   7 +-
>  OvmfPkg/OvmfPkgIa32.dsc                |   2 +
>  OvmfPkg/OvmfPkgIa32.fdf                |   5 +-
>  OvmfPkg/OvmfPkgIa32X64.dsc             |   6 +
>  OvmfPkg/OvmfPkgIa32X64.fdf             |   5 +-
>  OvmfPkg/OvmfPkgX64.dsc                 |   6 +
>  OvmfPkg/OvmfPkgX64.fdf                 |   5 +-
>  8 files changed, 179 insertions(+), 14 deletions(-)
> 

Series pushed as commit range 2f3435c2343f..c7341877f695.

Thank you!
Laszlo

-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.

View/Reply Online (#42899): https://edk2.groups.io/g/devel/message/42899
Mute This Topic: https://groups.io/mt/32213814/1787277
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub  [importer@patchew.org]
-=-=-=-=-=-=-=-=-=-=-=-