From patchwork Mon Jun 17 08:36:39 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Marcin Juszkiewicz X-Patchwork-Id: 804872 Delivered-To: patch@linaro.org Received: by 2002:adf:fb90:0:b0:360:93e7:1765 with SMTP id a16csp456944wrr; Mon, 17 Jun 2024 01:37:24 -0700 (PDT) X-Forwarded-Encrypted: i=2; AJvYcCVp3pqJ0FwX4UZUvOx3tQYzgiRkjAtkUhbjKxwWgBpOZcvkYFXIFLZHRo39v53wcXeIdC7c2xB/PsIr3et30xcm X-Google-Smtp-Source: AGHT+IGbSpAtPJ8EhSfY+wCKGB2VtVo1TnENUMP09dpS/8Xppz/GWOYvdV/WQzc6eXexPD6g20if X-Received: by 2002:a05:690c:d84:b0:615:1413:95c1 with SMTP id 00721157ae682-63222a54b2bmr103937907b3.19.1718613443866; Mon, 17 Jun 2024 01:37:23 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1718613443; cv=none; d=google.com; s=arc-20160816; b=WMlI53LePNSToF78Tw5zz/66P0qTvpR4x8QV+5eaDcQPB3ENboFGYRXgaQEc2MEcuI HrXMvlDchJByDq1ajEigy0l244XDinAPggQl26MYcydS7ZltSXtPU4xcrZAbJIXC2dyk 5dNT36RaRHTA3iJoP9m4wGagw++NyTwBCZoGr4iHiizW5Q3Q7oNmr+D6FX30ZfznQGLp Hbqaho5Wuq30X1dwIXOlT4961HVFVDSeYEC6ihMgFH6XTn5Cafc0ujGEQ7PYHZBtMw57 hkOxVptiQKD0zQEMJcGyFh5DGPDyKshVeGIeYH4pcmTaUQsEvW8+1O4IrOhHOTwL31le DVXA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:content-transfer-encoding :mime-version:references:in-reply-to:message-id:date:subject:cc:to :from; bh=l7b3A6yv6+scPVPINKgjWk98261SX0yZfQKPxhQQQsQ=; fh=OUxTVWcF8GX+I0zFgScsnzd5EDNDbvBPmu3CqxwmMOA=; b=neNJV1V5Jr/DmakkY2e52fofISe+6gRkz6JS5zpgtZqVGAfdbI8XwwSgg2OqFiQohI oE2anOKw19y8JYJmYm4x8xwk23M+z7A7FJlo+kmxFyigGPaym4yxo1sy/LsgmTuDsR+F z3Kf7xIE9dMdQJkO6sNh3bZfJWxbpJC70SCe+5ldIY17VXDHWrHrP+lFfv5+xGQL5FLK AQDv9mvFtpkDScr6mwUT1Gm3Swzympb99h3Iel53dp4yjm1WOFh4//UVPXrE+j4vXJax OGeW0XKRS5Rd4ObWTC1/Wdh5BiMm1/atrXEYb4vFZFQMZ/4l1dwLn7q4woKvfGGRIW6V 1efg==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=linaro.org Return-Path: Received: from lists.gnu.org (lists.gnu.org. [209.51.188.17]) by mx.google.com with ESMTPS id af79cd13be357-79b7e8a4328si232084985a.82.2024.06.17.01.37.23 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Mon, 17 Jun 2024 01:37:23 -0700 (PDT) Received-SPF: pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; Authentication-Results: mx.google.com; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1sJ7rH-0006fW-AC; Mon, 17 Jun 2024 04:36:59 -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 1sJ7rG-0006fE-D3; Mon, 17 Jun 2024 04:36:58 -0400 Received: from muminek.juszkiewicz.com.pl ([213.251.184.221]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1sJ7rD-0008HE-LF; Mon, 17 Jun 2024 04:36:58 -0400 Received: from localhost (localhost [127.0.0.1]) by muminek.juszkiewicz.com.pl (Postfix) with ESMTP id 5CF63260757; Mon, 17 Jun 2024 10:36:51 +0200 (CEST) X-Virus-Scanned: Debian amavis at juszkiewicz.com.pl Received: from muminek.juszkiewicz.com.pl ([127.0.0.1]) by localhost (muminek.juszkiewicz.com.pl [127.0.0.1]) (amavis, port 10024) with ESMTP id 6kaz7scySyzq; Mon, 17 Jun 2024 10:36:49 +0200 (CEST) Received: from applejack.lan (83.11.22.244.ipv4.supernova.orange.pl [83.11.22.244]) by muminek.juszkiewicz.com.pl (Postfix) with ESMTPSA id 43C6A26072F; Mon, 17 Jun 2024 10:36:47 +0200 (CEST) From: Marcin Juszkiewicz To: qemu-devel@nongnu.org Cc: Leif Lindholm , Ard Biesheuvel , qemu-arm@nongnu.org, Taylor Beebe , Pedro Falcato , Theo Jehl , Rebecca Cran , Marcin Juszkiewicz Subject: [PATCH 1/1] BootLogoLib: align logo coords to be even Date: Mon, 17 Jun 2024 10:36:39 +0200 Message-ID: <20240617083639.379608-1-marcin.juszkiewicz@linaro.org> X-Mailer: git-send-email 2.45.1 In-Reply-To: References: MIME-Version: 1.0 Received-SPF: softfail client-ip=213.251.184.221; envelope-from=marcin.juszkiewicz@linaro.org; helo=muminek.juszkiewicz.com.pl X-Spam_score_int: -11 X-Spam_score: -1.2 X-Spam_bar: - X-Spam_report: (-1.2 / 5.0 requ) BAYES_00=-1.9, SPF_HELO_NONE=0.001, SPF_SOFTFAIL=0.665, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=no 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+patch=linaro.org@nongnu.org Sender: qemu-devel-bounces+patch=linaro.org@nongnu.org If we draw logo at odd coords then BootLogoLib goes into exception and boot process ends: Synchronous Exception at 0x00000101FB943E48 PC 0x0101FB943E48 (0x0101FB93F000+0x00004E48) [ 0] QemuVideoDxe.dll PC 0x0101FB943314 (0x0101FB93F000+0x00004314) [ 0] QemuVideoDxe.dll PC 0x0101FB92F798 (0x0101FB92D000+0x00002798) [ 1] ConSplitterDxe.dll PC 0x0101FBA96BC4 (0x0101FBA8E000+0x00008BC4) [ 2] BdsDxe.dll PC 0x0101FF7FDF50 (0x0101FF7F3000+0x0000AF50) [ 3] DxeCore.dll This change resizes logo from 193x58 to 194x58px to make it's sizes even. And if coords are odd then they are bumped a bit to make things work. Signed-off-by: Marcin Juszkiewicz --- .../Library/BootLogoLib/BootLogoLib.c | 4 ++++ MdeModulePkg/Logo/Logo.bmp | Bin 12446 -> 34010 bytes 2 files changed, 4 insertions(+) diff --git a/MdeModulePkg/Logo/Logo.bmp b/MdeModulePkg/Logo/Logo.bmp index 3e85229e17595ba1f9c59e13692a4f8362ebc850..136345a56ac44e3ea8d3c91114b5a2676dc90e2a 100644 GIT binary patch literal 34010 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 0) && (DestY >= 0)) { if (GraphicsOutput != NULL) { Status = GraphicsOutput->Blt (