[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH 4/5] multiboot2: parse console= option when setting GOP mode
- To: Jan Beulich <jbeulich@xxxxxxxx>
- From: Roger Pau Monné <roger.pau@xxxxxxxxxx>
- Date: Thu, 30 Mar 2023 10:11:50 +0200
- 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
- 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=3Ef3h2gItN7P1uFHlt+Kh39HupcPMIiv0y1HghsB730=; b=I9Hlnk1r/5n4NHTEoyHO2LTMoy+8K4LAQKDQuiCdRgXspnug2Ks3HgGWYazkAQ7F4WLvGMJ8UpwvfVFeoUQuO3g99SzmqdgySM4yiHYJdhH86FTyfJs9JRXdgdhNQKxl9mnqwNW5zV4rxeVOX/c2SMFpvGPzGuw3EphSWI1jMR+44GhGSxKxrOLxLfY/DDMjR49GDoggaFGw4bDBHoVNLfsJuiv3/4VS5sDEGg1rUGMRn2I/n1TStBWq/grj6m3Dw6OjIWQD3UIDgpOHvowBTODkvZONBjEIH6KICwLd161w2UDx1G36T6mec6cDZIJrPS63/WgqyQ/BIROPvbdOGg==
- Arc-seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=ZP7qJHsdyu2xRsPuTu271HV2T4rchWM1tdAW8UJ5XIt6iLpIFZqyXXRaMd4q02sAdZzLr/dQZkChLC8bSpFrAqsj5gCuA0mRe4MqaQ22uLI291qPJhQ2EeMi1YFLaw5Yjv4a2bRhdBkJW8CkmjFE7ZdbYeY9swXoDb+COYPBrMw0jdWSK4ZNGnv6br7eJR8mg1gj4Hjy8QeRE+7I/lMlQVyl0LFdgVaa5RYFoCmfIS7do3FBAYs1bf8rZjrAiyEMyMsQUvPg5HzsYUFft6srwkSJsUHVtMBJ4AugXnbRKJU2euP2PMOsDFbwjUfRKrvqcrvEHOCnOCXGHyhhOUJrug==
- Authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=citrix.com;
- Cc: marmarek@xxxxxxxxxxxxxxxxxxxxxx, Andrew Cooper <andrew.cooper3@xxxxxxxxxx>, Wei Liu <wl@xxxxxxx>, xen-devel@xxxxxxxxxxxxxxxxxxxx, Daniel Kiper <daniel.kiper@xxxxxxxxxx>
- Delivery-date: Thu, 30 Mar 2023 08:12:14 +0000
- Ironport-data: A9a23:mK4Nqqg0QS65zgROS29Pq3+zX161uBEKZh0ujC45NGQN5FlHY01je htvWWyAaP3YazGgetskOtyz9x5T6pHXz9VhGlE++X88Rigb9cadCdqndUqhZCn6wu8v7q5Ex 55HNoSfdpBcolv0/ErF3m3J9CEkvU2wbuOgTrWCYmYpHlUMpB4J0XpLg/Q+jpNjne+3CgaMv cKai8DEMRqu1iUc3lg8sspvkzsy+qWi0N8klgZmP6sT5wSGzyB94K83fsldEVOpGuG4IcbiL wrz5OnR1n/U+R4rFuSknt7TGqHdauePVeQmoiM+t5mK2nCulARrukoIHKN0hXNsoyeIh7hMJ OBl7vRcf+uL0prkw4zxWzEAe8130DYvFLXveRBTuuTLp6HKnueFL1yDwyjaMKVBktubD12i+ tQZLDEKQAiyid6o0e7mGvBcl959dujSadZ3VnFIlVk1DN4AaLWbH+Dv2oUd2z09wMdTAfzZe swVLyJ1awjNaAFOPVFRD48imOCvhT/0dDgwRFC9/PJrpTSMilMqluGzYbI5efTTLSlRtlyfq W/cuXzwHzkRNcCFyCrD+XWp7gPKtXqjA9xMSuzmppaGhnWf/ElKDiYoCGCU+6GhzRSQd4sPN 04tr39GQa8asRbDosPGdx+yrWOAvxUcc8FNCOB84waIooLR6hycD3IJTRZAbsInr848QTE21 l6PkMjtDDYpu7qQIVqC8p+EoDX0PjIaRUcSaClBQQYb7t3LpIAokgmJXttlCLSyjND+BXf32 T/ihCQ3gbQeiYgI1r2253jAmTunopWPRQkwjjg7RUqg5wJ9IYu6PYqh7ACH6e4addjICF6co HIDhs6SqvgUCo2AnzCMR+NLG6y14/GCM3vXhlsH84QdyglBMkWLJeh4iAyS7m8zWirYUVcFu HPuhD4=
- Ironport-hdrordr: A9a23:6NHTjK/6WX70TyoryUNuk+DWI+orL9Y04lQ7vn2ZKCY4TiX8ra uTdZsguiMc5Ax+ZJhDo7C90di7IE80nKQdieN9AV7IZniEhILHFvAG0aLShxHmBi3i5qp8+M 5bAsxD4QTLfDpHsfo=
- List-id: Xen developer discussion <xen-devel.lists.xenproject.org>
On Thu, Mar 30, 2023 at 08:24:20AM +0200, Jan Beulich wrote:
> On 29.03.2023 18:29, Roger Pau Monné wrote:
> > On Mon, Dec 05, 2022 at 04:10:28PM +0100, Jan Beulich wrote:
> >> On 23.11.2022 16:45, Roger Pau Monne wrote:
> >>> @@ -265,6 +266,15 @@ __efi64_mb2_start:
> >>> cmpl $MULTIBOOT2_TAG_TYPE_END,MB2_tag_type(%rcx)
> >>> je .Lrun_bs
> >>>
> >>> + /*
> >>> + * Get command line from Multiboot2 information.
> >>> + * Must be last parsed tag.
> >>
> >> Why? And how do you guarantee this?
> >
> > I think the comment is misleading, must be the last checked for tag in
> > the loop that does this in assembly, because it's not using cmove.
> > I've adjusted to:
> >
> > /* 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:
> >
> > Maybe there's some instruction I'm missing similar to a conditional
> > lea?
>
> There isn't. If you want to get away without conditional branch, then
> you'll need to LEA to a scratch register (unconditional) and then
> CMOVcc from that scratch register.
Likely not worth it, unless you dislike the extra conditional branch.
Thanks, Roger.
|