All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] x86: slightly simplify MB2/EFI "magic" check
@ 2024-08-08  8:49 Jan Beulich
  2024-08-08  9:36 ` Frediano Ziglio
                   ` (2 more replies)
  0 siblings, 3 replies; 8+ messages in thread
From: Jan Beulich @ 2024-08-08  8:49 UTC (permalink / raw)
  To: xen-devel@lists.xenproject.org; +Cc: Andrew Cooper, Roger Pau Monné

A few dozen lines down from here we repeatedly use a pattern involving
just a single (conditional) branch. Do so also when checking for the
boot loader magic value.

Signed-off-by: Jan Beulich <jbeulich@suse.com>
---
I further question the placement of the clearing of vga_text_buffer,
just out of context: Shouldn't that be placed with the increments of
efi_platform and skip_realmode? Or else is the terminology in comments
("on EFI platforms") wrong in one of the two places? In the end, if we
are entered at __efi64_mb2_start but the magic doesn't match, we simply
don't know what environment we're in. There may or may not be a VGA
console at the default address, so we may as well (try to) write to it
(just like we do when entered at start).

--- a/xen/arch/x86/boot/head.S
+++ b/xen/arch/x86/boot/head.S
@@ -233,13 +233,11 @@ __efi64_mb2_start:
 
         /* Check for Multiboot2 bootloader. */
         cmp     $MULTIBOOT2_BOOTLOADER_MAGIC,%eax
-        je      .Lefi_multiboot2_proto
 
         /* Jump to .Lnot_multiboot after switching CPU to x86_32 mode. */
         lea     .Lnot_multiboot(%rip), %r15
-        jmp     x86_32_switch
+        jne     x86_32_switch
 
-.Lefi_multiboot2_proto:
         /* Zero EFI SystemTable, EFI ImageHandle addresses and cmdline. */
         xor     %esi,%esi
         xor     %edi,%edi


^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2024-08-13  7:02 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-08-08  8:49 [PATCH] x86: slightly simplify MB2/EFI "magic" check Jan Beulich
2024-08-08  9:36 ` Frediano Ziglio
2024-08-08  9:54   ` Jan Beulich
2024-08-12 14:34 ` Alejandro Vallejo
2024-08-12 14:43   ` Jan Beulich
2024-08-12 17:35     ` Alejandro Vallejo
2024-08-12 21:40 ` Andrew Cooper
2024-08-13  7:02   ` Jan Beulich

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.