From patchwork Thu Oct 3 13:49:14 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Igor Druzhinin X-Patchwork-Id: 11172735 Return-Path: Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org [172.30.200.123]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 227A61902 for ; Thu, 3 Oct 2019 13:50:44 +0000 (UTC) Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id F2E4A2133F for ; Thu, 3 Oct 2019 13:50:43 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=fail reason="signature verification failed" (1024-bit key) header.d=citrix.com header.i=@citrix.com header.b="DsBxYNYY" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org F2E4A2133F Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=citrix.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=xen-devel-bounces@lists.xenproject.org Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from ) id 1iG1Tw-0003sF-9X; Thu, 03 Oct 2019 13:49:24 +0000 Received: from us1-rack-iad1.inumbo.com ([172.99.69.81]) by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from ) id 1iG1Tu-0003s5-QA for xen-devel@lists.xenproject.org; Thu, 03 Oct 2019 13:49:22 +0000 X-Inumbo-ID: 9a0498ae-e5e4-11e9-8c93-bc764e2007e4 Received: from esa2.hc3370-68.iphmx.com (unknown [216.71.145.153]) by us1-rack-iad1.inumbo.com (Halon) with ESMTPS id 9a0498ae-e5e4-11e9-8c93-bc764e2007e4; Thu, 03 Oct 2019 13:49:21 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=citrix.com; s=securemail; t=1570110561; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version; bh=sDLg3nC2Cxwgagyn+ngntRnJFisJPBjQpfzwgcGSEKE=; b=DsBxYNYYz5HrxbqFXpoQ5U35d7IpMvv9VZMRVlSxtSlwg2A61CBiwmnq 7pw1W47zyrV1DJ6vCECSZwyuTDnyv8QytM9Ia4NTkXGLQ7FbrfjJoGRwz 5XAu9bL5qzD1v2/VMOwG/PIhXY2wmz5VbrogwdVLqZkchS/ESFsIpLmt5 A=; Authentication-Results: esa2.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none; spf=None smtp.pra=igor.druzhinin@citrix.com; spf=Pass smtp.mailfrom=igor.druzhinin@citrix.com; spf=None smtp.helo=postmaster@mail.citrix.com Received-SPF: None (esa2.hc3370-68.iphmx.com: no sender authenticity information available from domain of igor.druzhinin@citrix.com) identity=pra; client-ip=162.221.158.21; receiver=esa2.hc3370-68.iphmx.com; envelope-from="igor.druzhinin@citrix.com"; x-sender="igor.druzhinin@citrix.com"; x-conformance=sidf_compatible Received-SPF: Pass (esa2.hc3370-68.iphmx.com: domain of igor.druzhinin@citrix.com designates 162.221.158.21 as permitted sender) identity=mailfrom; client-ip=162.221.158.21; receiver=esa2.hc3370-68.iphmx.com; envelope-from="igor.druzhinin@citrix.com"; x-sender="igor.druzhinin@citrix.com"; x-conformance=sidf_compatible; x-record-type="v=spf1"; x-record-text="v=spf1 ip4:209.167.231.154 ip4:178.63.86.133 ip4:195.66.111.40/30 ip4:85.115.9.32/28 ip4:199.102.83.4 ip4:192.28.146.160 ip4:192.28.146.107 ip4:216.52.6.88 ip4:216.52.6.188 ip4:162.221.158.21 ip4:162.221.156.83 ~all" Received-SPF: None (esa2.hc3370-68.iphmx.com: no sender authenticity information available from domain of postmaster@mail.citrix.com) identity=helo; client-ip=162.221.158.21; receiver=esa2.hc3370-68.iphmx.com; envelope-from="igor.druzhinin@citrix.com"; x-sender="postmaster@mail.citrix.com"; x-conformance=sidf_compatible IronPort-SDR: P53fo1dl2zaLficFHfxcq4vQPjGrtRMUmNiuQ+b8NikfR+hpdvd5j39k65NhY6dfuU+ObV/cLj MtKqxjQZO3l4YUcp9lJZiKIYwEpQUu3d0CbJVVfsS1ul3oZV/PllaDMckR9AmRH5WNbCtkTRXy 1DbqbsfHPu4xHi9rvO9OoXgYjc3/MG6raGfAcS/x9jNe0jER8qX/nkO83moYKN9YS5xS85rZ56 oxmoaNqGuYTw8lUERimWeuogt+6LViDRzeLREh1/beiFOfHQPri066U8N7XI0c3aszp2oY/71c yY0= X-SBRS: 2.7 X-MesageID: 6416752 X-Ironport-Server: esa2.hc3370-68.iphmx.com X-Remote-IP: 162.221.158.21 X-Policy: $RELAYED X-IronPort-AV: E=Sophos;i="5.67,252,1566878400"; d="scan'208";a="6416752" From: Igor Druzhinin To: Date: Thu, 3 Oct 2019 14:49:14 +0100 Message-ID: <1570110555-24287-2-git-send-email-igor.druzhinin@citrix.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1570110555-24287-1-git-send-email-igor.druzhinin@citrix.com> References: <1570110555-24287-1-git-send-email-igor.druzhinin@citrix.com> MIME-Version: 1.0 Subject: [Xen-devel] [PATCH 1/2] efi/boot: fix set_color function X-BeenThere: xen-devel@lists.xenproject.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Cc: Igor Druzhinin , jbeulich@suse.com Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-devel" - 0 is a possible and allowed value for a color mask accroding to UEFI Spec 2.6 (11.9) especially for reserved mask - add missing pointer dereference Without these changes non-TrueColor modes won't work which will cause GOP init to fail - observed while trying to boot EFI Xen with Cirrus VGA. Signed-off-by: Igor Druzhinin --- xen/common/efi/boot.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/xen/common/efi/boot.c b/xen/common/efi/boot.c index 9a89414..933db88 100644 --- a/xen/common/efi/boot.c +++ b/xen/common/efi/boot.c @@ -1113,10 +1113,14 @@ static int __init __maybe_unused set_color(u32 mask, int bpp, u8 *pos, u8 *sz) if ( bpp < 0 ) return bpp; if ( !mask ) - return -EINVAL; + { + *pos = 0; + *sz = 0; + return bpp; + } for ( *pos = 0; !(mask & 1); ++*pos ) mask >>= 1; - for ( *sz = 0; mask & 1; ++sz) + for ( *sz = 0; mask & 1; ++*sz) mask >>= 1; if ( mask ) return -EINVAL; From patchwork Thu Oct 3 13:49:15 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Igor Druzhinin X-Patchwork-Id: 11172731 Return-Path: Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org [172.30.200.123]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 9857913B1 for ; Thu, 3 Oct 2019 13:50:42 +0000 (UTC) Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 72D802133F for ; Thu, 3 Oct 2019 13:50:42 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=fail reason="signature verification failed" (1024-bit key) header.d=citrix.com header.i=@citrix.com header.b="Q66uXR6c" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 72D802133F Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=citrix.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=xen-devel-bounces@lists.xenproject.org Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from ) id 1iG1U1-0003sw-TV; Thu, 03 Oct 2019 13:49:29 +0000 Received: from all-amaz-eas1.inumbo.com ([34.197.232.57] helo=us1-amaz-eas2.inumbo.com) by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from ) id 1iG1U0-0003sX-1D for xen-devel@lists.xenproject.org; Thu, 03 Oct 2019 13:49:28 +0000 X-Inumbo-ID: 9a6cc62c-e5e4-11e9-9727-12813bfff9fa Received: from esa3.hc3370-68.iphmx.com (unknown [216.71.145.155]) by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS id 9a6cc62c-e5e4-11e9-9727-12813bfff9fa; Thu, 03 Oct 2019 13:49:22 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=citrix.com; s=securemail; t=1570110563; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version; bh=tF7w/7mqj8IwgpPtQkuMPPTxghPi+ksljdz3BKUJThU=; b=Q66uXR6cJH33ZWurNIe2Kmjlu0fhoVDB2SM/ZQg+u6HmoEnn5m0v9rIG mO8gBGClpgPWMVh+uVvvi57/kcFAUEwpXgaHO4U8uL3q7nOa+v2aoAFpz YmmPy0/SmyHpo4iVYC8XDZMY4HtKZt8ORNMKYqpZsv4YYkDDCCa+ymlul g=; Authentication-Results: esa3.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none; spf=None smtp.pra=igor.druzhinin@citrix.com; spf=Pass smtp.mailfrom=igor.druzhinin@citrix.com; spf=None smtp.helo=postmaster@mail.citrix.com Received-SPF: None (esa3.hc3370-68.iphmx.com: no sender authenticity information available from domain of igor.druzhinin@citrix.com) identity=pra; client-ip=162.221.158.21; receiver=esa3.hc3370-68.iphmx.com; envelope-from="igor.druzhinin@citrix.com"; x-sender="igor.druzhinin@citrix.com"; x-conformance=sidf_compatible Received-SPF: Pass (esa3.hc3370-68.iphmx.com: domain of igor.druzhinin@citrix.com designates 162.221.158.21 as permitted sender) identity=mailfrom; client-ip=162.221.158.21; receiver=esa3.hc3370-68.iphmx.com; envelope-from="igor.druzhinin@citrix.com"; x-sender="igor.druzhinin@citrix.com"; x-conformance=sidf_compatible; x-record-type="v=spf1"; x-record-text="v=spf1 ip4:209.167.231.154 ip4:178.63.86.133 ip4:195.66.111.40/30 ip4:85.115.9.32/28 ip4:199.102.83.4 ip4:192.28.146.160 ip4:192.28.146.107 ip4:216.52.6.88 ip4:216.52.6.188 ip4:162.221.158.21 ip4:162.221.156.83 ~all" Received-SPF: None (esa3.hc3370-68.iphmx.com: no sender authenticity information available from domain of postmaster@mail.citrix.com) identity=helo; client-ip=162.221.158.21; receiver=esa3.hc3370-68.iphmx.com; envelope-from="igor.druzhinin@citrix.com"; x-sender="postmaster@mail.citrix.com"; x-conformance=sidf_compatible IronPort-SDR: Me9VyvpGclwF1TBnHqDr0w7e6HWsJxCyM8rlfHQ06lltLKXlXwgfjQZIecvmjWAmV573zf0WNQ +JhFXbEN6ZUuapSkjVj998IAFhBsxs1UrsfkpAp6t53yBOmB/6lvcAmJKp8izzGAiyYPHeisA3 DkN+DHlRqS67TjkXjZQkFUvBbfNryxoVYfhdJ008WQtKCigJV/y12lengiUs/laGklV3A5l57M zuMa/AVtRpeoZm3LXoH1Sq1MNbC+RYJJBR16r92L0f97B5WAD3lX8wWLjD95bpY8OzTE26uU5O 4Jo= X-SBRS: 2.7 X-MesageID: 6422683 X-Ironport-Server: esa3.hc3370-68.iphmx.com X-Remote-IP: 162.221.158.21 X-Policy: $RELAYED X-IronPort-AV: E=Sophos;i="5.67,252,1566878400"; d="scan'208";a="6422683" From: Igor Druzhinin To: Date: Thu, 3 Oct 2019 14:49:15 +0100 Message-ID: <1570110555-24287-3-git-send-email-igor.druzhinin@citrix.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1570110555-24287-1-git-send-email-igor.druzhinin@citrix.com> References: <1570110555-24287-1-git-send-email-igor.druzhinin@citrix.com> MIME-Version: 1.0 Subject: [Xen-devel] [PATCH 2/2] efi/boot: make sure chosen mode is set even if firmware tell it is X-BeenThere: xen-devel@lists.xenproject.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Cc: Igor Druzhinin , jbeulich@suse.com Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-devel" If a bootloader is using native driver instead of EFI GOP it might reset graphics mode to be different from what firmware thinks it currently is. Set chosen mode unconditionally to fix this possible misalignment. Observed with EFI GRUB2 compiled with all possible video drivers where native drivers take priority over firmware. Signed-off-by: Igor Druzhinin --- xen/common/efi/boot.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/xen/common/efi/boot.c b/xen/common/efi/boot.c index 933db88..4067721 100644 --- a/xen/common/efi/boot.c +++ b/xen/common/efi/boot.c @@ -1052,7 +1052,7 @@ static void __init efi_set_gop_mode(EFI_GRAPHICS_OUTPUT_PROTOCOL *gop, UINTN gop UINTN info_size; /* Set graphics mode. */ - if ( gop_mode < gop->Mode->MaxMode && gop_mode != gop->Mode->Mode ) + if ( gop_mode < gop->Mode->MaxMode ) gop->SetMode(gop, gop_mode); /* Get graphics and frame buffer info. */