From nobody Fri Dec 19 18:00:04 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail; 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=fail(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1615905907; cv=none; d=zohomail.com; s=zohoarc; b=QGTDXa77wLArbnh4Qq6FRaiIUhol5jMDB+gBs8weDbhlXsgC80m6x1gVTfbe1VcP8lf6Uhu/7jz+QJkNm8hIza9ySRypCeXn+FG6K3ApsmM8j/9KXe5SyPooz77cz6EE2h743aGysYvCu2cfndRPxGc2GF3u3jPlZSOXYlTM8JE= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1615905907; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=aSJsXWasRkayCSP91pEA9yKn6iwqOO3h/LeAuZ+zMH0=; b=XIeZD5wuOxvqSnqBRWcx8tqaheAf2HzV8dvnAjlCDjEC9iAR8bGv44bzSRdyKgI117sFksK5DXtLHnmkpVpav+rNm+dU1mcaCb/uB7MosPgh5VtlTT6YEhbs8K0gIDu8pWv9/pwdX3eFWYy8Ux/kHetVERapkxdA+h6vzOL4YV4= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail; 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=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1615905907635156.5676388444964; Tue, 16 Mar 2021 07:45:07 -0700 (PDT) Received: from localhost ([::1]:46560 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1lMAwU-0003Z5-8x for importer@patchew.org; Tue, 16 Mar 2021 10:45:06 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:44408) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lMAq3-0003hI-Es for qemu-devel@nongnu.org; Tue, 16 Mar 2021 10:38:28 -0400 Received: from us-smtp-delivery-124.mimecast.com ([216.205.24.124]:57819) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.90_1) (envelope-from ) id 1lMApz-0002Cy-Cs for qemu-devel@nongnu.org; Tue, 16 Mar 2021 10:38:25 -0400 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-383-cvR_ZsRaMTiKHCsbYSmF8A-1; Tue, 16 Mar 2021 10:38:20 -0400 Received: from smtp.corp.redhat.com (int-mx01.intmail.prod.int.phx2.redhat.com [10.5.11.11]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id 345E383DD20; Tue, 16 Mar 2021 14:38:19 +0000 (UTC) Received: from sirius.home.kraxel.org (ovpn-112-141.ams2.redhat.com [10.36.112.141]) by smtp.corp.redhat.com (Postfix) with ESMTPS id F0EBA189B6; Tue, 16 Mar 2021 14:38:18 +0000 (UTC) Received: by sirius.home.kraxel.org (Postfix, from userid 1000) id 8ED571800631; Tue, 16 Mar 2021 15:38:12 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1615905502; 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=aSJsXWasRkayCSP91pEA9yKn6iwqOO3h/LeAuZ+zMH0=; b=frnddptCktTd3OZRZrvkNHGvP+BWr7Ws5QdpExjyaCpQkg7m2PtiU49MfAi96MfcGqYQV4 Z5Rgn9xseHdFNg8YTj2qSKBkqtendDToH/Zh4U6tiArtNtmYP187s7dqlxNf7Rk3/8A1lR vPNFPQ9cfjkI5UvOIJd84Sp4fJZj1p8= X-MC-Unique: cvR_ZsRaMTiKHCsbYSmF8A-1 From: Gerd Hoffmann To: qemu-devel@nongnu.org Subject: [PATCH 8/9] edid: allow arbitrary-length checksums Date: Tue, 16 Mar 2021 15:38:11 +0100 Message-Id: <20210316143812.2363588-9-kraxel@redhat.com> In-Reply-To: <20210316143812.2363588-1-kraxel@redhat.com> References: <20210316143812.2363588-1-kraxel@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.11 Authentication-Results: relay.mimecast.com; auth=pass smtp.auth=CUSA124A263 smtp.mailfrom=kraxel@redhat.com X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable 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=216.205.24.124; envelope-from=kraxel@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -29 X-Spam_score: -3.0 X-Spam_bar: --- X-Spam_report: (-3.0 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.25, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_LOW=-0.7, 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.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Konstantin Nazarov , Gerd Hoffmann Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) Content-Type: text/plain; charset="utf-8" From: Konstantin Nazarov Some of the EDID extensions like DisplayID do checksums of their subsections. Currently checksums can be only applied to the whole extension blocks which are 128 bytes. This patch allows to checksum arbitrary parts of EDID, and not only whole extension blocks. Based-on: <20210303152948.59943-2-akihiko.odaki@gmail.com> Signed-off-by: Konstantin Nazarov Message-Id: <20210315114639.91953-2-mail@knazarov.com> Signed-off-by: Gerd Hoffmann --- hw/display/edid-generate.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/hw/display/edid-generate.c b/hw/display/edid-generate.c index b70ab1557e50..bdd01571fc9b 100644 --- a/hw/display/edid-generate.c +++ b/hw/display/edid-generate.c @@ -159,17 +159,17 @@ static void edid_fill_modes(uint8_t *edid, uint8_t *x= tra3, uint8_t *dta, } } =20 -static void edid_checksum(uint8_t *edid) +static void edid_checksum(uint8_t *edid, size_t len) { uint32_t sum =3D 0; int i; =20 - for (i =3D 0; i < 127; i++) { + for (i =3D 0; i < len; i++) { sum +=3D edid[i]; } sum &=3D 0xff; if (sum) { - edid[127] =3D 0x100 - sum; + edid[len] =3D 0x100 - sum; } } =20 @@ -474,9 +474,9 @@ void qemu_edid_generate(uint8_t *edid, size_t size, =20 /* =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D finish up =3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D */ =20 - edid_checksum(edid); + edid_checksum(edid, 127); if (dta) { - edid_checksum(dta); + edid_checksum(dta, 127); } } =20 --=20 2.30.2