From nobody Wed Feb 11 06:00:06 2026 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-