From nobody Sun Apr 28 20:48:06 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) client-ip=66.175.222.108; envelope-from=bounce+27952+79898+1787277+3901457@groups.io; helo=mail02.groups.io; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) smtp.mailfrom=bounce+27952+79898+1787277+3901457@groups.io; dmarc=fail(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1630071913; cv=none; d=zohomail.com; s=zohoarc; b=KD3/t93u59V6K4NZL505gob22I+iJj5uKXNQXjG6iOGztCgCiUK7GxMan8GmHNtkdaiXDmOSjrc8xoqJi7K/zaJQWFHVXOyaJhAAGrqoOE0qJRLE5Vzpd5lUHxVc87hWwVx/q+D+veDWebT8uCCgNVITO+4mKgYHyBcGPXUSrRs= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1630071913; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Id:List-Help:List-Unsubscribe:MIME-Version:Message-ID:Reply-To:References:Sender:Subject:To; bh=azOCTa6giuuwUSX6HASQ03Gi6YpvZt6bELgk757g4Hg=; b=hkJczcREJhwkHOuTY5ArB+G90vGWwebAl2rvja3Vdm2hFDBJMIOsYW36KH/5+GhS0oh+PqooM+uPFzJAzv8QF0AAALUVipAWW4NUXQhICoP/20FjLT3sI4tnIsvvogQFSKaTK/xD9lgio8VtTK+6AM+JK93BjesRp+hvL86IsGU= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) smtp.mailfrom=bounce+27952+79898+1787277+3901457@groups.io; dmarc=fail header.from= (p=none dis=none) Received: from mail02.groups.io (mail02.groups.io [66.175.222.108]) by mx.zohomail.com with SMTPS id 1630071913396368.6887594283826; Fri, 27 Aug 2021 06:45:13 -0700 (PDT) Return-Path: X-Received: by 127.0.0.2 with SMTP id RnQSYY1788612xmGn92nQ590; Fri, 27 Aug 2021 06:45:13 -0700 X-Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.133.124]) by mx.groups.io with SMTP id smtpd.web11.8150.1630071912034958666 for ; Fri, 27 Aug 2021 06:45:12 -0700 X-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-274-EF3127tuMYyxb4beSGTpuQ-1; Fri, 27 Aug 2021 09:45:10 -0400 X-MC-Unique: EF3127tuMYyxb4beSGTpuQ-1 X-Received: from smtp.corp.redhat.com (int-mx06.intmail.prod.int.phx2.redhat.com [10.5.11.16]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id 045C11853026; Fri, 27 Aug 2021 13:45:09 +0000 (UTC) X-Received: from sirius.home.kraxel.org (unknown [10.39.192.91]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 6FB295F724; Fri, 27 Aug 2021 13:45:01 +0000 (UTC) X-Received: by sirius.home.kraxel.org (Postfix, from userid 1000) id C5511180039F; Fri, 27 Aug 2021 15:44:59 +0200 (CEST) From: "Gerd Hoffmann" To: devel@edk2.groups.io Cc: Jiewen Yao , Gerd Hoffmann , Ard Biesheuvel , Jordan Justen , Philippe Mathieu-Daude Subject: [edk2-devel] [PATCH v5 1/7] OvmfPkg/Virtio10: Add virtio-mmio 1.0 defines Date: Fri, 27 Aug 2021 15:44:53 +0200 Message-Id: <20210827134459.635098-2-kraxel@redhat.com> In-Reply-To: <20210827134459.635098-1-kraxel@redhat.com> References: <20210827134459.635098-1-kraxel@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.16 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Precedence: Bulk List-Unsubscribe: List-Subscribe: List-Help: Sender: devel@edk2.groups.io List-Id: Mailing-List: list devel@edk2.groups.io; contact devel+owner@edk2.groups.io Reply-To: devel@edk2.groups.io,kraxel@redhat.com X-Gm-Message-State: uI3iVKmXUxkFxAMwV61VDExkx1787277AA= Content-Transfer-Encoding: quoted-printable DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=groups.io; q=dns/txt; s=20140610; t=1630071913; bh=akoKtt+RcCjaqZMXQTFWtkdaAxbreLtbNOeGrIkGWnU=; h=Cc:Content-Type:Date:From:Reply-To:Subject:To; b=ZXgn5NOuVqN1l2yJqTANaPY0Eb3ro7+jjhHWvR+7foWHw3eFJ1I9yHwduGgsdOBzdoR IA6JLpP5j/v5NUuz6Lnkrhmoojxdh9bLhC1r1SQZh6wll1L45JzrOECtLCaSqG94L9poD xP69O/ODQCSpdGmXcUYbK8y3MYA701LTURg= X-ZohoMail-DKIM: pass (identity @groups.io) X-ZM-MESSAGEID: 1630071914836100002 Content-Type: text/plain; charset="utf-8" Add defines for the config space offsets for virtio 1.0 mmio transport. Signed-off-by: Gerd Hoffmann Reviewed-by: Philippe Mathieu-Daude --- OvmfPkg/Include/IndustryStandard/Virtio10.h | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/OvmfPkg/Include/IndustryStandard/Virtio10.h b/OvmfPkg/Include/= IndustryStandard/Virtio10.h index 2c60be2b7c0c..a1712247e054 100644 --- a/OvmfPkg/Include/IndustryStandard/Virtio10.h +++ b/OvmfPkg/Include/IndustryStandard/Virtio10.h @@ -81,4 +81,16 @@ typedef struct { #define VIRTIO_F_VERSION_1 BIT32 #define VIRTIO_F_IOMMU_PLATFORM BIT33 =20 +// +// MMIO VirtIo Header Offsets +// +#define VIRTIO_MMIO_OFFSET_QUEUE_READY 0x44 +#define VIRTIO_MMIO_OFFSET_QUEUE_DESC_LO 0x80 +#define VIRTIO_MMIO_OFFSET_QUEUE_DESC_HI 0x84 +#define VIRTIO_MMIO_OFFSET_QUEUE_AVAIL_LO 0x90 +#define VIRTIO_MMIO_OFFSET_QUEUE_AVAIL_HI 0x94 +#define VIRTIO_MMIO_OFFSET_QUEUE_USED_LO 0xa0 +#define VIRTIO_MMIO_OFFSET_QUEUE_USED_HI 0xa4 +#define VIRTIO_MMIO_OFFSET_CONFIG_GENERATION 0xfc + #endif // _VIRTIO_1_0_H_ --=20 2.31.1 -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#79898): https://edk2.groups.io/g/devel/message/79898 Mute This Topic: https://groups.io/mt/85185893/1787277 Group Owner: devel+owner@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org] -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D- From nobody Sun Apr 28 20:48:06 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) client-ip=66.175.222.108; envelope-from=bounce+27952+79899+1787277+3901457@groups.io; helo=mail02.groups.io; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) smtp.mailfrom=bounce+27952+79899+1787277+3901457@groups.io; dmarc=fail(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1630071920; cv=none; d=zohomail.com; s=zohoarc; b=RUFUjK3+8M+hqcTivx2n1EA+DtsRwXgjpL9NFzbswo572c0l2Uoi33UXZLYgckkwQiBGVid3FdZ5dHPnfIzbDGeZPwLDCMX2MYu6XaJ2Zyb6utxQPqknWKAHI/1BD0ihDtsFzym3s/YNGljW42fQDKo4Jv6BEW1CB70hozGD67I= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1630071920; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Id:List-Help:List-Unsubscribe:MIME-Version:Message-ID:Reply-To:References:Sender:Subject:To; bh=pm8a7VX9QgGcn39dXp0iBhucfU6f5hSsjLimm3UIUv4=; b=iYIg+U1Eh8mKoxAn+XDy9RSiF3rVxYs26kajftXyIAkaeC4A/LK3EQUZadyARiFce7I3ddb8DYLCSEAk9zEN7CNxsri808qeGLJkq6SIxRDIowKdfFsENfabMayHCL/uuoVWCPqAzAltk1L6g0dVK/pAYTa7Fyjde29YaQXBPmw= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) smtp.mailfrom=bounce+27952+79899+1787277+3901457@groups.io; dmarc=fail header.from= (p=none dis=none) Received: from mail02.groups.io (mail02.groups.io [66.175.222.108]) by mx.zohomail.com with SMTPS id 1630071920699595.255475065136; Fri, 27 Aug 2021 06:45:20 -0700 (PDT) Return-Path: X-Received: by 127.0.0.2 with SMTP id UhoGYY1788612xxbwHI7NG6o; Fri, 27 Aug 2021 06:45:20 -0700 X-Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [216.205.24.124]) by mx.groups.io with SMTP id smtpd.web12.8208.1630071919301113731 for ; Fri, 27 Aug 2021 06:45:19 -0700 X-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-293-DssDQTp5NJyIILMt_wd3JQ-1; Fri, 27 Aug 2021 09:45:16 -0400 X-MC-Unique: DssDQTp5NJyIILMt_wd3JQ-1 X-Received: from smtp.corp.redhat.com (int-mx08.intmail.prod.int.phx2.redhat.com [10.5.11.23]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id D1DB9C7405; Fri, 27 Aug 2021 13:45:14 +0000 (UTC) X-Received: from sirius.home.kraxel.org (unknown [10.39.192.91]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 9E52C19C46; Fri, 27 Aug 2021 13:45:10 +0000 (UTC) X-Received: by sirius.home.kraxel.org (Postfix, from userid 1000) id C7E47180079C; Fri, 27 Aug 2021 15:44:59 +0200 (CEST) From: "Gerd Hoffmann" To: devel@edk2.groups.io Cc: Jiewen Yao , Gerd Hoffmann , Ard Biesheuvel , Jordan Justen , Philippe Mathieu-Daude Subject: [edk2-devel] [PATCH v5 2/7] OvmfPkg/VirtioMmioDeviceLib: Add virtio 1.0 detection. Date: Fri, 27 Aug 2021 15:44:54 +0200 Message-Id: <20210827134459.635098-3-kraxel@redhat.com> In-Reply-To: <20210827134459.635098-1-kraxel@redhat.com> References: <20210827134459.635098-1-kraxel@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.84 on 10.5.11.23 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Precedence: Bulk List-Unsubscribe: List-Subscribe: List-Help: Sender: devel@edk2.groups.io List-Id: Mailing-List: list devel@edk2.groups.io; contact devel+owner@edk2.groups.io Reply-To: devel@edk2.groups.io,kraxel@redhat.com X-Gm-Message-State: 9ygm2H0v6SoO8LX6Vpa6J8Dxx1787277AA= Content-Transfer-Encoding: quoted-printable DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=groups.io; q=dns/txt; s=20140610; t=1630071920; bh=/Rl0wA0UtCPAt8zsgVFYrm4IBkTd6lyr1V2BxR//xeU=; h=Cc:Content-Type:Date:From:Reply-To:Subject:To; b=mQpfV4oagfDyLDfNrPcgSHEVcor0nin7j//k1+dZEtdhJbSmKEDiKjMUyj48rf+Cy4x 7tBTCdCEGu7x+BuCC/kBhdkTEFXJ3ynJMSxSmLBkwvZbafwRAsqhd+DQCHnxnAhaG2rmH qCKmmZN2vPuMDpnbJDL+iFHctjHAazFj+tU= X-ZohoMail-DKIM: pass (identity @groups.io) X-ZM-MESSAGEID: 1630071921513100001 Content-Type: text/plain; charset="utf-8" Add #defines for the Version field. Read and store the version, log the version found as info message. Continue to return UNSUPPORTED for now, we need some more patches to complete virtio 1.0 support first. Signed-off-by: Gerd Hoffmann Reviewed-by: Philippe Mathieu-Daude --- .../VirtioMmioDeviceLib/VirtioMmioDevice.h | 4 ++++ .../VirtioMmioDeviceLib/VirtioMmioDevice.c | 17 +++++++++++++---- 2 files changed, 17 insertions(+), 4 deletions(-) diff --git a/OvmfPkg/Library/VirtioMmioDeviceLib/VirtioMmioDevice.h b/OvmfP= kg/Library/VirtioMmioDeviceLib/VirtioMmioDevice.h index ab53b90d51c9..0c2f99633c46 100644 --- a/OvmfPkg/Library/VirtioMmioDeviceLib/VirtioMmioDevice.h +++ b/OvmfPkg/Library/VirtioMmioDeviceLib/VirtioMmioDevice.h @@ -23,9 +23,13 @@ #include =20 #define VIRTIO_MMIO_DEVICE_SIGNATURE SIGNATURE_32 ('V', 'M', 'I', 'O') +#define VIRTIO_MMIO_DEVICE_VERSION_0_95 1 +#define VIRTIO_MMIO_DEVICE_VERSION_1_00 2 + =20 typedef struct { UINT32 Signature; + UINT32 Version; VIRTIO_DEVICE_PROTOCOL VirtioDevice; PHYSICAL_ADDRESS BaseAddress; } VIRTIO_MMIO_DEVICE; diff --git a/OvmfPkg/Library/VirtioMmioDeviceLib/VirtioMmioDevice.c b/OvmfP= kg/Library/VirtioMmioDeviceLib/VirtioMmioDevice.c index 6dbbba008c75..0c92f5373151 100644 --- a/OvmfPkg/Library/VirtioMmioDeviceLib/VirtioMmioDevice.c +++ b/OvmfPkg/Library/VirtioMmioDeviceLib/VirtioMmioDevice.c @@ -58,7 +58,6 @@ VirtioMmioInit ( ) { UINT32 MagicValue; - UINT32 Version; =20 // // Initialize VirtIo Mmio Device @@ -66,7 +65,6 @@ VirtioMmioInit ( CopyMem (&Device->VirtioDevice, &mMmioDeviceProtocolTemplate, sizeof (VIRTIO_DEVICE_PROTOCOL)); Device->BaseAddress =3D BaseAddress; - Device->VirtioDevice.Revision =3D VIRTIO_SPEC_REVISION (0, 9, 5); Device->VirtioDevice.SubSystemDeviceId =3D MmioRead32 (BaseAddress + VIRTIO_MMIO_OFFSET_DEVICE_ID); =20 @@ -78,8 +76,19 @@ VirtioMmioInit ( return EFI_UNSUPPORTED; } =20 - Version =3D VIRTIO_CFG_READ (Device, VIRTIO_MMIO_OFFSET_VERSION); - if (Version !=3D 1) { + Device->Version =3D VIRTIO_CFG_READ (Device, VIRTIO_MMIO_OFFSET_VERSION); + switch (Device->Version) { + case VIRTIO_MMIO_DEVICE_VERSION_0_95: + DEBUG ((DEBUG_INFO, "%a virtio 0.9.5, id %d\n", __FUNCTION__, + Device->VirtioDevice.SubSystemDeviceId)); + Device->VirtioDevice.Revision =3D VIRTIO_SPEC_REVISION (0, 9, 5); + break; + case VIRTIO_MMIO_DEVICE_VERSION_1_00: + DEBUG ((DEBUG_INFO, "%a virtio 1.0, id %d\n", __FUNCTION__, + Device->VirtioDevice.SubSystemDeviceId)); + Device->VirtioDevice.Revision =3D VIRTIO_SPEC_REVISION (1, 0, 0); + return EFI_UNSUPPORTED; + default: return EFI_UNSUPPORTED; } =20 --=20 2.31.1 -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#79899): https://edk2.groups.io/g/devel/message/79899 Mute This Topic: https://groups.io/mt/85185899/1787277 Group Owner: devel+owner@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org] -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D- From nobody Sun Apr 28 20:48:06 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) client-ip=66.175.222.108; envelope-from=bounce+27952+79902+1787277+3901457@groups.io; helo=mail02.groups.io; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) smtp.mailfrom=bounce+27952+79902+1787277+3901457@groups.io; dmarc=fail(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1630071926; cv=none; d=zohomail.com; s=zohoarc; b=awcpM32V3j61MCmLRLz9RvN3iex7chUlobk3hlqfv1RCsrasMMxIXfi7J86SrzpQh9H4tifYkcfFpH6eBr40fwFeZeXcsmgTPsUgMa1wkevIbxlUYHDTnyV7Qw76zygTx1ItxVd3FJImymv+AnXemXG/559Hqa2TbO96yA5loMY= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1630071926; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Id:List-Help:List-Unsubscribe:MIME-Version:Message-ID:Reply-To:References:Sender:Subject:To; bh=dfcJjO1aUB2CIn6ghZXNF2644m7EqGFneR267ooJ9wY=; b=nV4wZNqdLnmwsYbWxSdyOqtczf05bx+eDaRcIm+cAF9n5g/ohccJARKqXnzcfgqN0NJvH2MJzBGYUgQUnWn82pUdLeGLvZ/KWXWt09FWJ3RwVPC4TIPlh6vhouXt7eGk3QyzrCWwgWxbp023v+nkTPBFUXjJ8uALrw0De8rZI2w= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) smtp.mailfrom=bounce+27952+79902+1787277+3901457@groups.io; dmarc=fail header.from= (p=none dis=none) Received: from mail02.groups.io (mail02.groups.io [66.175.222.108]) by mx.zohomail.com with SMTPS id 1630071926309882.4480952482714; Fri, 27 Aug 2021 06:45:26 -0700 (PDT) Return-Path: X-Received: by 127.0.0.2 with SMTP id ioytYY1788612xql9UYEg0XM; Fri, 27 Aug 2021 06:45:26 -0700 X-Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.133.124]) by mx.groups.io with SMTP id smtpd.web08.8281.1630071925169839385 for ; Fri, 27 Aug 2021 06:45:25 -0700 X-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-144-fw7LAD_JMduVLvFCSY3wkQ-1; Fri, 27 Aug 2021 09:45:20 -0400 X-MC-Unique: fw7LAD_JMduVLvFCSY3wkQ-1 X-Received: from smtp.corp.redhat.com (int-mx06.intmail.prod.int.phx2.redhat.com [10.5.11.16]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id 8C67D800493; Fri, 27 Aug 2021 13:45:19 +0000 (UTC) X-Received: from sirius.home.kraxel.org (unknown [10.39.192.91]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 990825F724; Fri, 27 Aug 2021 13:45:16 +0000 (UTC) X-Received: by sirius.home.kraxel.org (Postfix, from userid 1000) id CD5EF18007AD; Fri, 27 Aug 2021 15:44:59 +0200 (CEST) From: "Gerd Hoffmann" To: devel@edk2.groups.io Cc: Jiewen Yao , Gerd Hoffmann , Ard Biesheuvel , Jordan Justen , Philippe Mathieu-Daude Subject: [edk2-devel] [PATCH v5 3/7] OvmfPkg/VirtioMmioDeviceLib: virtio 1.0: Fix SetPageSize. Date: Fri, 27 Aug 2021 15:44:55 +0200 Message-Id: <20210827134459.635098-4-kraxel@redhat.com> In-Reply-To: <20210827134459.635098-1-kraxel@redhat.com> References: <20210827134459.635098-1-kraxel@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.16 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Precedence: Bulk List-Unsubscribe: List-Subscribe: List-Help: Sender: devel@edk2.groups.io List-Id: Mailing-List: list devel@edk2.groups.io; contact devel+owner@edk2.groups.io Reply-To: devel@edk2.groups.io,kraxel@redhat.com X-Gm-Message-State: cabcTs3U7ur08FRwCyOQIEb9x1787277AA= Content-Transfer-Encoding: quoted-printable DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=groups.io; q=dns/txt; s=20140610; t=1630071926; bh=kUDAmvXo6j6HF6zh1xb/ff+5FhPoQhRvtXr5KxagcZU=; h=Cc:Content-Type:Date:From:Reply-To:Subject:To; b=JdZv7l4bdutfMdaDtViAdCewh/HlcEzZkd5J8I7qYh9PFV04bh4oDxr1c1b9r2EoUsY DHm4AYZH3S1EslXustyBK6JsdnTOsJR3dbtMqtJ72CMLlMdgKGDu2KEYImAb0Gqr11P8n W4oGHA+rse4QXkqKYhjM7nQlKu9natCOyXM= X-ZohoMail-DKIM: pass (identity @groups.io) X-ZM-MESSAGEID: 1630071928152100009 Content-Type: text/plain; charset="utf-8" Nothing to do here for virtio 1.0 devices. Signed-off-by: Gerd Hoffmann Reviewed-by: Philippe Mathieu-Daude --- .../Library/VirtioMmioDeviceLib/VirtioMmioDeviceFunctions.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/OvmfPkg/Library/VirtioMmioDeviceLib/VirtioMmioDeviceFunctions.= c b/OvmfPkg/Library/VirtioMmioDeviceLib/VirtioMmioDeviceFunctions.c index b0d75fb1dd24..50a4fd2100ee 100644 --- a/OvmfPkg/Library/VirtioMmioDeviceLib/VirtioMmioDeviceFunctions.c +++ b/OvmfPkg/Library/VirtioMmioDeviceLib/VirtioMmioDeviceFunctions.c @@ -151,7 +151,9 @@ VirtioMmioSetPageSize ( =20 Device =3D VIRTIO_MMIO_DEVICE_FROM_VIRTIO_DEVICE (This); =20 - VIRTIO_CFG_WRITE (Device, VIRTIO_MMIO_OFFSET_GUEST_PAGE_SIZE, PageSize); + if (Device->Version =3D=3D VIRTIO_MMIO_DEVICE_VERSION_0_95) { + VIRTIO_CFG_WRITE (Device, VIRTIO_MMIO_OFFSET_GUEST_PAGE_SIZE, PageSize= ); + } =20 return EFI_SUCCESS; } --=20 2.31.1 -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#79902): https://edk2.groups.io/g/devel/message/79902 Mute This Topic: https://groups.io/mt/85185904/1787277 Group Owner: devel+owner@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org] -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D- From nobody Sun Apr 28 20:48:06 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) client-ip=66.175.222.108; envelope-from=bounce+27952+79901+1787277+3901457@groups.io; helo=mail02.groups.io; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) smtp.mailfrom=bounce+27952+79901+1787277+3901457@groups.io; dmarc=fail(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1630071924; cv=none; d=zohomail.com; s=zohoarc; b=Kr4IyP850LjxbyRWm7bAZoo9CffAx6GKIRCvCiwvA3O8DLqLg1ry1Qx/UssyGmqgV/gtsYBf3H+aCdgoSamoIBgYu1GLErQywNVXE4NCmS+CZnSDko9yP74aE6PMRb0asE8dpTM3x5XEYoPgwlFK9rcPoVe19OqxM+ZcUwoHUMI= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1630071924; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Id:List-Help:List-Unsubscribe:MIME-Version:Message-ID:Reply-To:References:Sender:Subject:To; bh=NBMFx6oY0HiUNS5FjBHA9W2/NoQmCTwLKrWNMLjPynA=; b=R+vRSVQYoXO1n4QuTLU5QXa1YcXzPKULov9q0gt925soyLDETCy3qkTa9WBDBaHmcUuOcrBGv1U38GaDLKv/wi45qCnsCz1Q/YD/3vuZICyIi8D41MohqAIeb/Qp+g8jeaFWMhy58yl+5ZFZ2G3U+LAyWMPBrtwCYIzzWqx0wsM= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) smtp.mailfrom=bounce+27952+79901+1787277+3901457@groups.io; dmarc=fail header.from= (p=none dis=none) Received: from mail02.groups.io (mail02.groups.io [66.175.222.108]) by mx.zohomail.com with SMTPS id 1630071924627741.2701789144687; Fri, 27 Aug 2021 06:45:24 -0700 (PDT) Return-Path: X-Received: by 127.0.0.2 with SMTP id jtT2YY1788612xH9LnmdQpVx; Fri, 27 Aug 2021 06:45:24 -0700 X-Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [216.205.24.124]) by mx.groups.io with SMTP id smtpd.web09.8200.1630071923143696136 for ; Fri, 27 Aug 2021 06:45:23 -0700 X-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-29-HSXizYpVNTyUA53S6oJYeQ-1; Fri, 27 Aug 2021 09:45:21 -0400 X-MC-Unique: HSXizYpVNTyUA53S6oJYeQ-1 X-Received: from smtp.corp.redhat.com (int-mx06.intmail.prod.int.phx2.redhat.com [10.5.11.16]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id 8AD9BC7400; Fri, 27 Aug 2021 13:45:19 +0000 (UTC) X-Received: from sirius.home.kraxel.org (unknown [10.39.192.91]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 736665FC22; Fri, 27 Aug 2021 13:45:17 +0000 (UTC) X-Received: by sirius.home.kraxel.org (Postfix, from userid 1000) id D1AD51800843; Fri, 27 Aug 2021 15:44:59 +0200 (CEST) From: "Gerd Hoffmann" To: devel@edk2.groups.io Cc: Jiewen Yao , Gerd Hoffmann , Ard Biesheuvel , Jordan Justen , Philippe Mathieu-Daude Subject: [edk2-devel] [PATCH v5 4/7] OvmfPkg/VirtioMmioDeviceLib: virtio 1.0: Fix SetQueueAddress Date: Fri, 27 Aug 2021 15:44:56 +0200 Message-Id: <20210827134459.635098-5-kraxel@redhat.com> In-Reply-To: <20210827134459.635098-1-kraxel@redhat.com> References: <20210827134459.635098-1-kraxel@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.16 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Precedence: Bulk List-Unsubscribe: List-Subscribe: List-Help: Sender: devel@edk2.groups.io List-Id: Mailing-List: list devel@edk2.groups.io; contact devel+owner@edk2.groups.io Reply-To: devel@edk2.groups.io,kraxel@redhat.com X-Gm-Message-State: rpLOOPUDblh6AFFnHtIVX0qex1787277AA= Content-Transfer-Encoding: quoted-printable DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=groups.io; q=dns/txt; s=20140610; t=1630071924; bh=cpoTW3DIoWDhdg3HuBh6YaJbNJawMZsqTCpT+Z+RaM0=; h=Cc:Content-Type:Date:From:Reply-To:Subject:To; b=SX6Y18K0TcYVKkyiV91HD8/EYsjm/EwZ1CB0pnZYlfC3AcU8NEyiLRRIZHTBdCtPEq3 53FY5lyZDhFpikNZeVnYNuA2LdCgqVzcjtYqH/TiTk+ZwsnZ6hbbLtdIPusUyqlV5C8Si ayOONzJovquh0enL9QN02y2Ie9NDJ5E3+sI= X-ZohoMail-DKIM: pass (identity @groups.io) X-ZM-MESSAGEID: 1630071926098100006 Content-Type: text/plain; charset="utf-8" Virtio 1.0 allows a more flexible virtio ring layout, so we have to set addresses for descriptors avail flags and use flags separately. We continue to use a ring layout compatible with virtio 0.9.5 though, so no other changes are needed to setup the virtio queues. Signed-off-by: Gerd Hoffmann Reviewed-by: Philippe Mathieu-Daude --- .../VirtioMmioDeviceFunctions.c | 27 +++++++++++++++++-- 1 file changed, 25 insertions(+), 2 deletions(-) diff --git a/OvmfPkg/Library/VirtioMmioDeviceLib/VirtioMmioDeviceFunctions.= c b/OvmfPkg/Library/VirtioMmioDeviceLib/VirtioMmioDeviceFunctions.c index 50a4fd2100ee..cb1f9358eabd 100644 --- a/OvmfPkg/Library/VirtioMmioDeviceLib/VirtioMmioDeviceFunctions.c +++ b/OvmfPkg/Library/VirtioMmioDeviceLib/VirtioMmioDeviceFunctions.c @@ -183,13 +183,36 @@ VirtioMmioSetQueueAddress ( ) { VIRTIO_MMIO_DEVICE *Device; + UINT64 Address; =20 ASSERT (RingBaseShift =3D=3D 0); =20 Device =3D VIRTIO_MMIO_DEVICE_FROM_VIRTIO_DEVICE (This); =20 - VIRTIO_CFG_WRITE (Device, VIRTIO_MMIO_OFFSET_QUEUE_PFN, - (UINT32)((UINTN)Ring->Base >> EFI_PAGE_SHIFT)); + if (Device->Version =3D=3D VIRTIO_MMIO_DEVICE_VERSION_0_95) { + VIRTIO_CFG_WRITE (Device, VIRTIO_MMIO_OFFSET_QUEUE_PFN, + (UINT32)((UINTN)Ring->Base >> EFI_PAGE_SHIFT)); + } else { + Address =3D (UINTN)Ring->Base; + VIRTIO_CFG_WRITE (Device, VIRTIO_MMIO_OFFSET_QUEUE_DESC_LO, + (UINT32)Address); + VIRTIO_CFG_WRITE (Device, VIRTIO_MMIO_OFFSET_QUEUE_DESC_HI, + (UINT32)RShiftU64(Address, 32)); + + Address =3D (UINTN)Ring->Avail.Flags; + VIRTIO_CFG_WRITE (Device, VIRTIO_MMIO_OFFSET_QUEUE_AVAIL_LO, + (UINT32)Address); + VIRTIO_CFG_WRITE (Device, VIRTIO_MMIO_OFFSET_QUEUE_AVAIL_HI, + (UINT32)RShiftU64(Address, 32)); + + Address =3D (UINTN)Ring->Used.Flags; + VIRTIO_CFG_WRITE (Device, VIRTIO_MMIO_OFFSET_QUEUE_USED_LO, + (UINT32)Address); + VIRTIO_CFG_WRITE (Device, VIRTIO_MMIO_OFFSET_QUEUE_USED_HI, + (UINT32)RShiftU64(Address, 32)); + + VIRTIO_CFG_WRITE (Device, VIRTIO_MMIO_OFFSET_QUEUE_READY, 1); + } =20 return EFI_SUCCESS; } --=20 2.31.1 -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#79901): https://edk2.groups.io/g/devel/message/79901 Mute This Topic: https://groups.io/mt/85185903/1787277 Group Owner: devel+owner@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org] -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D- From nobody Sun Apr 28 20:48:06 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) client-ip=66.175.222.108; envelope-from=bounce+27952+79904+1787277+3901457@groups.io; helo=mail02.groups.io; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) smtp.mailfrom=bounce+27952+79904+1787277+3901457@groups.io; dmarc=fail(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1630071929; cv=none; d=zohomail.com; s=zohoarc; b=nWQKaQMjQgDrGDqph9vky05BWmMTImQht1v+LC8SWzGmkeIczo86Otb1/29fX75r8x9HLEGXeZfYs2q7MdPNtFp6gB241biZNG7GEvPsPC6sQ0MSrPHyRxZUG9weHXKvTLEX/LHnDRpfcxG/tYTRLB25kYX24cO123e26IhTv1A= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1630071929; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Id:List-Help:List-Unsubscribe:MIME-Version:Message-ID:Reply-To:References:Sender:Subject:To; bh=sdu3XQVGYmVLqOhA+j/Wl3eJjnid029Nx2vfMYQMmIs=; b=flStqnHDii5KdPAEAO2opL7NDEd+Ol/Mlj5xwmiPCqV6JlozOSYFyllRKbMvjK+Ol+kNysCAw7OCwfqhos1qtPqulWVcUBkxNNMoZlDubo+mlgiYzwVPctTDLu87t/tvlcgDxnwnyfjiEq++OEcWdwoQVCaSNaSAVu+uvGYhikg= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) smtp.mailfrom=bounce+27952+79904+1787277+3901457@groups.io; dmarc=fail header.from= (p=none dis=none) Received: from mail02.groups.io (mail02.groups.io [66.175.222.108]) by mx.zohomail.com with SMTPS id 1630071929835843.8898958190324; Fri, 27 Aug 2021 06:45:29 -0700 (PDT) Return-Path: X-Received: by 127.0.0.2 with SMTP id eMwUYY1788612xIs6PXSvEty; Fri, 27 Aug 2021 06:45:29 -0700 X-Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [216.205.24.124]) by mx.groups.io with SMTP id smtpd.web09.8202.1630071928471280384 for ; Fri, 27 Aug 2021 06:45:29 -0700 X-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-67-XX4O-WMaN5G_MeWrkHY-zw-1; Fri, 27 Aug 2021 09:45:26 -0400 X-MC-Unique: XX4O-WMaN5G_MeWrkHY-zw-1 X-Received: from smtp.corp.redhat.com (int-mx02.intmail.prod.int.phx2.redhat.com [10.5.11.12]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id 4EE5F100E421; Fri, 27 Aug 2021 13:45:25 +0000 (UTC) X-Received: from sirius.home.kraxel.org (unknown [10.39.192.91]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 1C34A60C5F; Fri, 27 Aug 2021 13:45:21 +0000 (UTC) X-Received: by sirius.home.kraxel.org (Postfix, from userid 1000) id D9D491800918; Fri, 27 Aug 2021 15:44:59 +0200 (CEST) From: "Gerd Hoffmann" To: devel@edk2.groups.io Cc: Jiewen Yao , Gerd Hoffmann , Ard Biesheuvel , Jordan Justen , Philippe Mathieu-Daude Subject: [edk2-devel] [PATCH v5 5/7] OvmfPkg/VirtioMmioDeviceLib: virtio 1.0: Add default QueueNum Date: Fri, 27 Aug 2021 15:44:57 +0200 Message-Id: <20210827134459.635098-6-kraxel@redhat.com> In-Reply-To: <20210827134459.635098-1-kraxel@redhat.com> References: <20210827134459.635098-1-kraxel@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.12 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Precedence: Bulk List-Unsubscribe: List-Subscribe: List-Help: Sender: devel@edk2.groups.io List-Id: Mailing-List: list devel@edk2.groups.io; contact devel+owner@edk2.groups.io Reply-To: devel@edk2.groups.io,kraxel@redhat.com X-Gm-Message-State: RLRviM5OkyvUwfyYIuiMiM0Gx1787277AA= Content-Transfer-Encoding: quoted-printable DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=groups.io; q=dns/txt; s=20140610; t=1630071929; bh=KHO41M/DWY11as3N93bpING0GSkmXMQAvXSONdjL4go=; h=Cc:Content-Type:Date:From:Reply-To:Subject:To; b=THuYuM/9wgFDP9OfSlUQNokA/wlKdHrT3ztP+v8Ek5l1/Aixj0E+eOKaoGtabUoQLQ+ gCnRFA3F1xeXcP1QmbumzftwLLV90tnYFif1hCIMAunRE39OCZuAqvXoomkRBm8MSxPb9 v+M3tQrYs0jqRRKlAP1A2YcwwZWfYIWGI1c= X-ZohoMail-DKIM: pass (identity @groups.io) X-ZM-MESSAGEID: 1630071930471100015 Content-Type: text/plain; charset="utf-8" Use QueueNumMax as QueueNum default for drivers which do not explicitly call VIRTIO_DEVICE_PROTOCOL->SetQueueSize(). Signed-off-by: Gerd Hoffmann Reviewed-by: Philippe Mathieu-Daude --- .../Library/VirtioMmioDeviceLib/VirtioMmioDevice.h | 1 + .../VirtioMmioDeviceLib/VirtioMmioDeviceFunctions.c | 12 +++++++++++- 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/OvmfPkg/Library/VirtioMmioDeviceLib/VirtioMmioDevice.h b/OvmfP= kg/Library/VirtioMmioDeviceLib/VirtioMmioDevice.h index 0c2f99633c46..5ad951f4154a 100644 --- a/OvmfPkg/Library/VirtioMmioDeviceLib/VirtioMmioDevice.h +++ b/OvmfPkg/Library/VirtioMmioDeviceLib/VirtioMmioDevice.h @@ -30,6 +30,7 @@ typedef struct { UINT32 Signature; UINT32 Version; + UINT16 QueueNum; VIRTIO_DEVICE_PROTOCOL VirtioDevice; PHYSICAL_ADDRESS BaseAddress; } VIRTIO_MMIO_DEVICE; diff --git a/OvmfPkg/Library/VirtioMmioDeviceLib/VirtioMmioDeviceFunctions.= c b/OvmfPkg/Library/VirtioMmioDeviceLib/VirtioMmioDeviceFunctions.c index cb1f9358eabd..436da2a2b497 100644 --- a/OvmfPkg/Library/VirtioMmioDeviceLib/VirtioMmioDeviceFunctions.c +++ b/OvmfPkg/Library/VirtioMmioDeviceLib/VirtioMmioDeviceFunctions.c @@ -83,7 +83,11 @@ VirtioMmioSetQueueSize ( =20 Device =3D VIRTIO_MMIO_DEVICE_FROM_VIRTIO_DEVICE (This); =20 - VIRTIO_CFG_WRITE (Device, VIRTIO_MMIO_OFFSET_QUEUE_NUM, QueueSize); + if (Device->Version =3D=3D VIRTIO_MMIO_DEVICE_VERSION_0_95) { + VIRTIO_CFG_WRITE (Device, VIRTIO_MMIO_OFFSET_QUEUE_NUM, QueueSize); + } else { + Device->QueueNum =3D QueueSize; + } =20 return EFI_SUCCESS; } @@ -171,6 +175,10 @@ VirtioMmioSetQueueSel ( =20 VIRTIO_CFG_WRITE (Device, VIRTIO_MMIO_OFFSET_QUEUE_SEL, Sel); =20 + if (Device->Version =3D=3D VIRTIO_MMIO_DEVICE_VERSION_0_95) { + Device->QueueNum =3D VIRTIO_CFG_READ (Device, VIRTIO_MMIO_OFFSET_QUEUE= _NUM_MAX) & 0xFFFF; + } + return EFI_SUCCESS; } =20 @@ -193,6 +201,8 @@ VirtioMmioSetQueueAddress ( VIRTIO_CFG_WRITE (Device, VIRTIO_MMIO_OFFSET_QUEUE_PFN, (UINT32)((UINTN)Ring->Base >> EFI_PAGE_SHIFT)); } else { + VIRTIO_CFG_WRITE (Device, VIRTIO_MMIO_OFFSET_QUEUE_NUM, Device->QueueN= um); + Address =3D (UINTN)Ring->Base; VIRTIO_CFG_WRITE (Device, VIRTIO_MMIO_OFFSET_QUEUE_DESC_LO, (UINT32)Address); --=20 2.31.1 -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#79904): https://edk2.groups.io/g/devel/message/79904 Mute This Topic: https://groups.io/mt/85185910/1787277 Group Owner: devel+owner@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org] -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D- From nobody Sun Apr 28 20:48:06 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) client-ip=66.175.222.108; envelope-from=bounce+27952+79903+1787277+3901457@groups.io; helo=mail02.groups.io; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) smtp.mailfrom=bounce+27952+79903+1787277+3901457@groups.io; dmarc=fail(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1630071928; cv=none; d=zohomail.com; s=zohoarc; b=AunczYzb9xA3gtw2NEReaqhFkfbdZUyF1p2uhOmSqwwxNCKd4cguDa/cnwnbCMg8P6qxwYhHUwX+cZfMtcFyK8RBMUlr7bjGbzwN+vJ2ov4Fl8L2uBlkw7eJ+LOqx2HammOxt8hu73z7i+Fcrcop59qqjujO8bJ+6XBy/JME4bU= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1630071928; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Id:List-Help:List-Unsubscribe:MIME-Version:Message-ID:Reply-To:References:Sender:Subject:To; bh=UpXSx1EXuC7dRZ0g1oKryOKJpR6jEnbaTddIMs0vmRg=; b=EifxIlutZPmz0MvX9J5p9Pnjn7tzgwgmkUicytXn6eGw4KpDV1hMblNCUh6qYS6Zg1u4U8ZgcvTQPjNP9UAJpFn7GPEKVG77dObxlmjSIRBcBKOi6prZU5dqmvurl77F2C+SmZDzcfqwi5gQdGckT7k5PIBGa4EP9syHD9rL1TI= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) smtp.mailfrom=bounce+27952+79903+1787277+3901457@groups.io; dmarc=fail header.from= (p=none dis=none) Received: from mail02.groups.io (mail02.groups.io [66.175.222.108]) by mx.zohomail.com with SMTPS id 1630071928566517.3037497214024; Fri, 27 Aug 2021 06:45:28 -0700 (PDT) Return-Path: X-Received: by 127.0.0.2 with SMTP id WzI6YY1788612xShyjUcCqCl; Fri, 27 Aug 2021 06:45:28 -0700 X-Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.133.124]) by mx.groups.io with SMTP id smtpd.web08.8282.1630071926947995091 for ; Fri, 27 Aug 2021 06:45:27 -0700 X-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-496-tbmmQFbdNoOYZQXKwMoJZA-1; Fri, 27 Aug 2021 09:45:24 -0400 X-MC-Unique: tbmmQFbdNoOYZQXKwMoJZA-1 X-Received: from smtp.corp.redhat.com (int-mx03.intmail.prod.int.phx2.redhat.com [10.5.11.13]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id BC81C87D544; Fri, 27 Aug 2021 13:45:23 +0000 (UTC) X-Received: from sirius.home.kraxel.org (unknown [10.39.192.91]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 2660D60622; Fri, 27 Aug 2021 13:45:21 +0000 (UTC) X-Received: by sirius.home.kraxel.org (Postfix, from userid 1000) id DC641180091C; Fri, 27 Aug 2021 15:44:59 +0200 (CEST) From: "Gerd Hoffmann" To: devel@edk2.groups.io Cc: Jiewen Yao , Gerd Hoffmann , Ard Biesheuvel , Jordan Justen , Philippe Mathieu-Daude Subject: [edk2-devel] [PATCH v5 6/7] OvmfPkg/VirtioMmioDeviceLib: virtio 1.0: Adapt feature bit handling Date: Fri, 27 Aug 2021 15:44:58 +0200 Message-Id: <20210827134459.635098-7-kraxel@redhat.com> In-Reply-To: <20210827134459.635098-1-kraxel@redhat.com> References: <20210827134459.635098-1-kraxel@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.13 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Precedence: Bulk List-Unsubscribe: List-Subscribe: List-Help: Sender: devel@edk2.groups.io List-Id: Mailing-List: list devel@edk2.groups.io; contact devel+owner@edk2.groups.io Reply-To: devel@edk2.groups.io,kraxel@redhat.com X-Gm-Message-State: 5sFIqJXCXXJuVqT0sWyyfrTlx1787277AA= Content-Transfer-Encoding: quoted-printable DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=groups.io; q=dns/txt; s=20140610; t=1630071928; bh=K23WcEzczKGGTRvh1JPPnGLD0C3l/b4U4JkRZr8c51U=; h=Cc:Content-Type:Date:From:Reply-To:Subject:To; b=p8FbZXJxTeYtOVzWF25ddm5Y1XTYGvr5DXs/02tHp4U+NzGVclSsK5JFi3GOkgP6UlE bdQpMfFPPPQOYIN0ZLPwMOJTyRFK1siRubmM82fkvLXBgjd1LNpQcThbkAHF/fEMSw2li WjlxLeZaLqwqAWOMsZ5OQ3Aa76nTLYI5+zg= X-ZohoMail-DKIM: pass (identity @groups.io) X-ZM-MESSAGEID: 1630071930371100013 Content-Type: text/plain; charset="utf-8" virtio 1.0 has 64 feature bits instead of 32. Signed-off-by: Gerd Hoffmann Reviewed-by: Philippe Mathieu-Daude --- .../VirtioMmioDeviceFunctions.c | 28 +++++++++++++++---- 1 file changed, 23 insertions(+), 5 deletions(-) diff --git a/OvmfPkg/Library/VirtioMmioDeviceLib/VirtioMmioDeviceFunctions.= c b/OvmfPkg/Library/VirtioMmioDeviceLib/VirtioMmioDeviceFunctions.c index 436da2a2b497..b43850e69da9 100644 --- a/OvmfPkg/Library/VirtioMmioDeviceLib/VirtioMmioDeviceFunctions.c +++ b/OvmfPkg/Library/VirtioMmioDeviceLib/VirtioMmioDeviceFunctions.c @@ -20,6 +20,7 @@ VirtioMmioGetDeviceFeatures ( ) { VIRTIO_MMIO_DEVICE *Device; + UINT32 LowBits, HighBits; =20 if (DeviceFeatures =3D=3D NULL) { return EFI_INVALID_PARAMETER; @@ -27,7 +28,15 @@ VirtioMmioGetDeviceFeatures ( =20 Device =3D VIRTIO_MMIO_DEVICE_FROM_VIRTIO_DEVICE (This); =20 - *DeviceFeatures =3D VIRTIO_CFG_READ (Device, VIRTIO_MMIO_OFFSET_HOST_FEA= TURES); + if (Device->Version =3D=3D VIRTIO_MMIO_DEVICE_VERSION_0_95) { + *DeviceFeatures =3D VIRTIO_CFG_READ (Device, VIRTIO_MMIO_OFFSET_HOST_F= EATURES); + } else { + VIRTIO_CFG_WRITE (Device, VIRTIO_MMIO_OFFSET_HOST_FEATURES_SEL, 0); + LowBits =3D VIRTIO_CFG_READ (Device, VIRTIO_MMIO_OFFSET_HOST_FEATURES); + VIRTIO_CFG_WRITE (Device, VIRTIO_MMIO_OFFSET_HOST_FEATURES_SEL, 1); + HighBits =3D VIRTIO_CFG_READ (Device, VIRTIO_MMIO_OFFSET_HOST_FEATURES= ); + *DeviceFeatures =3D LShiftU64(HighBits, 32) | LowBits; + } =20 return EFI_SUCCESS; } @@ -238,11 +247,20 @@ VirtioMmioSetGuestFeatures ( =20 Device =3D VIRTIO_MMIO_DEVICE_FROM_VIRTIO_DEVICE (This); =20 - if (Features > MAX_UINT32) { - return EFI_UNSUPPORTED; + if (Device->Version =3D=3D VIRTIO_MMIO_DEVICE_VERSION_0_95) { + if (Features > MAX_UINT32) { + return EFI_UNSUPPORTED; + } + VIRTIO_CFG_WRITE (Device, VIRTIO_MMIO_OFFSET_GUEST_FEATURES, + (UINT32)Features); + } else { + VIRTIO_CFG_WRITE (Device, VIRTIO_MMIO_OFFSET_GUEST_FEATURES_SEL, 0); + VIRTIO_CFG_WRITE (Device, VIRTIO_MMIO_OFFSET_GUEST_FEATURES, + (UINT32)Features); + VIRTIO_CFG_WRITE (Device, VIRTIO_MMIO_OFFSET_GUEST_FEATURES_SEL, 1); + VIRTIO_CFG_WRITE (Device, VIRTIO_MMIO_OFFSET_GUEST_FEATURES, + (UINT32)RShiftU64(Features, 32)); } - VIRTIO_CFG_WRITE (Device, VIRTIO_MMIO_OFFSET_GUEST_FEATURES, - (UINT32)Features); =20 return EFI_SUCCESS; } --=20 2.31.1 -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#79903): https://edk2.groups.io/g/devel/message/79903 Mute This Topic: https://groups.io/mt/85185909/1787277 Group Owner: devel+owner@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org] -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D- From nobody Sun Apr 28 20:48:06 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) client-ip=66.175.222.108; envelope-from=bounce+27952+79905+1787277+3901457@groups.io; helo=mail02.groups.io; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) smtp.mailfrom=bounce+27952+79905+1787277+3901457@groups.io; dmarc=fail(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1630071936; cv=none; d=zohomail.com; s=zohoarc; b=lJJBs+RKeF7cJa7tpouejsHTJfgSu560hvCssgxvRo56TaY1nKfnnhFTSO5tLwpmcIRpyY8zbiGdt5Y++7mieGJ2voCexVLBauiiB0h3xA1GjLBkKyrXJzjax0xvi0TeQsSyLGFwQvbEuuijYkVMXuUfWiV+IalV3tyeWmqwQ28= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1630071936; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Id:List-Help:List-Unsubscribe:MIME-Version:Message-ID:Reply-To:References:Sender:Subject:To; bh=Dv7pEkj8bkLLQCFA83VNvwX2Fl8eWdQImpCecAVFKg4=; b=dhO5lbiCzJEvUSqL21TXhmr9xnpikTMcCBqtWoXPBTEmLmle13bdyL2rI4FfYT0JFljCKmnzbEA9YmqGUqL1DLCAPZHvk47T3yClwe4by4D/oX4RjyFirQRYlwiY6d+vnrG112KV7gkMXqpwSoXWvo6GbYjmZDTAE+ArPDT98Pc= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) smtp.mailfrom=bounce+27952+79905+1787277+3901457@groups.io; dmarc=fail header.from= (p=none dis=none) Received: from mail02.groups.io (mail02.groups.io [66.175.222.108]) by mx.zohomail.com with SMTPS id 1630071936002828.3687660103212; Fri, 27 Aug 2021 06:45:36 -0700 (PDT) Return-Path: X-Received: by 127.0.0.2 with SMTP id GqgRYY1788612xwlKuF4yiM7; Fri, 27 Aug 2021 06:45:35 -0700 X-Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [216.205.24.124]) by mx.groups.io with SMTP id smtpd.web08.8285.1630071934828905028 for ; Fri, 27 Aug 2021 06:45:35 -0700 X-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-471-Xl1wK_FFOXaOP85RVLV_bA-1; Fri, 27 Aug 2021 09:45:30 -0400 X-MC-Unique: Xl1wK_FFOXaOP85RVLV_bA-1 X-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 748B6107ACF5; Fri, 27 Aug 2021 13:45:29 +0000 (UTC) X-Received: from sirius.home.kraxel.org (unknown [10.39.192.91]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 5FFE05D6B1; Fri, 27 Aug 2021 13:45:25 +0000 (UTC) X-Received: by sirius.home.kraxel.org (Postfix, from userid 1000) id E09871800922; Fri, 27 Aug 2021 15:44:59 +0200 (CEST) From: "Gerd Hoffmann" To: devel@edk2.groups.io Cc: Jiewen Yao , Gerd Hoffmann , Ard Biesheuvel , Jordan Justen , Philippe Mathieu-Daude Subject: [edk2-devel] [PATCH v5 7/7] OvmfPkg/VirtioMmioDeviceLib: enable virtio 1.0 Date: Fri, 27 Aug 2021 15:44:59 +0200 Message-Id: <20210827134459.635098-8-kraxel@redhat.com> In-Reply-To: <20210827134459.635098-1-kraxel@redhat.com> References: <20210827134459.635098-1-kraxel@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.15 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Precedence: Bulk List-Unsubscribe: List-Subscribe: List-Help: Sender: devel@edk2.groups.io List-Id: Mailing-List: list devel@edk2.groups.io; contact devel+owner@edk2.groups.io Reply-To: devel@edk2.groups.io,kraxel@redhat.com X-Gm-Message-State: lDS5ygEPPnNCBt3WzoiyWRPNx1787277AA= Content-Transfer-Encoding: quoted-printable DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=groups.io; q=dns/txt; s=20140610; t=1630071935; bh=qt9sPIKlO/64jM11AzCxpcLhbH1grfSdDwin3lQgSLw=; h=Cc:Content-Type:Date:From:Reply-To:Subject:To; b=A5aN03MvZqW/WDKIB9ivHfsWMp80xsnBrHAaguS4UnKKEIG+tUESNoOzSbXH8184F4t yEREg/6j4BTZOFlZIWJuzJVheWVQ1Vu1JJ7RB8cnhLiJWTZhyOwSKoYAgTp1sIkYz9AjO 7oT6O2YPwwQ39iu7o9LpeqfywI1xunJZruc= X-ZohoMail-DKIM: pass (identity @groups.io) X-ZM-MESSAGEID: 1630071936954100001 Content-Type: text/plain; charset="utf-8" Now with everything in place for virtio 1.0 devices we can let VirtioMmioInit() return SUCCESS. Signed-off-by: Gerd Hoffmann Reviewed-by: Philippe Mathieu-Daude --- OvmfPkg/Library/VirtioMmioDeviceLib/VirtioMmioDevice.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/OvmfPkg/Library/VirtioMmioDeviceLib/VirtioMmioDevice.c b/OvmfP= kg/Library/VirtioMmioDeviceLib/VirtioMmioDevice.c index 0c92f5373151..a97ef9352d0f 100644 --- a/OvmfPkg/Library/VirtioMmioDeviceLib/VirtioMmioDevice.c +++ b/OvmfPkg/Library/VirtioMmioDeviceLib/VirtioMmioDevice.c @@ -87,7 +87,7 @@ VirtioMmioInit ( DEBUG ((DEBUG_INFO, "%a virtio 1.0, id %d\n", __FUNCTION__, Device->VirtioDevice.SubSystemDeviceId)); Device->VirtioDevice.Revision =3D VIRTIO_SPEC_REVISION (1, 0, 0); - return EFI_UNSUPPORTED; + break; default: return EFI_UNSUPPORTED; } --=20 2.31.1 -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#79905): https://edk2.groups.io/g/devel/message/79905 Mute This Topic: https://groups.io/mt/85185912/1787277 Group Owner: devel+owner@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org] -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-