From nobody Sat May 4 16:48:17 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) client-ip=192.237.175.120; envelope-from=xen-devel-bounces@lists.xenproject.org; helo=lists.xenproject.org; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; arc=pass (i=1 dmarc=pass fromdomain=citrix.com); dmarc=pass(p=reject dis=none) header.from=citrix.com ARC-Seal: i=2; a=rsa-sha256; t=1685624770; cv=pass; d=zohomail.com; s=zohoarc; b=EzfvF93eqIpIzT14E7iAREShOxoe/I4/IRpLf9O9uPuRS7IOKjMtsOjd4N/ZPKO/aUrtwdr65ar/N/2gsENEwDXktXTOyJ4JTOUidDJVvam7kLRuLC8xyBc2Ucfvig4PRU94KKcWZX8N7N79zjv90g5gHFO47Xub45mx+tYws48= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1685624770; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=M7VopqNXdUxcJxKf8MHX3XuEw2geRVIEfFA9FplnD9E=; b=jwlhDWVNX9UBDKWhWplBCQ+fMAE2D7IlnrWrduHStc56zeE/KsGLq7CHlnubQ0OloGV0uvVcSqu9n9DHXcCGHW4WxyCUo3phoAqsuOv/G/sVg9xdiBocvvRuOoxofNJ98w1SeCqeLUi9zAC1dQtSaaif1YcoiQSyT3leW0LwWmk= ARC-Authentication-Results: i=2; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; arc=pass (i=1 dmarc=pass fromdomain=citrix.com); dmarc=pass header.from= (p=reject dis=none) Return-Path: Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) by mx.zohomail.com with SMTPS id 1685624770534192.42938343672483; Thu, 1 Jun 2023 06:06:10 -0700 (PDT) Received: from list by lists.xenproject.org with outflank-mailman.542473.846376 (Exim 4.92) (envelope-from ) id 1q4hzp-0007OO-58; Thu, 01 Jun 2023 13:05:41 +0000 Received: by outflank-mailman (output) from mailman id 542473.846376; Thu, 01 Jun 2023 13:05:41 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1q4hzp-0007OH-2O; Thu, 01 Jun 2023 13:05:41 +0000 Received: by outflank-mailman (input) for mailman id 542473; Thu, 01 Jun 2023 13:05:39 +0000 Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50] helo=se1-gles-flk1.inumbo.com) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1q4hzn-000791-Kr for xen-devel@lists.xenproject.org; Thu, 01 Jun 2023 13:05:39 +0000 Received: from esa1.hc3370-68.iphmx.com (esa1.hc3370-68.iphmx.com [216.71.145.142]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS id 004cf82e-007d-11ee-8611-37d641c3527e; Thu, 01 Jun 2023 15:05:37 +0200 (CEST) Received: from mail-co1nam11lp2171.outbound.protection.outlook.com (HELO NAM11-CO1-obe.outbound.protection.outlook.com) ([104.47.56.171]) by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256; 01 Jun 2023 09:05:35 -0400 Received: from SJ0PR03MB6423.namprd03.prod.outlook.com (2603:10b6:a03:38d::21) by BY5PR03MB5347.namprd03.prod.outlook.com (2603:10b6:a03:218::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6455.23; Thu, 1 Jun 2023 13:05:34 +0000 Received: from SJ0PR03MB6423.namprd03.prod.outlook.com ([fe80::192:6bdf:b105:64dd]) by SJ0PR03MB6423.namprd03.prod.outlook.com ([fe80::192:6bdf:b105:64dd%3]) with mapi id 15.20.6433.024; Thu, 1 Jun 2023 13:05:34 +0000 X-Outflank-Mailman: Message body and most headers restored to incoming version X-BeenThere: xen-devel@lists.xenproject.org List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Precedence: list Sender: "Xen-devel" X-Inumbo-ID: 004cf82e-007d-11ee-8611-37d641c3527e DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=citrix.com; s=securemail; t=1685624736; h=from:to:cc:subject:date:message-id:in-reply-to: references:content-transfer-encoding:mime-version; bh=VJSlJaIKoPPgvsYBl22uXLchS+5rz42OA2KQbvnlRFU=; b=YTyaouC08aSWEi161KeJYaM+lM6bhGHUoV8n5WFfEHy1o6G4mwVzUa3F s34ofqfeK/TiOEJgFbUwjVBiy11Esh/ZoP9760PdCSS8WkwVmMoNY1b1K NuMv2fU5hof7tfhT4v6lENxsrWCyRmfJ7i1DkKsLgxGOUYkNWuqSgn0OF 0=; X-IronPort-RemoteIP: 104.47.56.171 X-IronPort-MID: 111630301 X-IronPort-Reputation: None X-IronPort-Listener: OutboundMail X-IronPort-SenderGroup: RELAY_O365 X-IronPort-MailFlowPolicy: $RELAYED IronPort-Data: A9a23:6oETfaCnWmwkRhVW/w/iw5YqxClBgxIJ4kV8jS/XYbTApGgk1jABz mcaW2CEPKzfMTCjKowkOomwoEIHvMOEz4dqQQY4rX1jcSlH+JHPbTi7wuUcHAvJd5GeExg3h yk6QoOdRCzhZiaE/n9BCpC48T8nk/nOHuGmYAL9EngZbRd+Tys8gg5Ulec8g4p56fC0GArIs t7pyyHlEAbNNwVcbCRMs8pvlDs15K6p4G1A5wRlDRx2lAS2e0c9Xcp3yZ6ZdxMUcqEMdsamS uDKyq2O/2+x13/B3fv8z94X2mVTKlLjFVDmZkh+AsBOsTAbzsAG6Y4pNeJ0VKtio27hc+ada jl6ncfYpQ8BZsUgkQmGOvVSO3kW0aZuoNcrLZUj2CA6IoKvn3bEmp1T4E8K0YIwx89OKH1l5 /AjFTEPVCGItuia+rCgc7w57igjBJGD0II3nFhFlGicJtF/BJfJTuPN+MNS2yo2ioZWB/HCa sEFaD1pKhPdfxlIPVRRA5U79AuqriCnL3sE9xTI++xuvDG7IA9ZidABNPLPfdOHX4NNl1uwr WPa5WXpRBodMbRzzBLcqyvy3beUxXqTtIQ6EI28z6A1jHmq2TJCMUAXdV2ymePklRvrMz5YA wlOksY0loAi+UruQtTjUhmQpH+fogVaS9dWC/c96gyG1uzT+QnxLmoOQyNFadcmnNQrXjFs3 ViM9/v2ARR/vbvTTmiSnop4thu3MCkRaGQFPCkNSFJc58G5+d5qyBXSUtxkDai5yMXvHi39y CyLqy54gKgPickM1OOw+lWvby+Qm6UlhzUdvm3/Nl9JJCsjDGJ5T+REMWTm0Ms= IronPort-HdrOrdr: A9a23:bBqjx6sVyPVT9PMsL7V9Apbo7skDsNV00zEX/kB9WHVpm6yj+v xG/c5rsSMc7Qx6ZJhOo7+90cW7L080lqQFhLX5X43SPzUO0VHARO1fBO3ZogEIcxeUygc379 YDT0ERMr3N5VgRt7eG3CCIV+wO7fPC2pqO7N2uqEuET2tRGt1dB9ESMHflLqV0LjM2e6bQDP Cnl6x6T6LLQwVsUiy8bEN1JtQq97Xw5erbiQdtPW9d1DWz X-Talos-CUID: 9a23:waFGbm2rsg0wj4W/92kHXrxfJ+kcW2H23nvrHk66M1diebe5c12LwfYx X-Talos-MUID: 9a23:LaqLawQDt016gE3zRXTotDVbaphkx52xVhE0zJQmvcC8L3FvbmI= X-IronPort-AV: E=Sophos;i="6.00,210,1681185600"; d="scan'208";a="111630301" ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=E8TAHZ56SXzkWbisjomQ8P/3nAEwLj1miAQWtQUXNMRorH1a0+GS2tnc9+tz8jjjwye/poEwdsv84m4EOiHSApv1IygsFm3m1pbY7pn9k2AuHx9QQKKfl8z8GUv17aCX67Dq+6Z7gYV2GjLhbMFaAVhseOFtKPe9E7uCBwdJxwViNE+LKUBYyjdAZkkMN7HvqQaS4+R0PnQnvtBKSmStI68iVVdkJyWASlb2/NmzfWzkDgPLzSrvTBi7bvvendmgW5Qr96CBczUYjPbYVQOQbZu6sQjWJE/TSqGayOSvLVzZ+YxFeeZJKLj1C1GZtHEnu1pqrznAL1cyHoUrx0rjpQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=M7VopqNXdUxcJxKf8MHX3XuEw2geRVIEfFA9FplnD9E=; b=i3eDJlmPfmi201BA9ptj9OJ1kfcJ2vnv8btkaVYcuxL/sRX0CxkVbaNLCQArk1NvOJ4GgeD4TaQSuINHrjmyO71j9eYIWdp/FCVZYgxurLiVazCxHOqTstQ6j50p4Z60CpeXoIvqZk6lNLNpWHOPFv7J3op8aH3W9tGI5gQ0wUW/QkCjMzqexoWG0nPhNWUHjcPL87o0LKPdxYZio7clArNztSqges1eOXnOOsKetZIyL8winscbVakoGtsPV1CSXOA+FH5+Jtr3gpuq5h8ac7hsJnhBfgd+sCadE6AJ3Z9be/8mgABQ5S2OSnJb2opUsKtAnmJRmP1aATdSE2VTeQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com; dkim=pass header.d=citrix.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=M7VopqNXdUxcJxKf8MHX3XuEw2geRVIEfFA9FplnD9E=; b=BewzPtr3s1eQZjAplDqsSA9q04jG45kP8W7RJ/QJvnMPN17S5fBwuHX3A0vJEGglROhuWUhYdooWk1Kb8yj0mo65UFlq7iINtkBxIBjUUUxj5Hh2UZeB2SHUZu9rtua7qUEyDoowZiU9oeDB1mKXqiXm6o62mrEn80bYfDeX1tU= Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=citrix.com; From: Roger Pau Monne To: xen-devel@lists.xenproject.org Cc: Roger Pau Monne , Jan Beulich , Andrew Cooper , Wei Liu Subject: [PATCH v3 1/3] multiboot2: parse vga= option when setting GOP mode Date: Thu, 1 Jun 2023 15:05:16 +0200 Message-Id: <20230601130518.48874-2-roger.pau@citrix.com> X-Mailer: git-send-email 2.40.0 In-Reply-To: <20230601130518.48874-1-roger.pau@citrix.com> References: <20230601130518.48874-1-roger.pau@citrix.com> Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: LO2P265CA0122.GBRP265.PROD.OUTLOOK.COM (2603:10a6:600:9f::14) To SJ0PR03MB6423.namprd03.prod.outlook.com (2603:10b6:a03:38d::21) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SJ0PR03MB6423:EE_|BY5PR03MB5347:EE_ X-MS-Office365-Filtering-Correlation-Id: f97cdd91-99c8-408e-a412-08db62a0e2b0 X-LD-Processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtAddr,ExtFwd X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: EE0MyN5mS2B7AoRGrrfpj18UFxOcObDP6OfiPqx5D7145n9oP4BzpVBecJOTMHCrU0FOSQOjpQJjXH7Wt1w8EpKVUb/qc3qM4MJUezg8i00BotiBCxgYe+yPWb0+oEQUg9pPQlGRLRZCqOXm+agxWsK3XqSHV0ZCcmwR/HSZ+vc2VEC3uQTvAEaMGjK9XdY/nf+9HFt8pQeIJxTQYYCbjZjBYZZv9r5R+ppLk3WphFtj5L1DToMxeSk7sJFsw0fu0AIx5PISEEmec8qN+qinPsHAwdSIWgIoFOiDAR8yik6R93ID9Y++OMcSh9recVYmwIKffN7G13jLf3oebSTGO+VoT2+qn1c0i/wIc9AalPS7M9ue3bJhbehqs1ThQKP0o1jt4SDd+7Qb9Mn9M3JZxTVskJHc2CsBspDfd6Tsk5qDNNoX3FlzG82i4fAUr9TLtBUgAKyIDvJJV2bVxR/5hQGQpQbMn4e91VrDpN8OzgfOW0UQp3JHXouC3mY50QyJ6ofwWITDzFMre7/+WfXnct/IUlbmmwdluqTaLY25UOC5SHO4xQc3AniRigKY6mfG X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SJ0PR03MB6423.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(4636009)(376002)(396003)(136003)(39860400002)(346002)(366004)(451199021)(83380400001)(66556008)(6506007)(66946007)(66476007)(6916009)(6512007)(26005)(6666004)(1076003)(54906003)(2616005)(186003)(86362001)(6486002)(2906002)(8936002)(5660300002)(478600001)(8676002)(36756003)(82960400001)(4326008)(41300700001)(38100700002)(316002);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?bUNXeHg1VnFVcmJ1ckpjMnpHYThvTTl1Sm9lOEY0RW9jb244QlhTVFZtSDhw?= =?utf-8?B?cGZONXo4M3BNOHZad2xYTHJuTDBOR1dXRjJyS3RoZ3VqL1ROOUFFN0NoeEd0?= =?utf-8?B?OFlhQSsyOWNHOWh5YzI1dDVlTXc1Q1V0cmdRdW8xdzFteFoyUFl6N243N2RF?= =?utf-8?B?M2xxMStFcnVHcE5mR2VybUk0NUVQTVUxTW1TR1cycnFuQWFwMEUxaG5OeGl2?= =?utf-8?B?Y0RtcVlLT2puN1NLaDNidUJjdG0zK1hDdXlhN2tNM3VFNVpFeWozWGhud3FG?= =?utf-8?B?YkxyOHJ6VUxRYVcydzVHb2ZUQVVrcG1oUDZHa1piQk05aW1aRkFqck8rVTJ6?= =?utf-8?B?NHBTbEVNY2YvVGlwSndseUFpdlFBSFZkNEovdjNkYko2R2pCYnpqZ0NtM3Vn?= =?utf-8?B?SFhCcE1rek5OMDkrMzdpOHcwa2F0OWlnOXh6K255QUdvSXdGa0wxWnVzWTI1?= =?utf-8?B?WjQrYVVMUC80aFB2cStXOG4xY1hBMUV0QXk4ZFh5TDllR2NTUHhTMUNIYnBS?= =?utf-8?B?SlNSUUk3cys3d3VmU0pvanFlSWd2eEJ2SE90TS90ankyOEFib2E4WWZtd202?= =?utf-8?B?dGZlSGtqcmt6bVRIaE8wdGNKY0VHN2lNKzFGd0V0NlpWNkV4QWxyY2ZtWjc5?= =?utf-8?B?TW9DL0kramRsbFRPNEdYMGJFQ0RRUllSTjV4aVZtSmNvSjNEcjBHOThiSk52?= =?utf-8?B?UERaWGoyZXFKaGIxWjJ0TEJxTmJ5UlY0RHNTZGxOSGVQUGpld0I3aXlQR0dj?= =?utf-8?B?eVdIUFdaNzVLa05GZ3o3cE5ZeWFndmhnMG80Zk9MaW1IQVJKQVAyUVFTWEl4?= =?utf-8?B?Vk92Ym0wcUFDMjhaOWlINHVoSXBWN2l2YkU3ekVublV2bW03cnptcnZWUUc1?= =?utf-8?B?SjNia21RYkNoNEhOdDBnSVRLRkFiUGJPNHVXSzJ3N0VYOGp3NjY4enYvait1?= =?utf-8?B?ellGMmNrbzhORG00cG00OWRPUU5NcWdMRzVCM0psZGMrY1YzWm5FQUs4K2k1?= =?utf-8?B?Q3paSkZTMTQ5alVENWRSblhkV1UvY3JGeGgvdkxxS2VMa1puUGx6cTFDTUFo?= =?utf-8?B?OS9ieDlNR3lKRHVKZ0VsNW1aZXRhRmE2QkFZbUFvRkttbnpvMVFWUDZncFR5?= =?utf-8?B?RkxhUm5CN1JiZXhaMUd1aTVYNGEyRDNjdG5TVDdqMXdsWURTOS8wbURoS3Ez?= =?utf-8?B?bCsxOE8xRDF3N2J2ZG44M2dZK0FVQ2VPU1E1c3c2WHlIVml1eWtvUkRGMTBU?= =?utf-8?B?enhGZ3UxczcxYVdWMHp4YldWMDZuci9wWk9ZSC8vdjRlWUp1UVRsbHBDUCtv?= =?utf-8?B?cXFlRUx4dENhaTFSUE9FQjhXdHkwTXhkU2s3TFp4czdaZVh0Q3U3MlRWcjJV?= =?utf-8?B?SnRrenFkTWVHMU9pbzEvK3pHcTVBbzQzbnFJOFI2Q1dkU1ZvSUJ3UHpZRk1X?= =?utf-8?B?b1QwZHNCUlIwdXhrOXBKWE1PYWZDRFIzTDk2QWVqV3NiMnA1YkpRWUp2bXk5?= =?utf-8?B?bkdWWS8xanE4SmdmNlhlQzlyVnRnK0w5dDkvK0NDVXE1UmVDWEFlTk1aQUt1?= =?utf-8?B?akhIQUgrYzB0ZjNoOVlqZHo5djltbm11cmRtWDZYejJOeFIvaFAyYzZMWjNh?= =?utf-8?B?K0Nldi9oeVlOd0RVckoyV3RyREpzaFFvT2NEVjRLSzFMalUxb1luWmM5NkpK?= =?utf-8?B?QWg0VVdVSGRJMzB4V08zRlk4LzdnMjFwQVRnSHNwZVhNS2VTNWFoTjlrUWc3?= =?utf-8?B?UE9HTnZmZ2dyQmhRZkp0UHlGSGhGbWRRSFpWZnVHWmZOYmUvK1g4czJGNmtl?= =?utf-8?B?Um1naWV6dVhjT3dSaVhHcEdKOUpWQ1l4a2IxdmY4UWVMS1IzRXQ4ZDcySzdU?= =?utf-8?B?bk4rNWpmMGkzMTExSUdCYS9ERDdoeXIyZlVHV1hsZ0ViSlJWNW9NNEp5djZm?= =?utf-8?B?cHhRa203ZUxrWkRieHVTMWhMN1RZZEhGTTJ5SjJDUGNualNnYVNyN3FqV0pM?= =?utf-8?B?ZExmNS9OUTRnYkhxQnhrUGozK3BmNTlaaFJoaitvOEZnYndobnBFTnpNTWxx?= =?utf-8?B?M1lyYTJ3MW5qNEFyVnNpMWN4SWNmdSswYnhxSDZkZ2pLb2J0OU1sMnlSNnQ3?= =?utf-8?B?blRTR2pKOExEd01meExNdk9rY0JiSUY2eThQaDdQYmh6RVJrT1d1M0NibzEv?= =?utf-8?B?NWc9PQ==?= X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: 0rBDMDZaKbfPrYQfI+FYg82aPTWcUsHFkTY/l56RquOgJPi1JBMRlnFgZMBL20lylKuxuDrwPh5ljgQRMgvN1Pcz/QroIjtxNRkG3zNvkiv7jPUSCmqzl1ysvfHD3OUQJ23tzCKcNCR0wUmwSYm17tmgEvH0zLGZuHxSgDyI4tefeS5EbPYRncWsPpVUlDEXP+EVgM5gCVFf1i0Tjx0+A+V/I+qG2t7i3KpKV0RlJIKrbR5VpBsn45BHH22ezqLGRk/5ZwgsT2qXHAXGE7qKUQbcSav2tKBS72zHLGGMYylIDH4hr9S9+iRfP2E0eG9VcKIO29CTQUxLRT2GYuqZk2zd5P+fEo8C7a90zi2L9oNJ4GeLWwumAEYjzsOM8goTxkE6JFjZT6Q8AczcSnUWtNwZW9LWVEJ00RcO+EpqGprYnRsKTOgR5XIyj/PyXb69EWznD7xi8g6iEf+vcBJWl6MRDblIWSFhRgzVjuzWvPngTw0iUF2QcdzOv4AqBwFjsVItWFebF4OZ6VHOe1zDqvVfA7ONbB9X+fmb1G116h3pvkcJFt6p/vwc/4iyHmYIXfubYz2Ls6kxyHQ27hs+KZZOM3pd7zXDnGNc847Vy0hFKwJgq8Fllrnvh/On5v1v3pXh/qb9t3js2Q8fmR6WpK/YKZccsZgAs7/n9JY7FIDJtpt6fZBR2GC71f9cB2AYUtlkEN8LfaVPvgxfufivYdE/ldU3CMdVZcjHkV8YIcsOtn2T5Kzkl4ghji5FDvGHuMCCseTDiaDFuM1IBH/w7dz8W7fL0s6AaTKw7oCOMDWW4vdO1blb99Gcrq10t7GS X-OriginatorOrg: citrix.com X-MS-Exchange-CrossTenant-Network-Message-Id: f97cdd91-99c8-408e-a412-08db62a0e2b0 X-MS-Exchange-CrossTenant-AuthSource: SJ0PR03MB6423.namprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 01 Jun 2023 13:05:34.3158 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: c6aN9hYmRcqUdhOXnWkyutB9xy4vWvi2phZGfAaT3qFgYerL1SB2sUa6skhwT6/3lTazQmBrsnrcLgvReTXJtA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: BY5PR03MB5347 X-ZohoMail-DKIM: pass (identity @citrix.com) X-ZM-MESSAGEID: 1685624810484100001 Introduce support for passing the command line to the efi_multiboot2() helper, and parse the vga=3D option if present. Add support for the 'gfx' and 'current' vga options, ignore the 'keep' option, and print a warning message about other options not being currently implemented. Signed-off-by: Roger Pau Monn=C3=A9 --- Changes since v2: - Do not parse console=3D. - Allow width or height to be 0 as long as the gfx- option is well formed. Changes since v1: - Do not return the last occurrence of a command line. - Rearrange the code for assembly processing of the cmdline and use lea. - Merge patches handling console=3D and vga=3D together. --- xen/arch/x86/boot/head.S | 13 ++++++- xen/arch/x86/efi/efi-boot.h | 61 ++++++++++++++++++++++++++++++- xen/arch/x86/x86_64/asm-offsets.c | 1 + 3 files changed, 71 insertions(+), 4 deletions(-) diff --git a/xen/arch/x86/boot/head.S b/xen/arch/x86/boot/head.S index 09bebf8635d0..aa443574d26f 100644 --- a/xen/arch/x86/boot/head.S +++ b/xen/arch/x86/boot/head.S @@ -226,9 +226,10 @@ __efi64_mb2_start: jmp x86_32_switch =20 .Lefi_multiboot2_proto: - /* Zero EFI SystemTable and EFI ImageHandle addresses. */ + /* Zero EFI SystemTable, EFI ImageHandle addresses and cmdline. */ xor %esi,%esi xor %edi,%edi + xor %edx,%edx =20 /* Skip Multiboot2 information fixed part. */ lea (MB2_fixed_sizeof+MULTIBOOT2_TAG_ALIGN-1)(%rbx),%ecx @@ -266,6 +267,13 @@ __efi64_mb2_start: cmove MB2_efi64_ih(%rcx),%rdi je .Lefi_mb2_next_tag =20 + /* Get command line from Multiboot2 information. */ + cmpl $MULTIBOOT2_TAG_TYPE_CMDLINE,MB2_tag_type(%rcx) + jne .Lno_cmdline + lea MB2_tag_string(%rcx),%rdx + jmp .Lefi_mb2_next_tag +.Lno_cmdline: + /* Is it the end of Multiboot2 information? */ cmpl $MULTIBOOT2_TAG_TYPE_END,MB2_tag_type(%rcx) je .Lrun_bs @@ -329,7 +337,8 @@ __efi64_mb2_start: =20 /* * efi_multiboot2() is called according to System V AMD64 ABI: - * - IN: %rdi - EFI ImageHandle, %rsi - EFI SystemTable. + * - IN: %rdi - EFI ImageHandle, %rsi - EFI SystemTable, + * %rdx - MB2 cmdline */ call efi_multiboot2 =20 diff --git a/xen/arch/x86/efi/efi-boot.h b/xen/arch/x86/efi/efi-boot.h index c94e53d139a3..003ef037bf07 100644 --- a/xen/arch/x86/efi/efi-boot.h +++ b/xen/arch/x86/efi/efi-boot.h @@ -786,7 +786,30 @@ static bool __init efi_arch_use_config_file(EFI_SYSTEM= _TABLE *SystemTable) =20 static void __init efi_arch_flush_dcache_area(const void *vaddr, UINTN siz= e) { } =20 -void __init efi_multiboot2(EFI_HANDLE ImageHandle, EFI_SYSTEM_TABLE *Syste= mTable) +/* Return the first occurrence of opt in cmd. */ +static const char __init *get_option(const char *cmd, const char *opt) +{ + const char *s =3D cmd, *o =3D NULL; + + if ( !cmd || !opt ) + return NULL; + + while ( (s =3D strstr(s, opt)) !=3D NULL ) + { + if ( s =3D=3D cmd || *(s - 1) =3D=3D ' ' ) + { + o =3D s + strlen(opt); + break; + } + + s +=3D strlen(opt); + } + + return o; +} + +void __init efi_multiboot2(EFI_HANDLE ImageHandle, EFI_SYSTEM_TABLE *Syste= mTable, + const char *cmdline) { EFI_GRAPHICS_OUTPUT_PROTOCOL *gop; EFI_HANDLE gop_handle; @@ -807,7 +830,41 @@ void __init efi_multiboot2(EFI_HANDLE ImageHandle, EFI= _SYSTEM_TABLE *SystemTable =20 if ( gop ) { - gop_mode =3D efi_find_gop_mode(gop, 0, 0, 0); + const char *last =3D cmdline; + unsigned int width =3D 0, height =3D 0, depth =3D 0; + bool keep_current =3D false; + + while ( (last =3D get_option(last, "vga=3D")) !=3D NULL ) + { + if ( !strncmp(last, "gfx-", 4) ) + { + width =3D simple_strtoul(last + 4, &last, 10); + if ( *last =3D=3D 'x' ) + height =3D simple_strtoul(last + 1, &last, 10); + if ( *last =3D=3D 'x' ) + depth =3D simple_strtoul(last + 1, &last, 10); + if ( *last !=3D ' ' && *last !=3D '\t' && *last !=3D '\0' = && + *last !=3D ',' ) + width =3D height =3D depth =3D 0; + keep_current =3D false; + } + else if ( !strncmp(last, "current", 7) ) + keep_current =3D true; + else if ( !strncmp(last, "keep", 4) ) + { + /* Ignore. */ + } + else + { + /* Fallback to defaults if unimplemented. */ + width =3D height =3D depth =3D 0; + keep_current =3D false; + PrintStr(L"Warning: Cannot use selected vga option.\r\n"); + } + } + + if ( !keep_current ) + gop_mode =3D efi_find_gop_mode(gop, width, height, depth); =20 efi_arch_edid(gop_handle); } diff --git a/xen/arch/x86/x86_64/asm-offsets.c b/xen/arch/x86/x86_64/asm-of= fsets.c index 287dac101ad4..fbd6c54188db 100644 --- a/xen/arch/x86/x86_64/asm-offsets.c +++ b/xen/arch/x86/x86_64/asm-offsets.c @@ -175,6 +175,7 @@ void __dummy__(void) OFFSET(MB2_mem_lower, multiboot2_tag_basic_meminfo_t, mem_lower); OFFSET(MB2_efi64_st, multiboot2_tag_efi64_t, pointer); OFFSET(MB2_efi64_ih, multiboot2_tag_efi64_ih_t, pointer); + OFFSET(MB2_tag_string, multiboot2_tag_string_t, string); BLANK(); =20 OFFSET(DOMAIN_vm_assist, struct domain, vm_assist); --=20 2.40.0 From nobody Sat May 4 16:48:17 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) client-ip=192.237.175.120; envelope-from=xen-devel-bounces@lists.xenproject.org; helo=lists.xenproject.org; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; arc=pass (i=1 dmarc=pass fromdomain=citrix.com); dmarc=pass(p=reject dis=none) header.from=citrix.com ARC-Seal: i=2; a=rsa-sha256; t=1685624774; cv=pass; d=zohomail.com; s=zohoarc; b=lzcJrdryeEisM2TB8JktnO5e4WMYB7DQlJ831w5RjP6EKsORYgaApEoaV6wCewFHQqBHEvqd1X8fO3KuUols3wxMkvB73LcxvnjxjEEhGNfWoQBJ7UJCKNmsMiLxDd1+Svx1/9YWb0Xl9ySTmUtVPAlakNBCSnuwAERD+cvvR1U= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1685624774; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=acbPmQOHVXpOvt2zjOfNJijiZJW8uhg4HOcOyYQ+YRY=; b=VrZX3xVs5ZfouCe1zaPVb0z3E+HejEv19fIZv229SJOrR2iZnyR++Y0E70xy/uNA6bSGxaTWSHlsAA49FOg6U7+cdU/Gr1s4XBH3vvdwsVcfqo94ZzqAHyU/SWwAI5iTmq7gXCz4TSBBxMklf2g+FD5TSfi/67XuVdBXGU82GOA= ARC-Authentication-Results: i=2; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; arc=pass (i=1 dmarc=pass fromdomain=citrix.com); dmarc=pass header.from= (p=reject dis=none) Return-Path: Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) by mx.zohomail.com with SMTPS id 1685624774282649.7641355330134; Thu, 1 Jun 2023 06:06:14 -0700 (PDT) Received: from list by lists.xenproject.org with outflank-mailman.542474.846387 (Exim 4.92) (envelope-from ) id 1q4hzv-0007hX-JO; Thu, 01 Jun 2023 13:05:47 +0000 Received: by outflank-mailman (output) from mailman id 542474.846387; Thu, 01 Jun 2023 13:05:47 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1q4hzv-0007hO-GC; Thu, 01 Jun 2023 13:05:47 +0000 Received: by outflank-mailman (input) for mailman id 542474; Thu, 01 Jun 2023 13:05:46 +0000 Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50] helo=se1-gles-flk1.inumbo.com) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1q4hzu-000791-TG for xen-devel@lists.xenproject.org; Thu, 01 Jun 2023 13:05:46 +0000 Received: from esa1.hc3370-68.iphmx.com (esa1.hc3370-68.iphmx.com [216.71.145.142]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS id 04ac05f0-007d-11ee-8611-37d641c3527e; Thu, 01 Jun 2023 15:05:44 +0200 (CEST) Received: from mail-co1nam11lp2175.outbound.protection.outlook.com (HELO NAM11-CO1-obe.outbound.protection.outlook.com) ([104.47.56.175]) by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256; 01 Jun 2023 09:05:42 -0400 Received: from SJ0PR03MB6423.namprd03.prod.outlook.com (2603:10b6:a03:38d::21) by BY5PR03MB5347.namprd03.prod.outlook.com (2603:10b6:a03:218::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6455.23; Thu, 1 Jun 2023 13:05:41 +0000 Received: from SJ0PR03MB6423.namprd03.prod.outlook.com ([fe80::192:6bdf:b105:64dd]) by SJ0PR03MB6423.namprd03.prod.outlook.com ([fe80::192:6bdf:b105:64dd%3]) with mapi id 15.20.6433.024; Thu, 1 Jun 2023 13:05:40 +0000 X-Outflank-Mailman: Message body and most headers restored to incoming version X-BeenThere: xen-devel@lists.xenproject.org List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Precedence: list Sender: "Xen-devel" X-Inumbo-ID: 04ac05f0-007d-11ee-8611-37d641c3527e DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=citrix.com; s=securemail; t=1685624743; h=from:to:cc:subject:date:message-id:in-reply-to: references:content-transfer-encoding:mime-version; bh=2n4arSTk5wOc7VPil1Qh67QOY54kclXss/Gd1eaIT84=; b=HlUFtaGJGvRgRZWVHAA3HTH9Iv7o0U0r0yDTSKyRHRzeyXR+LZzv1Twy REWeNSXWQ2gQES1ek+PquAvt5S9g2AQk+cmtoue+4ZSdmkV/UdvNuKDU9 wH3UgsZ7a9jdEuKJRiCDJiGT/84INuSJFdbBau1MrCLVcGPAA7gDlFSx7 Q=; X-IronPort-RemoteIP: 104.47.56.175 X-IronPort-MID: 111630318 X-IronPort-Reputation: None X-IronPort-Listener: OutboundMail X-IronPort-SenderGroup: RELAY_O365 X-IronPort-MailFlowPolicy: $RELAYED IronPort-Data: A9a23:NIAHTqzQXJ+7ggatqHN6t+cRxyrEfRIJ4+MujC+fZmUNrF6WrkUFy mcdD2nSbP7ZNjP8KtoiO9zl8RkCuZ6BnIVqSQA+qCAxQypGp/SeCIXCJC8cHc8wwu7rFxs7s ppEOrEsCOhuExcwcz/0auCJQUFUjP3OHfykTrafYEidfCc8IA85kxVvhuUltYBhhNm9Emult Mj75sbSIzdJ4RYtWo4vw/zF8EsHUMja4mtC5QRgPakT5zcyqlFOZH4hDfDpR5fHatE88t6SH 47r0Ly/92XFyBYhYvvNfmHTKxBirhb6ZGBiu1IOM0SQqkEqSh8ai87XAME0e0ZP4whlqvgqo Dl7WT5cfi9yVkHEsLx1vxC1iEiSN4UekFPMCSDXXcB+UyQq2pYjqhljJBheAGEWxgp4KUwS0 fcjNT8zVDqoo/iy7LSrZK50ne12eaEHPKtH0p1h5RfwKK9/BLvkGuDN79Ie2yosjMdTG/qYf 9AedTdkcBXHZVtIJ0sTD5U92uyvgxETcRUB8A7T+fVxvjaVlVMsuFTuGIO9ltiiX8Jak1zev mvb12/4HgsbJJqUzj/tHneE37aWw3ijA9tCfFG+3sZxo0WOnCs1MhkLCX/8h76AiVa8Y+sKf iT4/QJr98De7neDXtT7GhG1vnOAlhodQMZLVf037hmXzajZ6BrfAXILJhZDYtE7sM49RRQxy 0SE2djuAFRHr7m9WX+bsLCOoluP1TM9KGYDYWoPSlID6ty6+YUr1EuQE5BkDbK/icDzFXfo2 TeWoSMihrIVy8kWy6G8+lOBiDWpznTUcjMICszsdjrNxmtEiESNPORENXCzAS58Ebuk IronPort-HdrOrdr: A9a23:U1H52K/Rb0+nZ4nv6sZuk+C7I+orL9Y04lQ7vn2ZKCY0TiX8ra uTdZsguCMc5Ax6ZJhCo7G90de7Lk80nKQdibX5Vo3PYOCJggWVEL0= X-Talos-CUID: =?us-ascii?q?9a23=3AXJ8zdmvdWRy9gSpIsYDcSOnG6IsILlnW92rfHXW?= =?us-ascii?q?SIkJzTJGTWXHX4LhNxp8=3D?= X-Talos-MUID: =?us-ascii?q?9a23=3AiD3Hiw0VmtDthnDaEU/45BrWzjUj27+NEF1X1rM?= =?us-ascii?q?8v9TYEWtWfA6elDaPe9py?= X-IronPort-AV: E=Sophos;i="6.00,210,1681185600"; d="scan'208";a="111630318" ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=ZdFP7Y4KfV+NDzPLGrYPLd3tIQIw9IhQg3Yt0C2jGP7Hi8sdafseRjTGTiVl7NfuxYYqYBwuTMgr4Am769ufQ4wrwf+HO+wD44d/3BX7QG6YdAjgsIk2qW7oIWBxCnDGJCecAEOyFyT3u1jNgQeMcQdfzRQR6GpmiWJ2R4gcYdNrB74qfsm1mNid/DSU39+4izrFHOMuex06IHmxfAJnpo8lNCgyqifgQhK/iRzMLqgpk0b6JDaW5n0CPx9zF7KBOmtNtNgww8CbAnEL753EXy/FR3sqFayWAPaL7sCCSzouv49HB+7P1xeGZ2/ycgn668ZyoAOpHEGmBuOswsp7EQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=acbPmQOHVXpOvt2zjOfNJijiZJW8uhg4HOcOyYQ+YRY=; b=UaLR9SfeSKKw0YbAec20gg/R/NGc5xZKGYgSnj5y1Rxag7tuGs3v0FER87TpePVPbzgfxu9dZP0I4FFgJUcJcQh5x20svgcB7aO8cz1r67quAasVZf5qE4CxErAkGgr4slIaihjcHG5fBHAjmDZK7tZxfoNSZz1Jfo+1oCDpTUHSz2xtcVFd3Jj+in46dQNvrOGoNzzTkz4KiMzgl+yy0CdxNzIzPB/VqDjdoLqdHy1hY4cyw4PLHqBWcwqVgOxjt1ITbQY8BJRwKAIhwqwhNl5D/1o0JQ9DRYRpzTb7MNLF8xoKArqpUESoWKjmEEzk8PojR1YEZI5umEzIp/W1OA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com; dkim=pass header.d=citrix.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=acbPmQOHVXpOvt2zjOfNJijiZJW8uhg4HOcOyYQ+YRY=; b=YNh3q+3stYWEbKxGJlxFnptpKng2ulBvt4icQN/t8ZhKEPWa6BSlwjOHVgmu1v8+2CBa/z+rXeepxPQ3ycrRMXwlm3nbUqlqp40jzVWn6caHsmF+l45ZLXfRLcti5M7ykOUlLA0nvZH7bgFt1Hr6Q+bHulS5Sl5NTwhr67+fX1g= Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=citrix.com; From: Roger Pau Monne To: xen-devel@lists.xenproject.org Cc: Roger Pau Monne , Jan Beulich , Andrew Cooper , Wei Liu Subject: [PATCH v3 2/3] multiboot2: do not set StdOut mode unconditionally Date: Thu, 1 Jun 2023 15:05:17 +0200 Message-Id: <20230601130518.48874-3-roger.pau@citrix.com> X-Mailer: git-send-email 2.40.0 In-Reply-To: <20230601130518.48874-1-roger.pau@citrix.com> References: <20230601130518.48874-1-roger.pau@citrix.com> Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: LO2P265CA0274.GBRP265.PROD.OUTLOOK.COM (2603:10a6:600:a1::22) To SJ0PR03MB6423.namprd03.prod.outlook.com (2603:10b6:a03:38d::21) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SJ0PR03MB6423:EE_|BY5PR03MB5347:EE_ X-MS-Office365-Filtering-Correlation-Id: 13ae71b5-56d6-459a-ee07-08db62a0e630 X-LD-Processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtAddr,ExtFwd X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 63UdwiJ1BfwMcMUnQegRv/Yzb4xrnaM2F+VGfruMePiq1PRQxr+YuEZKbV4Ac/5V7AMYxXFEGX3WJnOi9OFEaX7Us0LNTaMbOyNilc/Xbt/13Md1sBkxaDOyp7KzPYVg59g2k9wx89VXHmeGOkBc77JCjqH9Q4vBw7b43JN17RoDTBA0YQBNJtOjk5PH7ZQxM/oVSXGO9N4VJ0zTD1zsU20Q9TtXuUwRGjqEXurQdR1iJKopAQnyk1GXH63LDw1lzpdLlGG/+Uz4zpJbE4LJ2SjoSpEBbzvZDaPRDr5no0x71XlOSWDJ3wIgucTOAS9kexck0cZ0OuRI4cea5rBdioNoxr0ppp0tSDHrz1EAJEIf7pmLJKy/Ou/HiTvJbaXE8TIm3kZUyLjibqviXmHPpAMHtaDDTXmatwhf+mpwaCPJBoBkUR3rMoQwzT11/V8P5nT71qRTp+7iSH6lrYOdAG2MulTDcgSmMGSCsbAX2e+aTaWxrzJE+A9Je1MIQN0pUvBvVuFHwnvxw73hVBCBfpssQFN2GEiHSqWUqVNuFFd6Yut3SkEMRQP2x0uoKe4J X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SJ0PR03MB6423.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(4636009)(376002)(396003)(136003)(39860400002)(346002)(366004)(451199021)(83380400001)(66556008)(6506007)(66946007)(66476007)(6916009)(6512007)(26005)(6666004)(1076003)(54906003)(2616005)(186003)(86362001)(6486002)(2906002)(8936002)(5660300002)(478600001)(8676002)(36756003)(82960400001)(4326008)(41300700001)(38100700002)(316002);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?VU9EbnZCdlM2WmloNjFKQ3FyekI2MFpINEV1c3hjYWpvNjZGdTBtN2kzNk5u?= =?utf-8?B?MHZyZUtwamtPRTVyL1FZb1FCVzRjbzRKSEt3Yk5hTjl6NVQ0eTR3eVcveGNB?= =?utf-8?B?MTV6UDZaaDJleUdvSk1mMkg1ZzRxM09GLzJXNFJDaEZTb3RFN0xVbTR6UDAv?= =?utf-8?B?V25OWmVrOG1jZE9DUU4vUlR2SWhZMVZLZ0J5WUt5ZGpyUi9zc1FVei85ODBn?= =?utf-8?B?Y3pkdEpZem5CWUtwcUI1RkVsUmJRQllSN3RaUG90M2RtZno3aVh4Vzlsclhw?= =?utf-8?B?U2lnZ0FWY1lVNTRlOVdCSjBGQm53OU1YTFBmM3AxK0VveXBPbUgvNlJkMEdI?= =?utf-8?B?RlFTM1RubEZ1NGNOR1R0SmU0TmRseWRVNEZNVlBET1J3dFZlYnVPRm1nUGoy?= =?utf-8?B?VjJQMEJ5WGpXakVWdE0wZEJDaE9adlFMTXZWYVZaUDlvbE8za1ZXY3lRMkx3?= =?utf-8?B?UlRPaUtjVU9PdDBPQU1LNzJjOCszZmgrbUNjM0Z4c0hPd0lSQTFORTU1L01Q?= =?utf-8?B?Vk1zRGNRS0JBam5aaDh5WFJmbk5lazFNMy8zdldodHhQb1AwdXFJdm8xbFRB?= =?utf-8?B?R043L25Fb0ovOEo4OEljVTJMemVOOVlYU0hUa285T3RYT2Y5WmR2UlRzMWtl?= =?utf-8?B?WllCbytYbU4ySWtDNzlycWtMSWU1TEVOUVNObER3ZW5WS1FpeVo0dHJxSnQw?= =?utf-8?B?cUhJMDRSQk5oQ0QvVmFhckRZY0Qybmt5Z1ZNdUl1aENzM3JEbmJHa1Q4M0NJ?= =?utf-8?B?MUkwbDNmaDcyelFBcHd1SXdaS2ZObUlWdU8zdGJTTG51VG1zUnNzVFVpVU9F?= =?utf-8?B?R3hwUzNrOUUxc2w0Mlh4NEt2cDYxUVBaaFk5YnlabWJnT2o4WWJPMThkVWhO?= =?utf-8?B?eWNrYWxuaGpiOXFyR1NzK25zbXI2M3RGbFZoZFZ4QzVzT3dmS1hEeVJhdzNr?= =?utf-8?B?UFZSOXIxbmJjdFozenpuQlpkVC9RVXFob1VMYkxJaDhzOGRVa3RkblptZHhL?= =?utf-8?B?dmQ0aHlQUG9KVFRWK2wwbTdTSjdhRVY2SFRlUExoNW4zNW9NSHVoMzlhQ1dw?= =?utf-8?B?dVpvSmpoMEk3NndsSHpmSjd2UjYxNXlVUkgvY3R5RVh6YnJqb2cxZUxSOTEv?= =?utf-8?B?V0JnTEY3WVRVRnpHdjVwWHA3ZzJuY2o0S0hsMEdYSHdSY3hONW1wSkhlQ0xN?= =?utf-8?B?T0tzY3JEV0JTczd5RVFtS2Z0VVBkNk5JdXJ4V2pvd0UwSlhtKzFtMGpxbmJk?= =?utf-8?B?azA5UU45azNEbWlFM002dUcvSzBhK1hBRWpQeWlZMFZBWHV4OG1JeThZNHB5?= =?utf-8?B?MmVCRktCYVdLSC9NakZyQnhTT2VEQ0FMWkJ6dHZvMnh6Q0pxdTlmWWxZbitX?= =?utf-8?B?ZmdrZ2dDa29kM0Q1N2JuMDc2KzBCb3NvbDZRMlBCdTBRd3N1R1dDQUt5Yld5?= =?utf-8?B?bUl2QVE3WEhpVTlJMzdLakRJNFcyNUNkNTMrV2l3NFFhRXI0cUJ5WURwMHY5?= =?utf-8?B?cWd2dCtxR3BJdy8rOFdvY2o5NVV4aStmelhsejZOK3IwMW9uUjMwbHhzaW4y?= =?utf-8?B?M0ZlQ1RXUUxjd2NqTFBZRDdHZHJaZytRSllsMHIrRXlQeTQzZHR3d0pJd1Z3?= =?utf-8?B?UmlSUThieTVlWktma1FCVUk2SGdWYjZPZkR1anBBQ0ZjUHNwVjVZNjRsVXNQ?= =?utf-8?B?N0R0aldUeGU5a09aQ0J1QmRCWTVTVm1lYmswSVBLR1ViVVpXNFE5SHpsY2pE?= =?utf-8?B?Rk1naGpIUlBja01jNlhUZkpNQmpjSDRPbUVaSU9LYmN1Ym1LSS9Ma3FPSnlw?= =?utf-8?B?WjFXMVgxRmorVVM3S1BDaElpWXEvTmNDaVVPSjA4NFVTQUNBUmxkNFlGY1hK?= =?utf-8?B?OVQ0b2dSOGtveDMrT2w0YWJSanlLSDRIdGw4WC8xMnRKeVFSZzcxNURFaTEx?= =?utf-8?B?M25ITjVmNUl5WXdFc203Nzlab09PdkNnWWJxa1Z2S3YrcWc5bGJPODV2cGZL?= =?utf-8?B?YWFZaElHWG1pd21OZmgxYmJHSlRFRHgvV2hObUhMNDdZeFZiN0RmTC9hclBR?= =?utf-8?B?alNneGpvOXJOTWo5Njh2T2d5ekZDVmVlTlduNzRzL1BpYWgvUUpBZkZzSFRr?= =?utf-8?B?bGkyNmRPN0l1OGcvbGs4bDBLeWprU294bm00T2ZUVEV0VHA3RFZTa00rUmVm?= =?utf-8?B?TWc9PQ==?= X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: vHlw5jpgioz598SzX6YV7Qvz20IQ7BBIxFEn/HYVXsTL5FWfjLu15x9Pgv8zAOFBdsO4TijaCtzK/336rnh4VWt7btMpD2Cf15pOMkRob+O8biLGZIoZCCPbDurmnwTfVFC7oWdgLyfDCGBFiRshdoOzKImgdtfQDngiuinrnxbgoL0m8q+MUmT350KExhgZaNiajQgSu+2W46bOQUu7WyvfquBm1pYGgLh/vdbs6nC/tDJUnb37owNNjn2gQoXr/+8/8p5gf9KOPZUrBFCHP9o/+oCS2SVszqQffKJS0OqX9UgCzsPhb6ZNqZ+IN+jgqq0nx2qh1eu5PxYrpFXQOluRCVQLCoEctnbQnhSmrEns/yKfgyMXsa4MPXd+WOEiJFWhiInythg25k27lcCxMZcrwaY8xOzf6v+DbTBmZWJUNM7LaXRTdjnYVoyMfQ96E50hVyvdg5PUWT8CJKLdp2jedSLxT/Os0hpEMAOGqfNb0W8UkVHMO/RF6LKvfYAFoklzqezNV9TivBIb6qxmkh+g/BW8XgfFIo5PbxAh5SJgqpBjqltg46LHlabMevEM7wcnzpBn5jI12LekWD7t9slyYp0n3TEiPvxeVToiJBT/koeSF9BZN+fAD9kpQh5FCQiWy6AjgXntI2ThbKdMv0Hc1ga/oYSYy4PBzXzbzx2f9B/0M9l4dvKzbCMNm3CSddYAiB2um6wDHJsPmGHUAbysZiInRUQUxus/fTNQ+ixljlXeIkogcrLTzWC7b2mRX0rHSDSYUBzjQMYGVZ4f0VXarbQuCaVZe5ZBbqKOmMZYk/6WPfSkjskK/H8NMpYN X-OriginatorOrg: citrix.com X-MS-Exchange-CrossTenant-Network-Message-Id: 13ae71b5-56d6-459a-ee07-08db62a0e630 X-MS-Exchange-CrossTenant-AuthSource: SJ0PR03MB6423.namprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 01 Jun 2023 13:05:40.2056 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: xRY98+i0MpgKWAaI4sHeg6W1oeMN3t8NFgssOeX5Ooy/Ow3AtNRBezt4DM5zWz5rRWeW3ZhzLqQ3g7ixCYv/rw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: BY5PR03MB5347 X-ZohoMail-DKIM: pass (identity @citrix.com) X-ZM-MESSAGEID: 1685624818819100001 Only initialize StdOut if the current StdOut mode is unusable. This avoids forcefully switching StdOut to the maximum supported resolution, and thus very likely changing the GOP mode without having first parsed the command line options. Signed-off-by: Roger Pau Monn=C3=A9 Reviewed-by: Jan Beulich --- The code is very similar to the approach suggested by Jan, please let me know if you would be OK with your suggested-by tag added. --- Changes since v2: - Use approach suggested by Jan. Changes since v1: - New in this version. --- xen/arch/x86/efi/efi-boot.h | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/xen/arch/x86/efi/efi-boot.h b/xen/arch/x86/efi/efi-boot.h index 003ef037bf07..5314f4293b12 100644 --- a/xen/arch/x86/efi/efi-boot.h +++ b/xen/arch/x86/efi/efi-boot.h @@ -820,7 +820,13 @@ void __init efi_multiboot2(EFI_HANDLE ImageHandle, EFI= _SYSTEM_TABLE *SystemTable =20 efi_init(ImageHandle, SystemTable); =20 - efi_console_set_mode(); + if ( StdOut->QueryMode(StdOut, StdOut->Mode->Mode, + &cols, &rows) !=3D EFI_SUCCESS ) + /* + * If active StdOut mode is invalid init ConOut (StdOut) to the max + * supported size. + */ + efi_console_set_mode(); =20 if ( StdOut->QueryMode(StdOut, StdOut->Mode->Mode, &cols, &rows) =3D=3D EFI_SUCCESS ) --=20 2.40.0 From nobody Sat May 4 16:48:17 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) client-ip=192.237.175.120; envelope-from=xen-devel-bounces@lists.xenproject.org; helo=lists.xenproject.org; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; arc=pass (i=1 dmarc=pass fromdomain=citrix.com); dmarc=pass(p=reject dis=none) header.from=citrix.com ARC-Seal: i=2; a=rsa-sha256; t=1685624779; cv=pass; d=zohomail.com; s=zohoarc; b=DXIINonrYsak3laT5fdCt9xva3kHzFyGJ6wQ60OnyxrQSkD+4mKIRcUs5MP10KBZqNBfiB/uVhjJLOTSw+tSYLRnRVJ/aDHneJQe8nKKd70koqbci9Bu4yO9M0A6kRAfUvKyWBwsaKP7PjL2M4kYD+sH2NKWzG76LLQEWPqnZA4= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1685624779; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=5KbyhxApTsmQyQClBvfFt4PODwfZzCgM7GeO38igh0w=; b=en/6gUslqes0PrxLUhe0AMshZyPTlYESQZDv5mXGh7YoJl0NA2BxWf890z80CVQE/Dgw4b/Qqsw/cdOmWVfW/N+PnDtG1QA1CYjNk1tTCtSeI8F2b/d2I595bsop96/M/slRgdI/H0MzOz4SNSoNHkDMHLEZCxXaR1ZoOby5HZ4= ARC-Authentication-Results: i=2; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; arc=pass (i=1 dmarc=pass fromdomain=citrix.com); dmarc=pass header.from= (p=reject dis=none) Return-Path: Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) by mx.zohomail.com with SMTPS id 1685624779900253.90106161164772; Thu, 1 Jun 2023 06:06:19 -0700 (PDT) Received: from list by lists.xenproject.org with outflank-mailman.542475.846397 (Exim 4.92) (envelope-from ) id 1q4i00-00081w-Sh; Thu, 01 Jun 2023 13:05:52 +0000 Received: by outflank-mailman (output) from mailman id 542475.846397; Thu, 01 Jun 2023 13:05:52 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1q4i00-00081p-Pe; Thu, 01 Jun 2023 13:05:52 +0000 Received: by outflank-mailman (input) for mailman id 542475; Thu, 01 Jun 2023 13:05:51 +0000 Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50] helo=se1-gles-flk1.inumbo.com) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1q4hzz-000791-Bo for xen-devel@lists.xenproject.org; Thu, 01 Jun 2023 13:05:51 +0000 Received: from esa1.hc3370-68.iphmx.com (esa1.hc3370-68.iphmx.com [216.71.145.142]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS id 07495e7c-007d-11ee-8611-37d641c3527e; Thu, 01 Jun 2023 15:05:49 +0200 (CEST) Received: from mail-co1nam11lp2174.outbound.protection.outlook.com (HELO NAM11-CO1-obe.outbound.protection.outlook.com) ([104.47.56.174]) by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256; 01 Jun 2023 09:05:46 -0400 Received: from SJ0PR03MB6423.namprd03.prod.outlook.com (2603:10b6:a03:38d::21) by BY5PR03MB5347.namprd03.prod.outlook.com (2603:10b6:a03:218::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6455.23; Thu, 1 Jun 2023 13:05:46 +0000 Received: from SJ0PR03MB6423.namprd03.prod.outlook.com ([fe80::192:6bdf:b105:64dd]) by SJ0PR03MB6423.namprd03.prod.outlook.com ([fe80::192:6bdf:b105:64dd%3]) with mapi id 15.20.6433.024; Thu, 1 Jun 2023 13:05:46 +0000 X-Outflank-Mailman: Message body and most headers restored to incoming version X-BeenThere: xen-devel@lists.xenproject.org List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Precedence: list Sender: "Xen-devel" X-Inumbo-ID: 07495e7c-007d-11ee-8611-37d641c3527e DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=citrix.com; s=securemail; t=1685624747; h=from:to:cc:subject:date:message-id:in-reply-to: references:content-transfer-encoding:mime-version; bh=YiFXxxhSMY7woCbFVIdA3BMiFbtD4MR4evhag1LgFWQ=; b=DB4C2g/FifApaF7tJ6IR9ESLp0mfd9woBng//OqNkG5renA/zNXIwOYK jr3bN6FzwanXBWRQJijb1LhKW/ETY3ajcINMa2SwhPqHwar38vHL7U9rf 7W2T2hNCpAEiAyPRR7llFKf6HbHuB5h3zpPPHo9p7nYKwIKmemg4uQw2N E=; X-IronPort-RemoteIP: 104.47.56.174 X-IronPort-MID: 111630327 X-IronPort-Reputation: None X-IronPort-Listener: OutboundMail X-IronPort-SenderGroup: RELAY_O365 X-IronPort-MailFlowPolicy: $RELAYED IronPort-Data: A9a23:rxmOO6q/FUQE9DJJWRLGShzK2YVeBmLWZBIvgKrLsJaIsI4StFCzt garIBmPPKyLNjPyed9wbtuy/U4H75GDnNJrQAZs/isxES8T9puZCYyVIHmrMnLJJKUvbq7FA +Y2MYCccZ9uHhcwgj/3b9ANeFEljfngqoLUUbKCYWYpA1c/Ek/NsDo788YhmIlknNOlNA2Ev NL2sqX3NUSsnjV5KQr40YrawP9UlKq04GtwUmAWP6gR5weAzyBNV/rzGInqR5fGatgMdgKFb 76rIIGRpgvx4xorA9W5pbf3GmVirmn6ZFXmZtJ+AsBOszAazsAA+v9T2Mk0MC+7vw6hjdFpo OihgLTrIesf0g8gr8xGO/VQO3kW0aSrY9YrK1Dn2SCY5xWun3cBX5yCpaz5VGEV0r8fPI1Ay RAXAA0sUiyzwNqq/L/lTuNMv58pHuX3ZqpK7xmMzRmBZRonabbqZvyToPR/hXI3jM0IGuvCb c0EbzYpdA7HfxBEJlYQDtQ5gfusgX78NTZfrTp5p4JuuzSVkFM3jearaYWJEjCJbZw9ckKwv GXJ8n6/GhgHHNee1SCE4jSngeqncSbTAdtLSubgraQ16LGV7kI1LDc7bASgm9agoB6RRsBzL lAK5RN7+MDe82TuFLERRSaQsHOC+xIRRddUO+k78x2WjLrZ5R6DAWoJRSIHb8Yp3Oc0TzE30 l6Cn/vyGCdi9raSTBq19KqQrD60ETgYKykFfyBsZRAe/9DprYU3jxTOZtVuCqi4ipvyAz6Y6 y+OhDgzgfMUl8Fj6kmg1VXOgjbprZ+QSAcwv1zTRjj8sV8/Y5O5bYu171Sd9exHMIuSUliGu j4DhtSa6+cNS5qKkURhXdkwIV1g3N7dWBW0vLKlN8BJG+iFk5J7Qb1t3Q== IronPort-HdrOrdr: A9a23:v0QoKay4GwV3QCbkybN3KrPwF71zdoMgy1knxilNoH1uA7Wlfq WV98jzuiWE7wr5NEtQ+uxoQZPhfZq+z+8S3WByB9qftWDd0QPDEGgF1/qB/9SKIVybygcy79 YET0FIMrHN5IlB7PoTsWGDferJnrG8n5yVuQ== X-Talos-CUID: =?us-ascii?q?9a23=3AUl4b3Wp/Ug+6TovZbMbDWv7mUf0ETkHti0/MH0L?= =?us-ascii?q?mDWxJceafe3OMoooxxg=3D=3D?= X-Talos-MUID: =?us-ascii?q?9a23=3Az7PmVQ0t1SubcmvlCmGdKpz/pDUjzYKKIm00zo4?= =?us-ascii?q?8lNCuZQNtKRuYkCqoe9py?= X-IronPort-AV: E=Sophos;i="6.00,210,1681185600"; d="scan'208";a="111630327" ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=dOkryvORN9wobYipfIS4SvcvfWwj9TL8CNxxGA73WWPmOiWPXs4d9/kHfdy8PxVlEp9eCLs2RajjkRQmTG4DI9X+13GFrwF32q+ky+QlmmPzpIzr8yjmme4qCSNNhSMSpMQS3sYNx6EUyDmKcaB9Bbk6R/0Xz7V8f3i6tXcP70SidwiWOMwdjlho9xRFOUgsj/E195HFCauuULE1ts+DB5Tdj/6FnW+AasSJ7QRHwr5XajTSPhB+XRmU0Ijcir2gR2SPoiRo1IGY+r4lkANUk6vRYxRfR37CJYTYGhs1yEgx3z1aShX2mN/cQ0hb9jzS2qwfNZ0uVmDTo9LChYjsWw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=5KbyhxApTsmQyQClBvfFt4PODwfZzCgM7GeO38igh0w=; b=No8rhiwd4u1IGjd1q+0/SltKscKPmzpXtj6A3WbZmAIPD6mCgOXQlEBZtcgDMFqHm9p+VKya9DtXLzSJYClsegr++OXagd/10dgB81i3ql52uQ3Ha8NX9F9S2rSenArRZo3jKyzpOlwS9R/MbfdF5jY6wZwH9j2bX2KzpDqijG4/m14PgKbwqZaGWTGcUqvuV/UpcFBbkK95fXMVK5dBfwXgcrCMpAwFbzhnnVGzOaMPFKMpdIhWlNjvPEOBTcA6asEdCUwOw43eyqpbinuSLIYPBXHCxK1q97U/Gky8Qk9WFgiG/0btbfpuTv/KDhmpmzUuiHvX+FY+16n8RxVadQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com; dkim=pass header.d=citrix.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=5KbyhxApTsmQyQClBvfFt4PODwfZzCgM7GeO38igh0w=; b=wj/FNlRx1A+fBuoPRYNVQpluh/xiUX5cgvlvhIM9SrXDd/+tHefP92BQSGSMrsN+hQkfAeo6xlZ/gfdb9Hhbab1xd0eCBc8GcN4mB2JVadjX+hIb1FmMXu85dmo3g4Ubo0bqxLXVvHZ9hdApb6g7FtzDk37c48Qit+CQRajtUhU= Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=citrix.com; From: Roger Pau Monne To: xen-devel@lists.xenproject.org Cc: Roger Pau Monne , Andrew Cooper , George Dunlap , Jan Beulich , Julien Grall , Stefano Stabellini , Wei Liu Subject: [PATCH v3 3/3] cmdline: parse multiple instances of the vga option Date: Thu, 1 Jun 2023 15:05:18 +0200 Message-Id: <20230601130518.48874-4-roger.pau@citrix.com> X-Mailer: git-send-email 2.40.0 In-Reply-To: <20230601130518.48874-1-roger.pau@citrix.com> References: <20230601130518.48874-1-roger.pau@citrix.com> Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: LO4P123CA0661.GBRP123.PROD.OUTLOOK.COM (2603:10a6:600:316::15) To SJ0PR03MB6423.namprd03.prod.outlook.com (2603:10b6:a03:38d::21) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SJ0PR03MB6423:EE_|BY5PR03MB5347:EE_ X-MS-Office365-Filtering-Correlation-Id: 07b4fb5a-f66b-4a20-25f8-08db62a0e99e X-LD-Processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtAddr,ExtFwd X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 4X5ZvqegZ1e2DbKCGC32QUEkjXQo4XEUJ38p/Z3DhzTnY2SbZXXm6v1qB0AC1xW0ViqghtsjGWI04C4RQsA427DFBHoh/CRj3KsIJGJJhSp6Yo6xBx8wq8tsO5lVFDLZXU/SQKPFaq9cBTqRHhv4B96wIF5jWepO5QgXykiFbojGCECh2Aui9h+Mj7RaZNppQqWOxPNB+acmi3UHQE8eqp6m23f9ETmuHhzSFQD3JCvaUvUt6vIGxiq/ViItsoEPn7lY7TzqN65Fs0Brfh/JjQpWEHny7HwAFzR/GdKNqcekKYKcSTR0/gamsa/aNWPEqGcMdpMoq5Ga8wec+HVMyBFtdm/89PemqfCgL/7MVv/p9dAGTujvOBGPIIkj6fhxCmOTeXXFBAshuoebeIkLpWJ4FH1LsnaODAeQR+N6jBav/T5Wzzven5UDvV3OT+DWPxGAme4+I6ZL3eGeMHHjTER7DGpowN2WUQpClbQ+aORsk5hSUQlHKe9+DP1UArJhDzItuxdW0gCqvoZgweAJvH8y+PAqiefAmJBrfEMmeK1O0jzXi2XeVYzVX2qy39bi X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SJ0PR03MB6423.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(4636009)(376002)(396003)(136003)(39860400002)(346002)(366004)(451199021)(83380400001)(66556008)(6506007)(66946007)(66476007)(6916009)(6512007)(26005)(6666004)(1076003)(54906003)(2616005)(186003)(86362001)(6486002)(2906002)(8936002)(5660300002)(478600001)(8676002)(36756003)(82960400001)(4326008)(41300700001)(38100700002)(316002);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?a3dtUXNKSjlJRlg0cCtsbnova3pQTE4rQWZsV1QxUngwVS9pSWowU1ZyUUtX?= =?utf-8?B?SEp4UDFoSkJLK3h0WmMvNFZMY0hkSm5na1M2bHV0ZmRDWDhXME1ZTzBRaStj?= =?utf-8?B?bjV1bGN0WlRlNWplN0piM2JVVnljTm9WOGNmWk1VbUZDQytjVFhyYi9ONXNY?= =?utf-8?B?cDg3blNkK01mQ3lQcXQ3UDd4bnF2UWFubHVGQ3pPWnBwd0ZZS0VzQmZIbkhM?= =?utf-8?B?RE83TnJST0NCVnNxWW9tY29ZWlk1bXU1U1p1VTdRVVZ2eSs1RjZFMVZTeHhw?= =?utf-8?B?U0svUjA1TG54TlFiNWtkQWRURGFoSEpyakxKYWlBY3AvZmtsdkpDRzFWdS9Z?= =?utf-8?B?UzJ3UHRkNjFRd1ZVR0l0ZjY5NGR0TjBzWDNkNXhBc0IzVGpPVG1nQWxsYllP?= =?utf-8?B?VXBONlYxTTRCK1FQOTM5aWMrMmxTdERTQUZldXlac1NkZm9TRU44ZzY1WnRS?= =?utf-8?B?VXVONW5qM2UxV2NUOVdwOWQvRzVxU3NMT2NTcmQ2Nm8vY2dnbVpVTFR0QnBI?= =?utf-8?B?eWxqNkVzREwzbk5FVEpRbjQ2aDBkcVRyWjVEb0NQWXZXcWZkODU5VXhqVlFj?= =?utf-8?B?a21TVnVEZVQ4eW5EaGR1TFVWVExObFkxRTN4aGF0ZEVSS2NaQ0toOXQvYlgy?= =?utf-8?B?N01RK1JQM3hkN3hIMS94U0NCQkl6U1RDOWVKOWJyK0VvNFRLSzRTdlcwSmpn?= =?utf-8?B?YmljUEJGWmdqaFFYSFRHR1Z1Uk5yMjlmT3gvOHUyb1ZHK1VHL0JMZlo1M0xM?= =?utf-8?B?QjNYbmtpek1XMWZZWS9PZkpzdXBDeFZMM0gzb0ZMV0dwZ2VXUUxqTnVBa3lI?= =?utf-8?B?Q2htR05wM2FBZnQ3MHJ0aGFhNXBxSXkwNlkyZ2syQ0JqdWh6QlljckI4MGhD?= =?utf-8?B?U1M2bXpnbXh1aVpzZ256dlcwVUVTKzNCUzgrOWt1TytnZ1l4d3hMbHRxdzRs?= =?utf-8?B?RzlCNFFKVUxvRFlxTk90STBwbS92NkJmeDJtZnpteVlCdDdocVBiRmVUUDBw?= =?utf-8?B?R0tpVTJScVVFcUdDRE83QWE4UVVkVDJhbzhPWllhaGxPZGsvclZDTXBjWFBk?= =?utf-8?B?NFRIOEIxOFMxYUZzZzlwdS9xSUs1NDF0RDBkQkloTHNzZmwyZGhocXdYbWRv?= =?utf-8?B?c3E3d0E2VS9QUHBPeUV4eFl2ZFBab0o5dE1MWEpidGU1cjdCcUVuZjFHR051?= =?utf-8?B?cGRtOWNGeEo3WUdSZ2pVNUdzVXlTZlU0aU91dkJPN0xGOEVXbmRvamtiNlph?= =?utf-8?B?ZEFoK2dPRU94Q0tiQWRQMUFXNnJFNXhRLzA4ME5pK0IzR2Irc1Z6ZWZDVG5v?= =?utf-8?B?V000Y2s2NVd6dGRBVEc4OGdGeEdVanpzNjRiTWpaTDg0c1dRbFBtcUN0L0o0?= =?utf-8?B?a1d1OGhnSU1nWFRoSVR4R05yU2QzMG03SGtCZmpURU5FdUtkWlZ0b3c4TVhZ?= =?utf-8?B?cXJGWnZ2M1hRTlh0NlczMjdKQXJkbXhQOThZbUlLQy92U0p0dm1VeWliN0pN?= =?utf-8?B?T09YdGJnR1ZFRmJQc2Z4UW9jVysyR2VTUXZyd1hpOHRLRktEYXdkYSs1MDI3?= =?utf-8?B?WVNDUmpkanZKcmRrei9KZnNzR29waUJjY2dwU3JwNGZxMHFOM2tJMk1oWEox?= =?utf-8?B?aml2RzVROHlQdEpZMmlCcGE1RjNuVTFGT0piOXdTb3VXd2VCbkFxVmxsVWZt?= =?utf-8?B?Rzg5U3UyMzMzdnl5eXlDU1VxejZzWEZEcWIyZlBWVFptZHZFamYrWDhNQ0tK?= =?utf-8?B?Y1pqRVNsRnRKSXk3T01jVHVVa3BqQTV1VzlvYjZSM0QvYmlKQjJ3ZnFVeDBa?= =?utf-8?B?YjVxbjZ3c2w0K2ZKby9JSkZDRkt2ejlMWlVMNzVVaEhVaWtVVXBPMzhFN1Ew?= =?utf-8?B?dUFjMkZYM3VwWnpjeGQxUCthYVR2dWltS0o3VW44NE1GZGd3dHJJM09VbTVk?= =?utf-8?B?RjY4dnloVSszNEFyYlk2M2ZrQTZyS3VPSzVYM090TlJkeE5KT2c4OE4xMjRI?= =?utf-8?B?VDllbEhrNDZKazJUYWt5MExoMWhHNlhzU0JLR2NPWnpiYUJKaERzdTU0aldi?= =?utf-8?B?ZFlzZlFmdXJ6dGZYTnRqd3Y4dktrVnJ2YllKOUNrNi9LZ0MzRFk5ZkdDWUlM?= =?utf-8?B?NXp4SngzaGpLSnZMUG9lVVVVSUFRTndyZTIrRVZlZjhnaElqay8wUzV6dUNk?= =?utf-8?B?YWc9PQ==?= X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: JeQy0UGDCwCxdab9G6dugZZj44vWGV/8WNhVkIgrSGy/JAD9QwdP6oF4ZDZ7ZsbvHYj8/6uquKrk2mhLWae7weuLbxKARu7CUEMY1hWB5RAofCWvkmXPPS3bCislU1mYfWxd1R/kO9gVUYIFO3/jtpxwvJKb22OsOgQkIsuGvb8X03pFWtdFy2g68gfjiF9fXInvZMAn6H995UwnnVxq5lLVdp+bTXpDZdqgtY9ww2sN70vDz5b2b+GZ5hoSxTUOZLvO1oFNNieGmntFiC52nlsBFCHkVzW7lhx7p52T1/f1Y1wJY9qxJk5YXX2c3/xv64D3dt3BIXjBGZykvDJeFI1cRRyx4b0EIM1zsn9B4MZl9E9XWyJisCS0rz+tPBzr2WDiq02a9QXYvcMTgXZGtJWgek8x1Jt5jMED1SfV4QqOO/IQXnoEfyKcOy16VI7g8qos+MmBxSCT0lajmHFVwY1p6Q7b8CKUOvjh2FnUUOfmfEvJCWcRWXWljCDwY1ZhxpvvCSTDNrHIJZwHMQUONA9G6Ox+1B061R4/1wxT8cPckhXZBbCOs4Ow/MVJswfUYc3eNKpnoh64shEZg/tMCgXCK+f/bgF3ZJAxeGblHnToAcfbKEQSFmbBcbYGsV6AGnyQ7lE22q13510h14FM8r8j5xgTT8NXWv8pJCLqCP3mgpHLqbyDkBz/FjP4CSnIMCbGOAbzC+4dDFrawUqPbc32rsIeFTYNtuQc87sSE7K7FErzybZSBvxyXXN8oLxS31tRYIjsm9DWWW2NrhyQKykYTsQtgsEIBvfmUlQIQlb9DP3maOBS0DXkiMzu0QxfnOjbDpMUomRHxihW44r9TLUljw2FncyNJiUWtp5bnzY= X-OriginatorOrg: citrix.com X-MS-Exchange-CrossTenant-Network-Message-Id: 07b4fb5a-f66b-4a20-25f8-08db62a0e99e X-MS-Exchange-CrossTenant-AuthSource: SJ0PR03MB6423.namprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 01 Jun 2023 13:05:45.9844 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: sbYvD5B90rU1cWYOzJL5StUmp7WoDnXYgHwD0lkY4XuEo3Gt2r8Ph089zwI6DI7HtcKVah80IVwAuagabx/GmA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: BY5PR03MB5347 X-ZohoMail-DKIM: pass (identity @citrix.com) X-ZM-MESSAGEID: 1685624781608100001 Parse all instances of the vga=3D option on the command line, in order to always enforce the last selection on the command line. Note that it's not safe to parse just the last occurrence of the vga=3D option, as then a command line with `vga=3Dcurrent vga=3Dkeep` would result in current being ignored. Adjust the command line documentation to describe the new behavior. Signed-off-by: Roger Pau Monn=C3=A9 --- Changes since v2: - New in this version. --- Build tested only, as I don't have a system that does legacy boot and has VGA output I can check. It's mostly encapsulating the current code inside of a while loop and adding an extra else if for the "ask" option, there's a lot of indentation changes. --- docs/misc/xen-command-line.pandoc | 3 ++ xen/arch/x86/boot/cmdline.c | 85 +++++++++++++++---------------- 2 files changed, 45 insertions(+), 43 deletions(-) diff --git a/docs/misc/xen-command-line.pandoc b/docs/misc/xen-command-line= .pandoc index e0b89b7d3319..8cf2f3423d47 100644 --- a/docs/misc/xen-command-line.pandoc +++ b/docs/misc/xen-command-line.pandoc @@ -2628,6 +2628,9 @@ with the specified width, height and depth. `ask` option. (N.B menu modes are displayed in hex, so `` should be a hexadecimal number) =20 +Note that all the occurrences of the vga option in the command line are pa= rsed, +and hence later occurrences can overwrite selections done by prior ones. + The optional `keep` parameter causes Xen to continue using the vga console even after dom0 has been started. The default behaviour is to relinquish control to dom0. diff --git a/xen/arch/x86/boot/cmdline.c b/xen/arch/x86/boot/cmdline.c index fc11c6d3c5c4..511e77e0c2b5 100644 --- a/xen/arch/x86/boot/cmdline.c +++ b/xen/arch/x86/boot/cmdline.c @@ -277,59 +277,58 @@ static u16 rows2vmode(unsigned int rows) =20 static void vga_parse(const char *cmdline, early_boot_opts_t *ebo) { - const char *c; - unsigned int tmp, vesa_depth, vesa_height, vesa_width; - - c =3D find_opt(cmdline, "vga=3D", true); - - if ( !c ) - return; + const char *c =3D cmdline; =20 - ebo->boot_vid_mode =3D ASK_VGA; - - if ( !strmaxcmp(c, "current", delim_chars_comma) ) - ebo->boot_vid_mode =3D VIDEO_CURRENT_MODE; - else if ( !strsubcmp(c, "text-80x") ) - { - c +=3D strlen("text-80x"); - ebo->boot_vid_mode =3D rows2vmode(strtoui(c, delim_chars_comma, NU= LL)); - } - else if ( !strsubcmp(c, "gfx-") ) + while ( (c =3D find_opt(c, "vga=3D", true)) !=3D NULL ) { - vesa_width =3D strtoui(c + strlen("gfx-"), "x", &c); + unsigned int tmp, vesa_depth, vesa_height, vesa_width; =20 - if ( vesa_width > U16_MAX ) - return; + if ( !strmaxcmp(c, "current", delim_chars_comma) ) + ebo->boot_vid_mode =3D VIDEO_CURRENT_MODE; + else if ( !strsubcmp(c, "text-80x") ) + { + c +=3D strlen("text-80x"); + ebo->boot_vid_mode =3D rows2vmode(strtoui(c, delim_chars_comma= , NULL)); + } + else if ( !strsubcmp(c, "gfx-") ) + { + vesa_width =3D strtoui(c + strlen("gfx-"), "x", &c); =20 - /* - * Increment c outside of strtoui() because otherwise some - * compiler may complain with following message: - * warning: operation on 'c' may be undefined. - */ - ++c; - vesa_height =3D strtoui(c, "x", &c); + if ( vesa_width > U16_MAX ) + return; =20 - if ( vesa_height > U16_MAX ) - return; + /* + * Increment c outside of strtoui() because otherwise some + * compiler may complain with following message: + * warning: operation on 'c' may be undefined. + */ + ++c; + vesa_height =3D strtoui(c, "x", &c); =20 - vesa_depth =3D strtoui(++c, delim_chars_comma, NULL); + if ( vesa_height > U16_MAX ) + return; =20 - if ( vesa_depth > U16_MAX ) - return; + vesa_depth =3D strtoui(++c, delim_chars_comma, NULL); =20 - ebo->vesa_width =3D vesa_width; - ebo->vesa_height =3D vesa_height; - ebo->vesa_depth =3D vesa_depth; - ebo->boot_vid_mode =3D VIDEO_VESA_BY_SIZE; - } - else if ( !strsubcmp(c, "mode-") ) - { - tmp =3D strtoui(c + strlen("mode-"), delim_chars_comma, NULL); + if ( vesa_depth > U16_MAX ) + return; =20 - if ( tmp > U16_MAX ) - return; + ebo->vesa_width =3D vesa_width; + ebo->vesa_height =3D vesa_height; + ebo->vesa_depth =3D vesa_depth; + ebo->boot_vid_mode =3D VIDEO_VESA_BY_SIZE; + } + else if ( !strsubcmp(c, "mode-") ) + { + tmp =3D strtoui(c + strlen("mode-"), delim_chars_comma, NULL); =20 - ebo->boot_vid_mode =3D tmp; + if ( tmp > U16_MAX ) + return; + + ebo->boot_vid_mode =3D tmp; + } + else if ( !strsubcmp(c, "ask") ) + ebo->boot_vid_mode =3D ASK_VGA; } } #endif --=20 2.40.0