Support for multiple targets will be implemented in a later commit in this series.
Ref: https://bugzilla.tianocore.org/show_bug.cgi?id=2390 Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Nikita Leshenko <nikita.leshche...@oracle.com> Reviewed-by: Konrad Rzeszutek Wilk <konrad.w...@oracle.com> Reviewed-by: Aaron Young <aaron.yo...@oracle.com> Reviewed-by: Liran Alon <liran.a...@oracle.com> --- OvmfPkg/MptScsiDxe/MptScsi.c | 36 ++++++++++++++++++++++++++++++++++-- 1 file changed, 34 insertions(+), 2 deletions(-) diff --git a/OvmfPkg/MptScsiDxe/MptScsi.c b/OvmfPkg/MptScsiDxe/MptScsi.c index b8eabfb23c..76f0515b52 100644 --- a/OvmfPkg/MptScsiDxe/MptScsi.c +++ b/OvmfPkg/MptScsiDxe/MptScsi.c @@ -63,6 +63,21 @@ MptScsiPassThru ( return EFI_UNSUPPORTED; } +STATIC +BOOLEAN +IsTargetInitialized ( + IN UINT8 *Target + ) +{ + int i; + for (i = 0; i < TARGET_MAX_BYTES; ++i) { + if (Target[i] != 0xFF) { + return TRUE; + } + } + return FALSE; +} + STATIC EFI_STATUS EFIAPI @@ -72,7 +87,16 @@ MptScsiGetNextTargetLun ( IN OUT UINT64 *Lun ) { - return EFI_UNSUPPORTED; + // + // Currently support only target 0 LUN 0, so hardcode it + // + if (!IsTargetInitialized (*Target)) { + **Target = 0; + *Lun = 0; + return EFI_SUCCESS; + } else { + return EFI_NOT_FOUND; + } } STATIC @@ -83,7 +107,15 @@ MptScsiGetNextTarget ( IN OUT UINT8 **Target ) { - return EFI_UNSUPPORTED; + // + // Currently support only target 0 LUN 0, so hardcode it + // + if (!IsTargetInitialized (*Target)) { + **Target = 0; + return EFI_SUCCESS; + } else { + return EFI_NOT_FOUND; + } } STATIC -- 2.20.1 -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#54912): https://edk2.groups.io/g/devel/message/54912 Mute This Topic: https://groups.io/mt/71570012/21656 Group Owner: devel+ow...@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-