From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from us-smtp-delivery-74.mimecast.com (us-smtp-delivery-74.mimecast.com [63.128.21.74]) by mx.groups.io with SMTP id smtpd.web10.55419.1585587194882215148 for ; Mon, 30 Mar 2020 09:53:15 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@redhat.com header.s=mimecast20190719 header.b=ZFhftd9Z; spf=pass (domain: redhat.com, ip: 63.128.21.74, mailfrom: lersek@redhat.com) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1585587194; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=1ncpwY4b2NB2kWXLl3tkUawRYxcWaPIDKeQA3upsWVo=; b=ZFhftd9ZsIxl9A5e98asuzMQaSiEFeb0tMpwCfDppZOPANVGcATw25OQdvv/baZ9mVlyKf c4th92YuYFQsHTgwPRSWFcO+ck87ZCMpHFISdm712Y4GrBz4NG1ycRdyb0uGNnGXeRReg+ CJrPtd4b2IGtySNLKpQrdRiickh9IXQ= Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-418-MLwzl6A9OQO2iXvGz8-kEQ-1; Mon, 30 Mar 2020 12:53:08 -0400 X-MC-Unique: MLwzl6A9OQO2iXvGz8-kEQ-1 Received: from smtp.corp.redhat.com (int-mx05.intmail.prod.int.phx2.redhat.com [10.5.11.15]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id 8038013F7; Mon, 30 Mar 2020 16:53:07 +0000 (UTC) Received: from lacos-laptop-7.usersys.redhat.com (ovpn-112-191.ams2.redhat.com [10.36.112.191]) by smtp.corp.redhat.com (Postfix) with ESMTP id E7F5A953D6; Mon, 30 Mar 2020 16:53:05 +0000 (UTC) Subject: Re: [edk2-devel] [PATCH v3 00/17] OvmfPkg: Support booting from VMware PVSCSI controller To: devel@edk2.groups.io, liran.alon@oracle.com Cc: nikita.leshchenko@oracle.com, aaron.young@oracle.com, jordan.l.justen@intel.com, ard.biesheuvel@linaro.org References: <20200328200100.60786-1-liran.alon@oracle.com> From: "Laszlo Ersek" Message-ID: Date: Mon, 30 Mar 2020 18:53:05 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.9.1 MIME-Version: 1.0 In-Reply-To: <20200328200100.60786-1-liran.alon@oracle.com> X-Scanned-By: MIMEDefang 2.79 on 10.5.11.15 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Language: en-US Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable On 03/28/20 21:00, Liran Alon wrote: > 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/pvsc= si5 > The v1 patches can be found at https://github.com/nikital/edk2/tree/pvsc= si4 Merged in commit range 6c1fb56802d5..f34c7645bd87, via . Thanks for the contribution! Laszlo > 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 retu= rning 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 expression= s. [Laszlo] > * Changed HandleResponse() to always copy SenseData based on Response->S= enseLen. Not only if ScsiStatus equal to CHECK. [Liran] > * Changed HandleResponse() to update Packet TransferLength only on under= run. [Liran] > * Changed PassThru() to return EFI_STATUS_SUCCESS on device return overr= un/underrun. [Laszlo & Liran] > * Removed unnecessary PvScsiAllocatePages(), PvScsiFreePages(), PvScsiMa= pBuffer() 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(). [La= szlo > * 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 communica= tion buffer. [Laszlo] > * Removed unnecessary cast to (VOID **) in call to PvScsiFreeSharedPages= () in PvScsiUninit(). [Laszlo] > * Added #include and BaseLib to PvScsiDxe.inf becaus= e 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_TABL= E. [Laszlo] > * Fix various typos. [Laszlo] > * Made =E2=80=9CSTATIC=E2=80=9D on same line of object delcerations. [La= szlo] > * 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 ca= lls. [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. [Lasz= lo] > * 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 firs= t one. [Laszlo] > * Replaced =E2=80=9CIOSpace=E2=80=9D with =E2=80=9CMMIO-Space=E2=80=9D i= n 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 f= unction. [Laszlo] > * Added debug message to PvScsiExitBoot() to assist debugging. [Laszlo] > * Fixed resource management to make each function either completely succ= eed or completely fail and free all resources. [Laszlo] > * Changed PvScsiWriteCmdDesc() to use EfiPciIoWidthFifoUint32. [Laszlo] > * Changed PvScsiWriteCmdDesc() prototype to make clear it descriptor mus= t be an array of words. [Laszlo] >=20 >=20 >=20 >=20