[edk2-devel] [PATCH v6 00/12] OvmfPkg: Support booting from Fusion-MPT SCSI controllers

Nikita Leshenko posted 12 patches 3 years, 10 months ago
Failed in applying to current master (apply log)
Maintainers.txt                               |    3 +-
.../Include/IndustryStandard/FusionMptScsi.h  |  160 +++
OvmfPkg/MptScsiDxe/MptScsi.c                  | 1211 +++++++++++++++++
OvmfPkg/MptScsiDxe/MptScsiDxe.inf             |   44 +
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, 1445 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
[edk2-devel] [PATCH v6 00/12] OvmfPkg: Support booting from Fusion-MPT SCSI controllers
Posted by Nikita Leshenko 3 years, 10 months ago
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_v6
Previous versions:
https://github.com/nikital/edk2/tree/mptscsi_v5
https://github.com/nikital/edk2/tree/mptscsi_v4
https://github.com/nikital/edk2/tree/mptscsi_v3
https://github.com/nikital/edk2/tree/mptscsi (v2)

v5->v6:
- Use for "other" error ReportHostAdapterError
- Add alignment for init request
- Add PcdLib
- Use RShiftU64
- Use Pages for FreeBuffer
- Use STATIC_ASSERT for ReplyWord
- Code convention fixes

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                  | 1211 +++++++++++++++++
 OvmfPkg/MptScsiDxe/MptScsiDxe.inf             |   44 +
 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, 1445 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 (#58569): https://edk2.groups.io/g/devel/message/58569
Mute This Topic: https://groups.io/mt/73984846/1787277
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub  [importer@patchew.org]
-=-=-=-=-=-=-=-=-=-=-=-

Re: [edk2-devel] [PATCH v6 00/12] OvmfPkg: Support booting from Fusion-MPT SCSI controllers
Posted by Laszlo Ersek 3 years, 10 months ago
On 05/04/20 23:05, Nikita Leshenko wrote:
> 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_v6
> Previous versions:
> https://github.com/nikital/edk2/tree/mptscsi_v5
> https://github.com/nikital/edk2/tree/mptscsi_v4
> https://github.com/nikital/edk2/tree/mptscsi_v3
> https://github.com/nikital/edk2/tree/mptscsi (v2)
> 
> v5->v6:
> - Use for "other" error ReportHostAdapterError
> - Add alignment for init request
> - Add PcdLib
> - Use RShiftU64
> - Use Pages for FreeBuffer
> - Use STATIC_ASSERT for ReplyWord
> - Code convention fixes

Github.com pull request:

https://github.com/tianocore/edk2/pull/582

Commit range: f159102a130f..c635a56384bf.

Thanks!
Laszlo

> 
> 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                  | 1211 +++++++++++++++++
>  OvmfPkg/MptScsiDxe/MptScsiDxe.inf             |   44 +
>  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, 1445 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
> 


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

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