This series adds driver support for:
- LSI53C1030
- SAS1068
- SAS1068E
These controllers are widely supported by QEMU, VirtualBox and VMWare.
This work is part of the more general agenda of enhancing OVMF boot
device support to have feature parity with SeaBIOS.
I pushed a copy of these patches to
https://github.com/nikital/edk2/tree/mptscsi_v5
Previous versions:
https://github.com/nikital/edk2/tree/mptscsi_v4
https://github.com/nikital/edk2/tree/mptscsi_v3
https://github.com/nikital/edk2/tree/mptscsi (v2)
v4->v5:
- Sort maintainers and protocols
- Fix bug when restoring PCI attributes (Use Set instead of Enable)
- Separate packed structs and aligned unions
- STATIC_ASSERT for init request size
- Add support for multiple targets from the beginning
- Use PCI_BAR_IDX0 in door bell
- Code convention improvements
- Add DEBUG_VERBOSE message seen in PvScsiExitBoot
- Return EFI_INVALID_PARAMETER in GetNextTarget
- STATIC_ASSERT for MaxTarget
- Move PCD near PvScsi
- A lot of fixes for PassThru (comments, error handling, casting)
- Support 64-bit DMA
v3->v4:
- Add ExitBootServices
- Rework error handling in PassThru
- SPDX license
- Made compilation conditional
- Squash GetTargetLun and BuildDevicePath commits
- Added #include <Uefi/UefiSpec.h>
- Use PCI_BAR_IDX0
- Code convention improvements
v2->v3:
- Change error handling style
- Add comments about target size and zero unused target bytes
- Remove internal Reviewed-by
- Fix problems reported by PatchCheck.py
- Use SetupGit.py
v1->v2:
- Map() DMAed buffers
- Fixed various code convention issues
- Newer debug macros
- Updated INF version
Thanks,
Nikita
Nikita Leshenko (12):
OvmfPkg/MptScsiDxe: Create empty driver
OvmfPkg/MptScsiDxe: Install DriverBinding Protocol
OvmfPkg/MptScsiDxe: Report name of driver
OvmfPkg/MptScsiDxe: Probe PCI devices and look for MptScsi
OvmfPkg/MptScsiDxe: Install stubbed EXT_SCSI_PASS_THRU
OvmfPkg/MptScsiDxe: Report targets and one LUN
OvmfPkg/MptScsiDxe: Build and decode DevicePath
OvmfPkg/MptScsiDxe: Open PciIo protocol for later use
OvmfPkg/MptScsiDxe: Set and restore PCI attributes
OvmfPkg/MptScsiDxe: Initialize hardware
OvmfPkg/MptScsiDxe: Implement the PassThru method
OvmfPkg/MptScsiDxe: Reset device on ExitBootServices()
Maintainers.txt | 3 +-
.../Include/IndustryStandard/FusionMptScsi.h | 160 +++
OvmfPkg/MptScsiDxe/MptScsi.c | 1199 +++++++++++++++++
OvmfPkg/MptScsiDxe/MptScsiDxe.inf | 42 +
OvmfPkg/OvmfPkg.dec | 7 +
OvmfPkg/OvmfPkgIa32.dsc | 4 +
OvmfPkg/OvmfPkgIa32.fdf | 3 +
OvmfPkg/OvmfPkgIa32X64.dsc | 4 +
OvmfPkg/OvmfPkgIa32X64.fdf | 3 +
OvmfPkg/OvmfPkgX64.dsc | 4 +
OvmfPkg/OvmfPkgX64.fdf | 3 +
11 files changed, 1431 insertions(+), 1 deletion(-)
create mode 100644 OvmfPkg/Include/IndustryStandard/FusionMptScsi.h
create mode 100644 OvmfPkg/MptScsiDxe/MptScsi.c
create mode 100644 OvmfPkg/MptScsiDxe/MptScsiDxe.inf
--
2.20.1
-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#58089): https://edk2.groups.io/g/devel/message/58089
Mute This Topic: https://groups.io/mt/73247322/1787277
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org]
-=-=-=-=-=-=-=-=-=-=-=-