[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [PATCH] x86: slightly simplify MB2/EFI "magic" check
On 08.08.2024 11:36, Frediano Ziglio wrote: > On Thu, Aug 8, 2024 at 9:49 AM Jan Beulich <jbeulich@xxxxxxxx> wrote: >> >> 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@xxxxxxxx> >> --- >> 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). > > I don't think __efi64_mb2_start should be ever get called by anything > else than multiboot2. Was EFI supported by multiboot version 1 maybe? No, there was no EFI with MB1. > As far as I can see we will print an error and halt the machine so we > expect something really wrong to have happened. > We could indeed be in a position where we have VGA available. Or EFI? > Or not? As said something really weird and unexpected happened. Maybe > the safer way would be to print on serial and try to print on VGA in > this case. At the moment we mix the 2 prints (each character is > duplicated), printing all message to serial and then trying to print > all message to VGA and then halt could be an option. Sounds like you see something wrong with the "mixing" as you call it? I'm suggesting exactly that: Try to output something to both possible channels. Whether there's serial at the default port we don't know either, after all. What we kind of know is that we're in 64-bit mode (yet even that could probably do with verifying, when we already have to assume something is very broken). Even there I'd expect the VGA range to be mapped by the identity page tables that our caller must have put in place. Jan
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |