From feec20b28dd0291b1a5d951e856d642659d23f7e Mon Sep 17 00:00:00 2001 From: Nikita Leshenko Date: Tue, 5 May 2020 00:05:56 +0300 Subject: [PATCH] OvmfPkg/MptScsiDxe: Create empty driver In preparation for implementing LSI Fusion MPT SCSI devices, create a basic scaffolding for a driver. Ref: https://bugzilla.tianocore.org/show_bug.cgi?id=2390 Signed-off-by: Nikita Leshenko Reviewed-by: Liran Alon Reviewed-by: Laszlo Ersek Message-Id: <20200504210607.144434-2-nikita.leshchenko@oracle.com> --- Maintainers.txt | 3 ++- OvmfPkg/MptScsiDxe/MptScsi.c | 26 ++++++++++++++++++++++++++ OvmfPkg/MptScsiDxe/MptScsiDxe.inf | 26 ++++++++++++++++++++++++++ OvmfPkg/OvmfPkgIa32.dsc | 4 ++++ OvmfPkg/OvmfPkgIa32.fdf | 3 +++ OvmfPkg/OvmfPkgIa32X64.dsc | 4 ++++ OvmfPkg/OvmfPkgIa32X64.fdf | 3 +++ OvmfPkg/OvmfPkgX64.dsc | 4 ++++ OvmfPkg/OvmfPkgX64.fdf | 3 +++ 9 files changed, 75 insertions(+), 1 deletion(-) create mode 100644 OvmfPkg/MptScsiDxe/MptScsi.c create mode 100644 OvmfPkg/MptScsiDxe/MptScsiDxe.inf diff --git a/Maintainers.txt b/Maintainers.txt index 1733225722..896ac5821f 100644 --- a/Maintainers.txt +++ b/Maintainers.txt @@ -435,7 +435,8 @@ OvmfPkg: CSM modules F: OvmfPkg/Csm/ R: David Woodhouse -OvmfPkg: PVSCSI driver +OvmfPkg: MptScsi and PVSCSI driver +F: OvmfPkg/MptScsiDxe/ F: OvmfPkg/PvScsiDxe/ R: Liran Alon R: Nikita Leshenko diff --git a/OvmfPkg/MptScsiDxe/MptScsi.c b/OvmfPkg/MptScsiDxe/MptScsi.c new file mode 100644 index 0000000000..c6c8142dfd --- /dev/null +++ b/OvmfPkg/MptScsiDxe/MptScsi.c @@ -0,0 +1,26 @@ +/** @file + + This driver produces Extended SCSI Pass Thru Protocol instances for + LSI Fusion MPT SCSI devices. + + Copyright (C) 2020, Oracle and/or its affiliates. + + SPDX-License-Identifier: BSD-2-Clause-Patent + +**/ + +#include + +// +// Entry Point +// + +EFI_STATUS +EFIAPI +MptScsiEntryPoint ( + IN EFI_HANDLE ImageHandle, + IN EFI_SYSTEM_TABLE *SystemTable + ) +{ + return EFI_UNSUPPORTED; +} diff --git a/OvmfPkg/MptScsiDxe/MptScsiDxe.inf b/OvmfPkg/MptScsiDxe/MptScsiDxe.inf new file mode 100644 index 0000000000..b4006a7c2d --- /dev/null +++ b/OvmfPkg/MptScsiDxe/MptScsiDxe.inf @@ -0,0 +1,26 @@ +## @file +# This driver produces Extended SCSI Pass Thru Protocol instances for +# LSI Fusion MPT SCSI devices. +# +# Copyright (C) 2020, Oracle and/or its affiliates. +# +# SPDX-License-Identifier: BSD-2-Clause-Patent +# +## + +[Defines] + INF_VERSION = 1.29 + BASE_NAME = MptScsiDxe + FILE_GUID = 2B3DB5DD-B315-4961-8454-0AFF3C811B19 + MODULE_TYPE = UEFI_DRIVER + VERSION_STRING = 1.0 + ENTRY_POINT = MptScsiEntryPoint + +[Sources] + MptScsi.c + +[Packages] + MdePkg/MdePkg.dec + +[LibraryClasses] + UefiDriverEntryPoint diff --git a/OvmfPkg/OvmfPkgIa32.dsc b/OvmfPkg/OvmfPkgIa32.dsc index fcd9779b5b..7c8b51f43b 100644 --- a/OvmfPkg/OvmfPkgIa32.dsc +++ b/OvmfPkg/OvmfPkgIa32.dsc @@ -49,6 +49,7 @@ # Device drivers # DEFINE PVSCSI_ENABLE = TRUE + DEFINE MPT_SCSI_ENABLE = TRUE # # Flash size selection. Setting FD_SIZE_IN_KB on the command line directly to @@ -755,6 +756,9 @@ OvmfPkg/XenPvBlkDxe/XenPvBlkDxe.inf !if $(PVSCSI_ENABLE) == TRUE OvmfPkg/PvScsiDxe/PvScsiDxe.inf +!endif +!if $(MPT_SCSI_ENABLE) == TRUE + OvmfPkg/MptScsiDxe/MptScsiDxe.inf !endif MdeModulePkg/Universal/WatchdogTimerDxe/WatchdogTimer.inf MdeModulePkg/Universal/MonotonicCounterRuntimeDxe/MonotonicCounterRuntimeDxe.inf diff --git a/OvmfPkg/OvmfPkgIa32.fdf b/OvmfPkg/OvmfPkgIa32.fdf index 8e43f4264e..fd81b6fa8b 100644 --- a/OvmfPkg/OvmfPkgIa32.fdf +++ b/OvmfPkg/OvmfPkgIa32.fdf @@ -233,6 +233,9 @@ INF OvmfPkg/XenPvBlkDxe/XenPvBlkDxe.inf !if $(PVSCSI_ENABLE) == TRUE INF OvmfPkg/PvScsiDxe/PvScsiDxe.inf !endif +!if $(MPT_SCSI_ENABLE) == TRUE +INF OvmfPkg/MptScsiDxe/MptScsiDxe.inf +!endif !if $(SECURE_BOOT_ENABLE) == TRUE INF SecurityPkg/VariableAuthenticated/SecureBootConfigDxe/SecureBootConfigDxe.inf diff --git a/OvmfPkg/OvmfPkgIa32X64.dsc b/OvmfPkg/OvmfPkgIa32X64.dsc index 1626d2415a..a0596c4416 100644 --- a/OvmfPkg/OvmfPkgIa32X64.dsc +++ b/OvmfPkg/OvmfPkgIa32X64.dsc @@ -48,6 +48,7 @@ # Device drivers # DEFINE PVSCSI_ENABLE = TRUE + DEFINE MPT_SCSI_ENABLE = TRUE # # Flash size selection. Setting FD_SIZE_IN_KB on the command line directly to @@ -768,6 +769,9 @@ OvmfPkg/XenPvBlkDxe/XenPvBlkDxe.inf !if $(PVSCSI_ENABLE) == TRUE OvmfPkg/PvScsiDxe/PvScsiDxe.inf +!endif +!if $(MPT_SCSI_ENABLE) == TRUE + OvmfPkg/MptScsiDxe/MptScsiDxe.inf !endif MdeModulePkg/Universal/WatchdogTimerDxe/WatchdogTimer.inf MdeModulePkg/Universal/MonotonicCounterRuntimeDxe/MonotonicCounterRuntimeDxe.inf diff --git a/OvmfPkg/OvmfPkgIa32X64.fdf b/OvmfPkg/OvmfPkgIa32X64.fdf index 25af9fbed4..f71134a659 100644 --- a/OvmfPkg/OvmfPkgIa32X64.fdf +++ b/OvmfPkg/OvmfPkgIa32X64.fdf @@ -234,6 +234,9 @@ INF OvmfPkg/XenPvBlkDxe/XenPvBlkDxe.inf !if $(PVSCSI_ENABLE) == TRUE INF OvmfPkg/PvScsiDxe/PvScsiDxe.inf !endif +!if $(MPT_SCSI_ENABLE) == TRUE +INF OvmfPkg/MptScsiDxe/MptScsiDxe.inf +!endif !if $(SECURE_BOOT_ENABLE) == TRUE INF SecurityPkg/VariableAuthenticated/SecureBootConfigDxe/SecureBootConfigDxe.inf diff --git a/OvmfPkg/OvmfPkgX64.dsc b/OvmfPkg/OvmfPkgX64.dsc index 65cfe95776..2e764b6b72 100644 --- a/OvmfPkg/OvmfPkgX64.dsc +++ b/OvmfPkg/OvmfPkgX64.dsc @@ -48,6 +48,7 @@ # Device drivers # DEFINE PVSCSI_ENABLE = TRUE + DEFINE MPT_SCSI_ENABLE = TRUE # # Flash size selection. Setting FD_SIZE_IN_KB on the command line directly to @@ -765,6 +766,9 @@ OvmfPkg/XenPvBlkDxe/XenPvBlkDxe.inf !if $(PVSCSI_ENABLE) == TRUE OvmfPkg/PvScsiDxe/PvScsiDxe.inf +!endif +!if $(MPT_SCSI_ENABLE) == TRUE + OvmfPkg/MptScsiDxe/MptScsiDxe.inf !endif MdeModulePkg/Universal/WatchdogTimerDxe/WatchdogTimer.inf MdeModulePkg/Universal/MonotonicCounterRuntimeDxe/MonotonicCounterRuntimeDxe.inf diff --git a/OvmfPkg/OvmfPkgX64.fdf b/OvmfPkg/OvmfPkgX64.fdf index 25af9fbed4..f71134a659 100644 --- a/OvmfPkg/OvmfPkgX64.fdf +++ b/OvmfPkg/OvmfPkgX64.fdf @@ -234,6 +234,9 @@ INF OvmfPkg/XenPvBlkDxe/XenPvBlkDxe.inf !if $(PVSCSI_ENABLE) == TRUE INF OvmfPkg/PvScsiDxe/PvScsiDxe.inf !endif +!if $(MPT_SCSI_ENABLE) == TRUE +INF OvmfPkg/MptScsiDxe/MptScsiDxe.inf +!endif !if $(SECURE_BOOT_ENABLE) == TRUE INF SecurityPkg/VariableAuthenticated/SecureBootConfigDxe/SecureBootConfigDxe.inf -- 2.39.2