[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH v16 4/9] x86: add multiboot2 protocol support for EFI platforms
On Tue, Feb 21, 2017 at 08:19:53PM +0100, Daniel Kiper wrote: > This way Xen can be loaded on EFI platforms using GRUB2 and > other boot loaders which support multiboot2 protocol. > > Signed-off-by: Daniel Kiper <daniel.kiper@xxxxxxxxxx> > --- > v16 - suggestions/fixes: > - improve comments in error handling > (suggested by Jan Beulich). Diff between v15 and v16: diff --git a/xen/arch/x86/boot/head.S b/xen/arch/x86/boot/head.S index 6352142..a2177c3 100644 --- a/xen/arch/x86/boot/head.S +++ b/xen/arch/x86/boot/head.S @@ -133,16 +133,30 @@ not_multiboot: mov $(sym_phys(.Lbad_ldr_msg)),%esi # Error message jmp .Lget_vtb .Lmb2_no_st: + /* + * Here we are on EFI platform. vga_text_buffer was zapped earlier + * because there is pretty good chance that VGA is unavailable. + */ mov $(sym_phys(.Lbad_ldr_nst)),%esi # Error message jmp .Lget_vtb .Lmb2_no_ih: + /* Ditto. */ mov $(sym_phys(.Lbad_ldr_nih)),%esi # Error message jmp .Lget_vtb .Lmb2_no_bs: + /* + * Ditto. Additionally, here there is a chance that Xen was started + * via start label. Then reliable vga_text_buffer zap is impossible + * in Multiboot2 scanning loop and we have to zero %edi below. + */ mov $(sym_phys(.Lbad_ldr_nbs)),%esi # Error message xor %edi,%edi # No VGA text buffer jmp .Lsend_chr .Lmb2_efi_ia_32: + /* + * Here we are on EFI IA-32 platform. Then reliable vga_text_buffer zap is + * impossible in Multiboot2 scanning loop and we have to zero %edi below. + */ mov $(sym_phys(.Lbad_efi_msg)),%esi # Error message xor %edi,%edi # No VGA text buffer jmp .Lsend_chr @@ -393,18 +407,10 @@ __start: /* EFI IA-32 platforms are not supported. */ cmpl $MULTIBOOT2_TAG_TYPE_EFI32,MB2_tag_type(%ecx) - /* - * Here we should zap vga_text_buffer. However, we can disable - * VGA updates in simpler and more reliable way later. - */ je .Lmb2_efi_ia_32 /* Bootloader shutdown EFI x64 boot services. */ cmpl $MULTIBOOT2_TAG_TYPE_EFI64,MB2_tag_type(%ecx) - /* - * Here we should zap vga_text_buffer. However, we can disable - * VGA updates in simpler and more reliable way later. - */ je .Lmb2_no_bs /* Is it the end of Multiboot2 information? */ _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx https://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |