This patch series implement the driver for LSI 53C895A SCSI controller
for OVMF so that the user can access the storage devices connected to
QEMU "lsi" controller. The driver is disabled by default since LSI
53C895A is considered as a legacy device. To enable the driver, please
add "-D LSI_SCSI_ENABLE" when building OvmfPkg.
The patch series is also available in my git branch:
https://github.com/lcp/edk2/tree/ovmf-lsi-v2
Cc: Jordan Justen <jordan.l.justen@intel.com>
Cc: Laszlo Ersek <lersek@redhat.com>
Cc: Ard Biesheuvel <ard.biesheuvel@arm.com>
v2:
- Fix the mixed-case GUID string
- Remove "STATIC" from LsiScsiControllerSupported()
- Move the closing of PciIo protocol to the right patch
- Add asserts for PcdLsiScsiMaxTargetLimit and PcdLsiScsiMaxLunLimit
- Handle the "Target" array correctly
- Use BITx macros for the bit constants
- Replace 0x10000 with SIZE_64KB macro for the DMA buffer data array
- Remove DUAL_ADDRESS_CYCLE from PciIo since we don't really need
64-bit DMA address
- Fix a typo
- Fix the coding style of the instructions for the script.
- Improve the error handling in LsiScsiProcessRequest()
- Calculate the transferred bytes after the execution of the script
Gary Lin (12):
OvmfPkg/LsiScsiDxe: Create the empty driver
OvmfPkg/LsiScsiDxe: Install the skeleton of driver binding
OvmfPkg/LsiScsiDxe: Report the name of the driver
OvmfPkg/LsiScsiDxe: Probe PCI devices and look for LsiScsi
OvmfPkg/LsiScsiDxe: Install stubbed EXT_SCSI_PASS_THRU
OvmfPkg/LsiScsiDxe: Report Targets and LUNs
OvmfPkg/LsiScsiDxe: Open PciIo protocol and initialize the device
OvmfPkg/LsiScsiDxe: Map DMA buffer
OvmfPkg/LsiScsiDxe: Examine the incoming SCSI Request Packet
OvmfPkg/LsiScsiDxe: Process the SCSI Request Packet
OvmfPkg/LsiScsiDxe: Calculate the transferred bytes
Maintainers.txt: Add Gary Lin as the reviewer for LsiScsi driver
Maintainers.txt | 4 +
OvmfPkg/Include/IndustryStandard/LsiScsi.h | 105 ++
OvmfPkg/LsiScsiDxe/LsiScsi.c | 1188 ++++++++++++++++++++
OvmfPkg/LsiScsiDxe/LsiScsi.h | 202 ++++
OvmfPkg/LsiScsiDxe/LsiScsiDxe.inf | 46 +
OvmfPkg/OvmfPkg.dec | 8 +
OvmfPkg/OvmfPkgIa32.dsc | 4 +
OvmfPkg/OvmfPkgIa32.fdf | 3 +
OvmfPkg/OvmfPkgIa32X64.dsc | 4 +
OvmfPkg/OvmfPkgIa32X64.fdf | 3 +
OvmfPkg/OvmfPkgX64.dsc | 4 +
OvmfPkg/OvmfPkgX64.fdf | 3 +
12 files changed, 1574 insertions(+)
create mode 100644 OvmfPkg/Include/IndustryStandard/LsiScsi.h
create mode 100644 OvmfPkg/LsiScsiDxe/LsiScsi.c
create mode 100644 OvmfPkg/LsiScsiDxe/LsiScsi.h
create mode 100644 OvmfPkg/LsiScsiDxe/LsiScsiDxe.inf
--
2.25.1
-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#62654): https://edk2.groups.io/g/devel/message/62654
Mute This Topic: https://groups.io/mt/75537201/1787277
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org]
-=-=-=-=-=-=-=-=-=-=-=-