From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from userp2120.oracle.com (userp2120.oracle.com [156.151.31.85]) by mx.groups.io with SMTP id smtpd.web11.24156.1585474170268690529 for ; Sun, 29 Mar 2020 02:29:30 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@oracle.com header.s=corp-2020-01-29 header.b=nZ2kPsqY; spf=pass (domain: oracle.com, ip: 156.151.31.85, mailfrom: nikita.leshchenko@oracle.com) Received: from pps.filterd (userp2120.oracle.com [127.0.0.1]) by userp2120.oracle.com (8.16.0.42/8.16.0.42) with SMTP id 02T9Or1b046699; Sun, 29 Mar 2020 09:29:29 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=content-type : mime-version : subject : from : in-reply-to : date : cc : content-transfer-encoding : message-id : references : to; s=corp-2020-01-29; bh=vD6G2hvTSmti4O/L11BZJMnuiEt9JjPXQM91PfReuQM=; b=nZ2kPsqY3Slz4RtdAe88qWr1fXi2b5XTdApITJYsNOM7i96B5io4rLCl7YgFrvN9EMSx judpsywuMhyw1q0/NyMq3zM45hXPB1cMjUuop86YoeiSr5XsGWsDpKgPtluJxcW+Ff+l p0kFvBWH1BLctXi6JEXM+3YgJxWSZyfor1j+5qTxzYN5urBA/CC5Yzpw5uNyraIJfLpU paCPPObyU8+cvQGpvpJCyJsANDGhhhmFtsf7H2yf6ydCZjJdZ8rNBrxr8/M94/6MdL7c arallK/xqwNU/EAwvpmQbbFgLTbky72wm2Z1hD67e1OXZiIF85xOUNOumBv83sQSbpFD ug== Received: from userp3030.oracle.com (userp3030.oracle.com [156.151.31.80]) by userp2120.oracle.com with ESMTP id 301y7mjs65-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Sun, 29 Mar 2020 09:29:29 +0000 Received: from pps.filterd (userp3030.oracle.com [127.0.0.1]) by userp3030.oracle.com (8.16.0.42/8.16.0.42) with SMTP id 02T9NiI5096122; Sun, 29 Mar 2020 09:29:29 GMT Received: from aserv0122.oracle.com (aserv0122.oracle.com [141.146.126.236]) by userp3030.oracle.com with ESMTP id 302g29pfap-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Sun, 29 Mar 2020 09:29:29 +0000 Received: from abhmp0013.oracle.com (abhmp0013.oracle.com [141.146.116.19]) by aserv0122.oracle.com (8.14.4/8.14.4) with ESMTP id 02T9TReG002741; Sun, 29 Mar 2020 09:29:27 GMT Received: from [192.168.1.166] (/213.57.201.13) by default (Oracle Beehive Gateway v4.0) with ESMTP ; Sun, 29 Mar 2020 02:29:27 -0700 Mime-Version: 1.0 (Mac OS X Mail 11.5 \(3445.9.1\)) Subject: Re: [PATCH v3 00/17] OvmfPkg: Support booting from VMware PVSCSI controller From: "Nikita Leshenko" In-Reply-To: <20200328200100.60786-1-liran.alon@oracle.com> Date: Sun, 29 Mar 2020 12:29:22 +0300 Cc: devel@edk2.groups.io, lersek@redhat.com, aaron.young@oracle.com, jordan.l.justen@intel.com, ard.biesheuvel@linaro.org Message-Id: References: <20200328200100.60786-1-liran.alon@oracle.com> To: Liran Alon X-Mailer: Apple Mail (2.3445.9.1) X-Proofpoint-Virus-Version: vendor=nai engine=6000 definitions=9574 signatures=668685 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 mlxlogscore=999 spamscore=0 mlxscore=0 adultscore=0 phishscore=0 bulkscore=0 suspectscore=0 malwarescore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2003020000 definitions=main-2003290090 X-Proofpoint-Virus-Version: vendor=nai engine=6000 definitions=9574 signatures=668685 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 suspectscore=0 spamscore=0 phishscore=0 malwarescore=0 mlxscore=0 mlxlogscore=999 lowpriorityscore=0 adultscore=0 priorityscore=1501 bulkscore=0 clxscore=1015 impostorscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2003020000 definitions=main-2003290090 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable > On 28 Mar 2020, at 23:00, Liran Alon wrote: >=20 > Hi, >=20 > This series adds driver support for VMware PVSCSI controller. >=20 > This controller is supported by VMware and QEMU. This work is part of > the more general agenda of enhancing OVMF boot device support to have > feature parity with SeaBIOS (Which supports booting from VMware = PVSCSI). >=20 > I pushed a copy of these (v3) patches to = https://github.com/nikital/edk2/tree/pvscsi6 > The v2 patches can be found at = https://github.com/nikital/edk2/tree/pvscsi5 > The v1 patches can be found at = https://github.com/nikital/edk2/tree/pvscsi4 >=20 > Regards, > -Liran >=20 > v2->v3: > * Add function documentation to PvScsiWriteCmdDesc with =E2=80=9C@param=E2= =80=9D to explain DescWords alignment requirement. [Laszlo] > * Also set Packet=E2=80=99s HostAdapterStatus and TargetStatus when = returning EFI_BAD_BUFFER_SIZE from PassThru() method. [Liran] > * Add comments explaining why DMA communication buffer fields sizes = are defined as they are. [Laszlo] > * Remove unnecessary (UINT64) casts from EFI_PHYSICAL_ADDRESS = expressions. [Laszlo] > * Changed HandleResponse() to always copy SenseData based on = Response->SenseLen. Not only if ScsiStatus equal to CHECK. [Liran] > * Changed HandleResponse() to update Packet TransferLength only on = underrun. [Liran] > * Changed PassThru() to return EFI_STATUS_SUCCESS on device return = overrun/underrun. [Laszlo & Liran] > * Removed unnecessary PvScsiAllocatePages(), PvScsiFreePages(), = PvScsiMapBuffer() and PvScsiUnmapBuffer() utility functions. [Laszlo] > * Changed PvScsiInitRings() to align PVSCSI_CMD_DESC_SETUP_RINGS = command to UINT32 before using it with EfiPciIoWidthFifoUint32. [Laszlo] > * Removed PciIoOperation parameter from PvScsiAllocateSharedPages(). = [Laszlo > * Added STATIC_ASSERT() to verify PVSCSI_CMD_DESC_SETUP_RINGS is of = size multiple of UINT32 words [Laszlo]. > * Added reset device before either freeing PVSCSI rings or DMA = communication buffer. [Laszlo] > * Removed unnecessary cast to (VOID **) in call to = PvScsiFreeSharedPages() in PvScsiUninit(). [Laszlo] > * Added #include and BaseLib to PvScsiDxe.inf = because of RShiftU64() usage. [Laszlo] >=20 > v1->v2: > * Removed Nikita=E2=80=99s Reviewed-By tags. [Laszlo] > * Renamed PvScsi.inf to PvScsiDxe.inf and fixed references from all = DSC files. [Laszlo] > * Changed =E2=80=9C!ifdef $(PVSCSI_ENABLE)=E2=80=9D in DSC files to = =E2=80=9C!if $(PVSCSI_ENABLE) =3D=3D TRUE=E2=80=9D. [Laszlo] > * Fix Identation in various places. [Laszlo] > * Added =E2=80=9C#include =E2=80=9D for = EFI_SYSTEM_TABLE. [Laszlo] > * Fix various typos. [Laszlo] > * Made =E2=80=9CSTATIC=E2=80=9D on same line of object delcerations. = [Laszlo] > * Added Laszlo=E2=80=99s Reviewed-by tags on some patches. [Laszlo] > * Added missing spaces before =E2=80=9C(=E2=80=9C on various function = calls. [Laszlo] > * Added PvScsi.h header file to INF [Sources] section. [Laszlo] > * Changed [Protocols] section in INF file to be lexicographically = sorted. [Laszlo] > * Changed [PCDs] section in INF file to be lexigraphically sorted. = [Laszlo] > * Fixed function comments blocks to be =E2=80=9C/** **/=E2=80=9D = instead of =E2=80=9C//=E2=80=9D style. [Laszlo] > * Changed PvScsiGetTargetLun() to ZeroMem() all target bytes except = first one. [Laszlo] > * Replaced =E2=80=9CIOSpace=E2=80=9D with =E2=80=9CMMIO-Space=E2=80=9D = in comments. [Laszlo] > * Changed enums to match EDK2 coding convention. [Laszlo] > * Use PCI_BAR_IDX0 instead of hard-coded 0. [Laszlo] > * Use EFI_PAGES_TO_SIZE() instead of manually multiplying with = EFI_PAGE_SIZE. [Laszlo] > * Use RShiftU64() to shift UINT64 vars. [Laszlo] > * Changed ReqNumEntries var to UINT32 and shift to use =E2=80=9C1U = <<=E2=80=9D instead of =E2=80=9C1 <<=E2=80=9D. [Laszlo] > * Changed condition on flag (In PvScsiWaitForRequestCompletion()) to = be a boolean expression. [Laszlo] > * Replaced =E2=80=9CFakeHostAdapterError=E2=80=9D label with a utility = function. [Laszlo] > * Added debug message to PvScsiExitBoot() to assist debugging. = [Laszlo] > * Fixed resource management to make each function either completely = succeed or completely fail and free all resources. [Laszlo] > * Changed PvScsiWriteCmdDesc() to use EfiPciIoWidthFifoUint32. = [Laszlo] > * Changed PvScsiWriteCmdDesc() prototype to make clear it descriptor = must be an array of words. [Laszlo] >=20 The entire series looks good to me: Reviewed-by: Nikita Leshenko =