From nobody Sat Sep 21 02:33:21 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 --- .../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-