From nobody Fri May 3 10:09:29 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+79552+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+79552+1787277+3901457@groups.io; dmarc=fail(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1629357927; cv=none; d=zohomail.com; s=zohoarc; b=PQmtajcYezE9Rs4540r66XNRSVsKPo0rkxDTN+s5nnV7zP5Y6jZak0tccnm7rn5mA8PCnMQY9N8g0UOez1oH6WCf6XDW+bDA2WBRolqynbP/tGBQ6DEcxigODSZXbN1HG6F25ByGa8aNtQdrb/XaYaG35vA8p3PUksH1J1Xp1sU= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1629357927; 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=rTgkxqCj77cbOvm32tOccYrPzCCddVFPn1MPNiBF68s=; b=huO9by5UCxb/aTzx+piOb5Cu56OAGlQbASk3nRvy0tSZmWHuy/4S6r6ZGxGlBY+Wl+AszCktC8vbmdKIQPbJUPHTErtkkcS9bgnNk1yNGjiNAkaICUP75/R68Frq/R1gLU7m5RXpBM8UWKJzBr9uwSH+1FsWPNbzrAWrFf91ezg= 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+79552+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 1629357927834707.9853287081983; Thu, 19 Aug 2021 00:25:27 -0700 (PDT) Return-Path: X-Received: by 127.0.0.2 with SMTP id haZjYY1788612x0DxY5zO4Hc; Thu, 19 Aug 2021 00:25:27 -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.web12.66762.1629357926844598934 for ; Thu, 19 Aug 2021 00:25: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-586-f4rL3lBJMEeSGqQc02Mczg-1; Thu, 19 Aug 2021 03:25:24 -0400 X-MC-Unique: f4rL3lBJMEeSGqQc02Mczg-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 C257B108292C for ; Thu, 19 Aug 2021 07:25:23 +0000 (UTC) X-Received: from sirius.home.kraxel.org (unknown [10.39.193.216]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 79BD49473; Thu, 19 Aug 2021 07:25:19 +0000 (UTC) X-Received: by sirius.home.kraxel.org (Postfix, from userid 1000) id AC049180062B; Thu, 19 Aug 2021 09:25:17 +0200 (CEST) From: "Gerd Hoffmann" To: devel@edk2.groups.io Cc: Gerd Hoffmann , Philippe Mathieu-Daude Subject: [edk2-devel] [PATCH v4 1/7] OvmfPkg/Virtio10: Add virtio-mmio 1.0 defines Date: Thu, 19 Aug 2021 09:25:11 +0200 Message-Id: <20210819072517.1565797-2-kraxel@redhat.com> In-Reply-To: <20210819072517.1565797-1-kraxel@redhat.com> References: <20210819072517.1565797-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: 5b9yIos8qB64PMwGSnmjc7KDx1787277AA= Content-Transfer-Encoding: quoted-printable DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=groups.io; q=dns/txt; s=20140610; t=1629357927; bh=19enyen4rY4qaxEI8RqXIM8RCiABg/ffn/XnFxxOmkE=; h=Cc:Content-Type:Date:From:Reply-To:Subject:To; b=Q7GOWNoukIMN8ma0WmTrV2dUoMQA/cgHVroMS45rMZkxsjPhw2Toii7jSiYDYkAAKn9 u8JvKnruN3QN8zMUVIxeMUNBMFZyhY8vBkapdl301ljrfUIvr4RsAaA5/cC6Fu8jGw00O adMVq36i+o0yheIZF/dCQON/Jq+Su0YQSLk= X-ZohoMail-DKIM: pass (identity @groups.io) X-ZM-MESSAGEID: 1629357929395100004 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 (#79552): https://edk2.groups.io/g/devel/message/79552 Mute This Topic: https://groups.io/mt/84991745/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 Fri May 3 10:09:29 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+79555+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+79555+1787277+3901457@groups.io; dmarc=fail(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1629357933; cv=none; d=zohomail.com; s=zohoarc; b=VvzIwoQPcRKe0O/XABsyOcZvfvX/83/+r9OIcUqCJhVf/Tuna1h2D5+ljcoFS++98Umf6uymtwhcK8hEuTGqjYC3DsNLY70TEJbiz9myDJf2HJOHUpGndKt4KSDHZaUuBFNlH1FsXSvLrMCmYhzAs344doGG7VSAA6I3+YfFIs0= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1629357933; 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=NCPjXGDxJE12yycS7eE8JJA7F8GLT+TSGcJTAOv85v8=; b=iBUGEA2VGY/ME0edVbpJklXzV7ZmYaXf1bf4S+fDC7558sAMf4/NZAQr0Gp8p+hWZlQDubj4LWov9fnnkKFSdHM4EEBkPMzTV70XdfqVlU981l/1LhIAXKEme403EDJ8foBuYPGrFsD1HeNDwAByuE49RXK6DTO20Ho7saJJB18= 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+79555+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 1629357933568603.9506196479715; Thu, 19 Aug 2021 00:25:33 -0700 (PDT) Return-Path: X-Received: by 127.0.0.2 with SMTP id IXowYY1788612xmp34HUjRT1; Thu, 19 Aug 2021 00:25:33 -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.web09.66198.1629357932549949887 for ; Thu, 19 Aug 2021 00:25:32 -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-104-beSr0qcKOtOP-0IOQva1Xw-1; Thu, 19 Aug 2021 03:25:30 -0400 X-MC-Unique: beSr0qcKOtOP-0IOQva1Xw-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 B41F18799E0 for ; Thu, 19 Aug 2021 07:25:29 +0000 (UTC) X-Received: from sirius.home.kraxel.org (unknown [10.39.193.216]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 7BE1EBA6F; Thu, 19 Aug 2021 07:25:25 +0000 (UTC) X-Received: by sirius.home.kraxel.org (Postfix, from userid 1000) id B16AB180079B; Thu, 19 Aug 2021 09:25:17 +0200 (CEST) From: "Gerd Hoffmann" To: devel@edk2.groups.io Cc: Gerd Hoffmann Subject: [edk2-devel] [PATCH v4 2/7] OvmfPkg/VirtioMmioDeviceLib: Add virtio 1.0 detection. Date: Thu, 19 Aug 2021 09:25:12 +0200 Message-Id: <20210819072517.1565797-3-kraxel@redhat.com> In-Reply-To: <20210819072517.1565797-1-kraxel@redhat.com> References: <20210819072517.1565797-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: NSUYoyEavw49VWpCeNz7CIfgx1787277AA= Content-Transfer-Encoding: quoted-printable DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=groups.io; q=dns/txt; s=20140610; t=1629357933; bh=t9ZakS9iBMdOm1lisWEjZki1Ia3HcP1i5FNg0dms8gI=; h=Cc:Content-Type:Date:From:Reply-To:Subject:To; b=dnBVdHGwyxrhj5MzM4W8PPYFuEM/BLUCUxYPXV9vAB3r5ijto85uHtvY28GQ1fnvvAP 3qAD5076JSHKm4tH73JAGxG1l1XCNf9ImoZ4a8/kABpcwk6sYYEI5999saubGrk7i/K7G EwrDQbJzmF2gS1Pke13YU77DAmO2Qyxw2ds= X-ZohoMail-DKIM: pass (identity @groups.io) X-ZM-MESSAGEID: 1629357935863100002 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 (#79555): https://edk2.groups.io/g/devel/message/79555 Mute This Topic: https://groups.io/mt/84991748/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 Fri May 3 10:09:29 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+79554+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+79554+1787277+3901457@groups.io; dmarc=fail(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1629357929; cv=none; d=zohomail.com; s=zohoarc; b=fDU1w5HcDJrIea8aby14pUJ1CsuHx7Z+j3uEApQOOXrmjbKT8JGwc8PCShpZXoCQ5XWCOy2Xu/hE5ROK0yPbKhkJriMAa6Fi8IgvFVEk3d5s0CoD3eIeRCZV6V0GRtrV9OYyFXy8v7XbvfYQVporlVboiU5prin/s49oCW79+XE= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1629357929; 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=wDLM1xRq36eVuyb+kECafu1eX8eVsODAc8F5FUALJ0Y=; b=nl5d5YhvlujN/BnBmmBFWtWg5tQfC8qwgpcYa90MleyuYhvM4zmUTED5NJXO4oZNlAYPo5WhAjVBa5khK4+QCE/yyihPvedmy5yNzBF9CzZdQG/RHYXo2vo1yfGnsKo3Rxpz2LnQt9s3wDx+tNVB6osXYN1S0AW/GlPSR5W+Jes= 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+79554+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 1629357929470847.5005538016185; Thu, 19 Aug 2021 00:25:29 -0700 (PDT) Return-Path: X-Received: by 127.0.0.2 with SMTP id 8NzLYY1788612xw75geM0MPB; Thu, 19 Aug 2021 00:25:29 -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.web10.66596.1629357928473801127 for ; Thu, 19 Aug 2021 00:25:28 -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-568-ktGskkTWMzigxdXbMZ1CVg-1; Thu, 19 Aug 2021 03:25:26 -0400 X-MC-Unique: ktGskkTWMzigxdXbMZ1CVg-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 B4ED7801AC5 for ; Thu, 19 Aug 2021 07:25:25 +0000 (UTC) X-Received: from sirius.home.kraxel.org (unknown [10.39.193.216]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 7C614399; Thu, 19 Aug 2021 07:25:25 +0000 (UTC) X-Received: by sirius.home.kraxel.org (Postfix, from userid 1000) id B4531180079C; Thu, 19 Aug 2021 09:25:17 +0200 (CEST) From: "Gerd Hoffmann" To: devel@edk2.groups.io Cc: Gerd Hoffmann Subject: [edk2-devel] [PATCH v4 3/7] OvmfPkg/VirtioMmioDeviceLib: virtio 1.0: Fix SetPageSize. Date: Thu, 19 Aug 2021 09:25:13 +0200 Message-Id: <20210819072517.1565797-4-kraxel@redhat.com> In-Reply-To: <20210819072517.1565797-1-kraxel@redhat.com> References: <20210819072517.1565797-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: 3hBEboquLtslya1jTBzJiOxEx1787277AA= Content-Transfer-Encoding: quoted-printable DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=groups.io; q=dns/txt; s=20140610; t=1629357929; bh=6zPlRX5+b4nV97NKzdGARJOEGudRT0VqK+Bo+SPGii4=; h=Cc:Content-Type:Date:From:Reply-To:Subject:To; b=kLm5a3gV7eEnd1K5GPJ4NIjs1DFqv4ufxEtUZxLuW6a5FsMGyqoDExbBuVp6lpDwPxJ t/D8ehtlpFdTikTy+Uj6rg2Ms3kRCTYNmMBXY3mSm7K2SHNJSGtyF3ekDkF4OrB0GJCcA 4kQ/n4qmnlq+ZLK7FFNu5KkXvTZHYcbmTmg= X-ZohoMail-DKIM: pass (identity @groups.io) X-ZM-MESSAGEID: 1629357931379100010 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 (#79554): https://edk2.groups.io/g/devel/message/79554 Mute This Topic: https://groups.io/mt/84991747/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 Fri May 3 10:09:29 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+79556+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+79556+1787277+3901457@groups.io; dmarc=fail(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1629357933; cv=none; d=zohomail.com; s=zohoarc; b=YqG1zz4r4ncShHli1gZaQ+apsgERyRRnykze1rB0KRpwgYK5V3Ae0KfY4FIPZYggFmlg7yklyPlYoJp1HmSXMn6O3G71i/lmlJ/FsUL2MtWnQYv8Wz9na8CHP4YGBjwOjmfyqYN9RM2z3jHXO1LUoknOc+ZH6gb+1czyU3/kAQg= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1629357933; 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=RuXlBoN92LrQhUq1ueVX5LzcY+VjokKw/fC116IsHf8=; b=cdILAmF6w5mryPeXNyu8syX+Mi1YjLjJy8+SS15kBlN94MxcBuGOF300odh3q2enersaKgbHyhc8qMCL/fDe3ab2BlRWgzUiuEnv97O6AvToz1d7RM6dYIjdHLBLhlnl/3ARcmpN06++y0CLEXsMKQO0ibCH9bzHoghT3CRKJ08= 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+79556+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 1629357933966690.456891847655; Thu, 19 Aug 2021 00:25:33 -0700 (PDT) Return-Path: X-Received: by 127.0.0.2 with SMTP id F5vCYY1788612xRc3yMt7CAG; Thu, 19 Aug 2021 00:25:33 -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.66199.1629357932723748031 for ; Thu, 19 Aug 2021 00:25:33 -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-457-R2WmSXn_NOmwYU5HW-35_A-1; Thu, 19 Aug 2021 03:25:30 -0400 X-MC-Unique: R2WmSXn_NOmwYU5HW-35_A-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 B918A1018F64 for ; Thu, 19 Aug 2021 07:25:29 +0000 (UTC) X-Received: from sirius.home.kraxel.org (unknown [10.39.193.216]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 421EF61096; Thu, 19 Aug 2021 07:25:27 +0000 (UTC) X-Received: by sirius.home.kraxel.org (Postfix, from userid 1000) id B70E418007A1; Thu, 19 Aug 2021 09:25:17 +0200 (CEST) From: "Gerd Hoffmann" To: devel@edk2.groups.io Cc: Gerd Hoffmann Subject: [edk2-devel] [PATCH v4 4/7] OvmfPkg/VirtioMmioDeviceLib: virtio 1.0: Fix SetQueueAddress Date: Thu, 19 Aug 2021 09:25:14 +0200 Message-Id: <20210819072517.1565797-5-kraxel@redhat.com> In-Reply-To: <20210819072517.1565797-1-kraxel@redhat.com> References: <20210819072517.1565797-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: aP2Wu2TVCT1L3RKDrmBVFXQvx1787277AA= Content-Transfer-Encoding: quoted-printable DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=groups.io; q=dns/txt; s=20140610; t=1629357933; bh=f8roa+wipu4f+prdS+UClHiMpgccoqzxLzSpFiDYrsk=; h=Cc:Content-Type:Date:From:Reply-To:Subject:To; b=gkcamfTqeTVo9kForAAwjo/GYAXsd/80FXuK2doojLBeoM8brgs49wZ24lxLj+fnQDF 6tOtbcVq4hmlou0rcn1GrWTtO2Z2zo1rBGtXM8XMXB6xBHniabU88M+x3bxllb/s6fGms fnc/wdppJk6dg9Lrw9hMo64ma7a9gjKbhlE= X-ZohoMail-DKIM: pass (identity @groups.io) X-ZM-MESSAGEID: 1629357935883100004 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..a0ee8e5f3c86 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 (UINT64)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 (UINT64)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 (UINT64)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 (#79556): https://edk2.groups.io/g/devel/message/79556 Mute This Topic: https://groups.io/mt/84991749/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 Fri May 3 10:09:29 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+79558+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+79558+1787277+3901457@groups.io; dmarc=fail(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1629357939; cv=none; d=zohomail.com; s=zohoarc; b=SnUE1KCYUL4g2Bmof3uN/6SIeDTQIvc4UYIbnjbVBONtMTdu9DNkFJxgAER5HGFN93ztgMI0CTgVnwwTnFurjxGdZa3NMBlayE0PCCEwFlG5tRZWu1/aO6367lGcUeR3YVgs9/TESHZz+t6Hm82gEKj7Q2dYbbz7kVdQnnsHSv0= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1629357939; 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=A123I1wnP3TnU1sjiErIcB8o++fz5CNge2R8FgO1S80=; b=kESctktTJeiPPpUSXuajjOMsNWFJQ86YJwUDDpDrpVYMkQA3pOYzXgyUpsldBcs13Q32zJvvarUa7R4uLUVVtXfi+wHpr98nAZ+US8h5QDBVyGJUgAkqWELQGjA8f/uJ7Nw7WKCHMXZDQDQ9/bEOEJEYgMMrNzlRmiNS0QcCM8g= 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+79558+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 16293579394866.198346213292666; Thu, 19 Aug 2021 00:25:39 -0700 (PDT) Return-Path: X-Received: by 127.0.0.2 with SMTP id OeZqYY1788612xexHtq65bbf; Thu, 19 Aug 2021 00:25:39 -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.web10.66597.1629357938593485754 for ; Thu, 19 Aug 2021 00:25:38 -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-277-hUVAIIu0MtmnwFhJTvCHIQ-1; Thu, 19 Aug 2021 03:25:36 -0400 X-MC-Unique: hUVAIIu0MtmnwFhJTvCHIQ-1 X-Received: from smtp.corp.redhat.com (int-mx07.intmail.prod.int.phx2.redhat.com [10.5.11.22]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id 98F47423C6 for ; Thu, 19 Aug 2021 07:25:35 +0000 (UTC) X-Received: from sirius.home.kraxel.org (unknown [10.39.193.216]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 7C1A21059141; Thu, 19 Aug 2021 07:25:31 +0000 (UTC) X-Received: by sirius.home.kraxel.org (Postfix, from userid 1000) id B9B6218007A5; Thu, 19 Aug 2021 09:25:17 +0200 (CEST) From: "Gerd Hoffmann" To: devel@edk2.groups.io Cc: Gerd Hoffmann Subject: [edk2-devel] [PATCH v4 5/7] OvmfPkg/VirtioMmioDeviceLib: virtio 1.0: Add default QueueNum Date: Thu, 19 Aug 2021 09:25:15 +0200 Message-Id: <20210819072517.1565797-6-kraxel@redhat.com> In-Reply-To: <20210819072517.1565797-1-kraxel@redhat.com> References: <20210819072517.1565797-1-kraxel@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.84 on 10.5.11.22 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: O275u2Omy0lysHIEeYO3WjYux1787277AA= Content-Transfer-Encoding: quoted-printable DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=groups.io; q=dns/txt; s=20140610; t=1629357939; bh=pREK6oKQQAAIC7+Kqkt9DVS3h9FbQsncG0DGY2IQqqI=; h=Cc:Content-Type:Date:From:Reply-To:Subject:To; b=lNQuuibLDPBmOxUtTJbPyPx9MmjkwzLMV0dMKSK5nNtZt2sgqrVKwgcd8hIYqesfTow YvSyJDl2tHreHj+oqO50Kh/Rh3cbm8dh0zsCHY3TUF/vU4ne7pbH0ffg6CJswF9u2XPF1 qo8GT+q5lPJOZYSiFBVi6FXfC30nOsX6/aY= X-ZohoMail-DKIM: pass (identity @groups.io) X-ZM-MESSAGEID: 1629357940406100006 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 a0ee8e5f3c86..b4711f9b42e6 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 (UINT64)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 (#79558): https://edk2.groups.io/g/devel/message/79558 Mute This Topic: https://groups.io/mt/84991751/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 Fri May 3 10:09:29 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+79557+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+79557+1787277+3901457@groups.io; dmarc=fail(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1629357936; cv=none; d=zohomail.com; s=zohoarc; b=glKA8wCq7cPBCbtVcGAF/mYHC2NfRJ6HSIn1UnW8wDzPyxxUhHQIzAMmJSNrJe/4+jXZL9lAc2XxR+HX9m0ymIgtybwiY32zvupYjD27ZZoyIG+0FsUfdNoAEmmW1Z1LIxIQNjrW0jbAbqZcZlOnuiRUtqGCsOn0FVzjX0PG4zY= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1629357936; 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=YPwLL4AvbmDsiGdVby5aKO3lKwVnsbUb2fnhKiIOC2U=; b=lTWFqR9lAkigHYkMw9Bd6BFD7xRBE+t7t1p40z2th7tNWmAkk8zGVG9a35pCAGlBCrxyATicRmSO5thdEAxie4FfI9Voa48h/+1iOCZLzzEadnb/tRgZAjUDbJgynoGzrvJkjCCUoua/I9LvPsqRLmpFI7rM/vEcLoO4xfiFZVk= 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+79557+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 1629357936279328.6512910950727; Thu, 19 Aug 2021 00:25:36 -0700 (PDT) Return-Path: X-Received: by 127.0.0.2 with SMTP id EmMIYY1788612xUiAZFnrsfQ; Thu, 19 Aug 2021 00:25: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.web12.66765.1629357934664881736 for ; Thu, 19 Aug 2021 00:25:34 -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-249-6xjqUmpRPB6mlNLjsikZbA-1; Thu, 19 Aug 2021 03:25:32 -0400 X-MC-Unique: 6xjqUmpRPB6mlNLjsikZbA-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 B78D68799E0 for ; Thu, 19 Aug 2021 07:25:31 +0000 (UTC) X-Received: from sirius.home.kraxel.org (unknown [10.39.193.216]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 7D90261096; Thu, 19 Aug 2021 07:25:31 +0000 (UTC) X-Received: by sirius.home.kraxel.org (Postfix, from userid 1000) id BC9D218007A6; Thu, 19 Aug 2021 09:25:17 +0200 (CEST) From: "Gerd Hoffmann" To: devel@edk2.groups.io Cc: Gerd Hoffmann Subject: [edk2-devel] [PATCH v4 6/7] OvmfPkg/VirtioMmioDeviceLib: virtio 1.0: Adapt feature bit handling Date: Thu, 19 Aug 2021 09:25:16 +0200 Message-Id: <20210819072517.1565797-7-kraxel@redhat.com> In-Reply-To: <20210819072517.1565797-1-kraxel@redhat.com> References: <20210819072517.1565797-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: n7tciRxss8CZhO1KCMei3KDNx1787277AA= Content-Transfer-Encoding: quoted-printable DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=groups.io; q=dns/txt; s=20140610; t=1629357935; bh=QTxngfi7RNMQldrv1nACG6PGlQigkBhBGOGpzRX4kHU=; h=Cc:Content-Type:Date:From:Reply-To:Subject:To; b=ovfQJgrECZVkiB2MvCpB1SGL5TZc1uwPugR9j5jOpYsTzNNYYwgY+uMFel484ytTddR wAWtORgGIGu1uz1zhQxfY/ldoQjNCx5exYCKBjtEKeePz+Ha1deUy923QmqN0mwQHeT45 38uLU2eORxt7FadU1Rng5Upv+uc6qOm2SKg= X-ZohoMail-DKIM: pass (identity @groups.io) X-ZM-MESSAGEID: 1629357938412100001 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 b4711f9b42e6..c6b7b45dc792 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 (#79557): https://edk2.groups.io/g/devel/message/79557 Mute This Topic: https://groups.io/mt/84991750/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 Fri May 3 10:09:29 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+79559+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+79559+1787277+3901457@groups.io; dmarc=fail(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1629357941; cv=none; d=zohomail.com; s=zohoarc; b=Hhmf+phjh6LmlR0nG2C/b5cn03AhbnzwaXuGDf2S+7gJ7KuKKZxVT/Yph1zUZtj/XcjzSTsP14QstxQLqazMp3xjSzUaXgzztH5GOX7/KldXHppKWb37Z2nPYqev8xBlfmi3XA+u2DUOxZYOHG3c+Cmz7qtJaUyCsdoWG0S9/m4= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1629357941; 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=oerFMfyVVuJMHL5vBCSW5Uk4epD7U9RsOQcwsFBn/wk=; b=KMMjRavUlk1M0YV6R/e5KH0nKAKPiZjOQhd7TNaclafUyP0T3ipB4G53GOh8Sik4r2fbUFRcWx8odJlCBzc3SK0Ddhma/KLb05rsGtVLQlckiLVRiHEr553nTLaOD6HRtYN+0kAoULNnIbCv922xtHQOtVkpVn4vr7/HPRkXYno= 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+79559+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 1629357941880364.00283122665394; Thu, 19 Aug 2021 00:25:41 -0700 (PDT) Return-Path: X-Received: by 127.0.0.2 with SMTP id IJJiYY1788612xNrZ6cIcv6c; Thu, 19 Aug 2021 00:25:41 -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.web10.66598.1629357940859859856 for ; Thu, 19 Aug 2021 00:25:41 -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-8-xlvUsG53NLW1w0U6yxrpgA-1; Thu, 19 Aug 2021 03:25:38 -0400 X-MC-Unique: xlvUsG53NLW1w0U6yxrpgA-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 A24E68799E0 for ; Thu, 19 Aug 2021 07:25:37 +0000 (UTC) X-Received: from sirius.home.kraxel.org (unknown [10.39.193.216]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 476E25C25A; Thu, 19 Aug 2021 07:25:33 +0000 (UTC) X-Received: by sirius.home.kraxel.org (Postfix, from userid 1000) id BF3C11800903; Thu, 19 Aug 2021 09:25:17 +0200 (CEST) From: "Gerd Hoffmann" To: devel@edk2.groups.io Cc: Gerd Hoffmann Subject: [edk2-devel] [PATCH v4 7/7] OvmfPkg/VirtioMmioDeviceLib: enable virtio 1.0 Date: Thu, 19 Aug 2021 09:25:17 +0200 Message-Id: <20210819072517.1565797-8-kraxel@redhat.com> In-Reply-To: <20210819072517.1565797-1-kraxel@redhat.com> References: <20210819072517.1565797-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: DfUdayc2ymszhmVojAnBFgYBx1787277AA= Content-Transfer-Encoding: quoted-printable DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=groups.io; q=dns/txt; s=20140610; t=1629357941; bh=N0G1EQZiGY9bnz5APffbxp9Hp+578PzH78KJPy6kprg=; h=Cc:Content-Type:Date:From:Reply-To:Subject:To; b=VRl6BR5flSS1htjIRrtRiSh+b8OPL+uFEvnJPCMpocjTj8O9uVGj/4qd4IhldFztcbe 1csMmMgyuqi/MF/l7hoJb7Vo1Sr8L2BHXLNIpXgVxwWgOKDJSV5DMDHdpwL3JTgligWym tLa3i2LyLDLRDrSWg+IKGiJn5j2UK3UXIAg= X-ZohoMail-DKIM: pass (identity @groups.io) X-ZM-MESSAGEID: 1629357942591100001 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 (#79559): https://edk2.groups.io/g/devel/message/79559 Mute This Topic: https://groups.io/mt/84991752/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-