From: Jan Beulich <jbeulich@suse.com>
To: Alejandro Vallejo <alejandro.vallejo@cloud.com>
Cc: "Frediano Ziglio" <frediano.ziglio@cloud.com>,
"Andrew Cooper" <andrew.cooper3@citrix.com>,
"Roger Pau Monné" <roger.pau@citrix.com>,
Xen-devel <xen-devel@lists.xenproject.org>
Subject: Re: [PATCH 3/5] x86: Set xen_phys_start and trampoline_xen_phys_start earlier
Date: Thu, 8 Aug 2024 10:25:22 +0200 [thread overview]
Message-ID: <cf819b39-6ce8-4446-b7b6-a1b247f45400@suse.com> (raw)
In-Reply-To: <20240807134819.8987-4-alejandro.vallejo@cloud.com>
On 07.08.2024 15:48, Alejandro Vallejo wrote:
> No reason to wait, if Xen image is loaded by EFI (not multiboot
> EFI path) these are set in efi_arch_load_addr_check, but
> not in the multiboot EFI code path.
> This change makes the 2 code paths more similar and allows
> the usage of these variables if needed.
I'm afraid I'm struggling with any "similarity" argument here. Imo it
would be better what, if anything, needs (is going to need) either or
both of these set earlier. Which isn't to say it's wrong to do early
what can be done early, just that ...
> --- a/xen/arch/x86/boot/head.S
> +++ b/xen/arch/x86/boot/head.S
> @@ -259,6 +259,11 @@ __efi64_mb2_start:
> jmp x86_32_switch
>
> .Lefi_multiboot2_proto:
> + /* Save Xen image load base address for later use. */
> + lea __image_base__(%rip),%rsi
> + movq %rsi, xen_phys_start(%rip)
> + movl %esi, trampoline_xen_phys_start(%rip)
... this path is EFI only if I'm not mistaken, while ...
> @@ -605,10 +610,6 @@ trampoline_setup:
> * Called on legacy BIOS and EFI platforms.
> */
>
> - /* Save Xen image load base address for later use. */
> - mov %esi, sym_esi(xen_phys_start)
> - mov %esi, sym_esi(trampoline_xen_phys_start)
... the comment in context is pretty clear about this code also being
used in the non-EFI case. It is, however, the case that %esi is 0 in
that case. Yet surely you want to mention this in the description, to
clarify the correctness of the change.
Also in the code you move please consistently omit insn suffixes when
they're not needed. Just like it was in the original code, and just
like you already omit the q from "lea".
Finally, if you used a register other than %rsi (say %r14) you could
replace the "lea" after x86_32_switch by a 2nd "mov", similar to the
one that's already there to load %edi. (You'd need to move the new
code up by yet a few more lines, to cover the jump to x86_32_switch
there, too.)
Jan
next prev parent reply other threads:[~2024-08-08 8:25 UTC|newest]
Thread overview: 29+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-08-07 13:48 [PATCH 0/5] Improve support for EFI multiboot loading Alejandro Vallejo
2024-08-07 13:48 ` [PATCH 1/5] x86: Put trampoline in .init.data section Alejandro Vallejo
2024-08-08 7:34 ` Jan Beulich
[not found] ` <CACHz=Zh7wK58mbB762fnevHEKW9qhp-NRJ6buNe1b-qLxP0qPg@mail.gmail.com>
[not found] ` <b9b40658-ff13-4240-98a2-4811411e31b6@suse.com>
2024-08-08 13:05 ` Frediano Ziglio
2024-08-19 14:16 ` Frediano Ziglio
2024-08-19 14:29 ` Jan Beulich
2024-08-19 15:30 ` Frediano Ziglio
2024-08-19 15:50 ` Jan Beulich
2024-08-27 14:56 ` Frediano Ziglio
2024-08-27 15:55 ` Jan Beulich
2024-08-07 13:48 ` [PATCH 2/5] x86: Fix early output messages in case of EFI Alejandro Vallejo
2024-08-08 7:49 ` Jan Beulich
[not found] ` <CACHz=ZjYdBcB_S1tpXpuRQDKGAKY=SrgTEy8_0Wyq_q+bOBfHg@mail.gmail.com>
2024-08-08 9:29 ` Jan Beulich
[not found] ` <CACHz=ZgRK2DMHmiAVsBo1WJVBxbnTka3-CcpgopKB-6gWs5ZSw@mail.gmail.com>
2024-08-08 12:58 ` Jan Beulich
2024-08-08 13:17 ` Frediano Ziglio
2024-08-08 14:04 ` Jan Beulich
2024-08-07 13:48 ` [PATCH 3/5] x86: Set xen_phys_start and trampoline_xen_phys_start earlier Alejandro Vallejo
2024-08-08 8:25 ` Jan Beulich [this message]
2024-08-09 12:48 ` Frediano Ziglio
2024-08-09 12:59 ` Jan Beulich
2024-08-09 13:50 ` Frediano Ziglio
2024-08-09 14:02 ` Jan Beulich
2024-08-09 14:34 ` Frediano Ziglio
2024-08-12 8:41 ` Jan Beulich
2024-08-12 12:42 ` Frediano Ziglio
2024-08-07 13:48 ` [PATCH 4/5] x86: Force proper gdt_boot_base setting Alejandro Vallejo
2024-08-08 9:58 ` Jan Beulich
2024-08-07 13:48 ` [PATCH 5/5] x86: Rollback relocation in case of EFI multiboot Alejandro Vallejo
2024-08-08 10:36 ` Jan Beulich
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=cf819b39-6ce8-4446-b7b6-a1b247f45400@suse.com \
--to=jbeulich@suse.com \
--cc=alejandro.vallejo@cloud.com \
--cc=andrew.cooper3@citrix.com \
--cc=frediano.ziglio@cloud.com \
--cc=roger.pau@citrix.com \
--cc=xen-devel@lists.xenproject.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.