[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] strange behavior with Multiboot2 on EFI

>>> On 13.06.18 at 01:09, <kristaps.civkulis@xxxxxxxxx> wrote:
> I am implementing Multiboot2 support for FreeBSD loader to load Xen
> kernel. Currently I pass EFI 64-bit system table pointer tag, EFI boot
> services not terminated tag, EFI 64-bit image handle pointer tag and
> Image load base physical address tag.
> The problem is, Xen kernel gets stuck into infinite loop at address
> near 0x7fa419be without printing anything. System table is at
> 0x7fbee018 and image handle is at 0x7f22fd98. If I debugged correctly,
> it got into infinite loop after first time calling void
> efi_console_set_mode(void) [0] because it didn't return from it.

This is not precise enough a location, as there are further calls into
EFI from that function, i.e. you haven't excluded yet that the problem
is with the EFI implementation on your box.

> I also tried to load Xen kernel bare-metal with Grub2. I added
> following lines to /boot/grub/grub.cfg:
> menuentry 'xen' {
>     set root='hd0,gpt1'
>     multiboot2 /xen
> }

As you should have a xen.efi available from that same build, could
you try running that (from the EFI shell) instead? Sadly there's no way
to bypass the call in the multiboot2 case, while with xen.efi you could
pass "/basevideo" to prevent the call from being made. The other
alternative would be to comment out this call (or even all video mode
related) code from efi_multiboot2() and see whether that makes any

You likely want to make sure things work with grub2 first before
playing with your own boot loader implementation.


Xen-devel mailing list



Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.