From nobody Tue Nov 18 00:03:45 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1726569266; cv=none; d=zohomail.com; s=zohoarc; b=Tz3uW0PkYF5oYuETK4SszamD4NQCrkKCjfmZSaiFJtUMoHp8h5PsKbafLH3h7pWM2Qh57pwPQTaaa7RGQFdzh63mCCm2BFd1UpvyZrWenrJKZ6pf2OuKI5i/FbWSUKyVSVtMMjTOFQleFJ35Jl1w79+B41jV/D6YkThCD0wHGGE= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1726569266; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=YxJmrVQlvQu9QUMfYcSyI+hnNGbhivvfaSAO8ZA+A3c=; b=jA9uIhEUcY0es6EGBSgnkgCeBbp1Tj3oVJ5X5KoFNiAWiJJsNqvBCzBl5AW6PSX8S3KeKRMHJxRKm5543k2oJlw5gVLoDWSLzRv9KGsN2WURZUmk3VHkmf3XBvGcuXZ/lw1P4ETlUAda+UO5MbfDxlE2PKh75b6NINv4cZF549s= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1726569266859684.6722385111672; Tue, 17 Sep 2024 03:34:26 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1sqVWo-0006rS-3l; Tue, 17 Sep 2024 06:33:50 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1sqVVl-000670-UE for qemu-devel@nongnu.org; Tue, 17 Sep 2024 06:32:47 -0400 Received: from us-smtp-delivery-124.mimecast.com ([170.10.129.124]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1sqVVi-0006kB-B1 for qemu-devel@nongnu.org; Tue, 17 Sep 2024 06:32:45 -0400 Received: from mx-prod-mc-01.mail-002.prod.us-west-2.aws.redhat.com (ec2-54-186-198-63.us-west-2.compute.amazonaws.com [54.186.198.63]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-645-z0Db3RvoM5GS81srm1lCQQ-1; Tue, 17 Sep 2024 06:32:39 -0400 Received: from mx-prod-int-03.mail-002.prod.us-west-2.aws.redhat.com (mx-prod-int-03.mail-002.prod.us-west-2.aws.redhat.com [10.30.177.12]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by mx-prod-mc-01.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTPS id A117C1955D47; Tue, 17 Sep 2024 10:32:38 +0000 (UTC) Received: from corto.redhat.com (unknown [10.39.193.154]) by mx-prod-int-03.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTP id 2BD3219560B0; Tue, 17 Sep 2024 10:32:36 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1726569161; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=YxJmrVQlvQu9QUMfYcSyI+hnNGbhivvfaSAO8ZA+A3c=; b=bbc1kX8b/964b/SKz6OlxVAbAEgs1T/uDmbTPUE2Tvbbm4OpMQchahH63iz8UUmfj9yg/Q RqGclBoNHDhmIwTA2jluZvbPt5oJFkZO167ycgxysPAIylCfnzEb9ADQg7KiOg3nNuRmb3 8oYMFNMKK0fs5tzVAnrecVtQzxsATpk= X-MC-Unique: z0Db3RvoM5GS81srm1lCQQ-1 From: =?UTF-8?q?C=C3=A9dric=20Le=20Goater?= To: qemu-devel@nongnu.org Cc: Alex Williamson , =?UTF-8?q?Corvin=20K=C3=B6hne?= , =?UTF-8?q?Corvin=20K=C3=B6hne?= Subject: [PULL 2/8] vfio/igd: return an invalid generation for unknown devices Date: Tue, 17 Sep 2024 12:32:23 +0200 Message-ID: <20240917103229.876515-3-clg@redhat.com> In-Reply-To: <20240917103229.876515-1-clg@redhat.com> References: <20240917103229.876515-1-clg@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-Scanned-By: MIMEDefang 3.0 on 10.30.177.12 Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=170.10.129.124; envelope-from=clg@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H3=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1726569268422116600 From: Corvin K=C3=B6hne Intel changes it's specification quite often e.g. the location and size of the BDSM register has change for gen 11 devices and later. This causes our emulation to fail on those devices. So, it's impossible for us to use a suitable default value for unknown devices. Instead of returning a random generation value and hoping that everthing works fine, we should verify that different devices are working and add them to our list of known devices. Signed-off-by: Corvin K=C3=B6hne Reviewed-by: Alex Williamson --- hw/vfio/igd.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/hw/vfio/igd.c b/hw/vfio/igd.c index d320d032a7f3b19df0d055178f6fefe4bdfd8668..650a323ddaac746de780103ca85= 7256709c0e0aa 100644 --- a/hw/vfio/igd.c +++ b/hw/vfio/igd.c @@ -90,7 +90,11 @@ static int igd_gen(VFIOPCIDevice *vdev) return 8; } =20 - return 8; /* Assume newer is compatible */ + /* + * Unfortunately, Intel changes it's specification quite often. This m= akes + * it impossible to use a suitable default value for unknown devices. + */ + return -1; } =20 typedef struct VFIOIGDQuirk { --=20 2.46.0