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

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



> 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.

When I launched QEMU I pressed ESC to get into UEFI menu.
While in UEFI menu I did:
Boot Maintainance Manager -> Boot Options -> Add Boot Option -> chose
xen.efi file and in Input Optional Data I added /basevideo . Saved
changes and then booted this new entry.
After few seconds QEMU crashed with following output:

qemu: fatal: Trying to execute code outside RAM or ROM at 0x00000000000b0000
RAX=0000000000000000 RBX=000000007e622418 RCX=0000000000000000
RDX=000000007ff09320
RSI=000000007d86e368 RDI=000000007e622418 RBP=000000007ff09370
RSP=000000007ff092c8
R8 =000000007ff276bf R9 =000000007e623298 R10=0000000000000011
R11=0000000000000000
R12=0000000000000001 R13=00000000003da367 R14=0000000000000009
R15=0000000000000000
RIP=00000000000affb8 RFL=00000246 [---Z-P-] CPL=0 II=0 A20=1 SMM=0 HLT=0
ES =0030 0000000000000000 ffffffff 00cf9300 DPL=0 DS   [-WA]
CS =0038 0000000000000000 ffffffff 00af9a00 DPL=0 CS64 [-R-]
SS =0030 0000000000000000 ffffffff 00cf9300 DPL=0 DS   [-WA]
DS =0030 0000000000000000 ffffffff 00cf9300 DPL=0 DS   [-WA]
FS =0030 0000000000000000 ffffffff 00cf9300 DPL=0 DS   [-WA]
GS =0030 0000000000000000 ffffffff 00cf9300 DPL=0 DS   [-WA]
LDT=0000 0000000000000000 0000ffff 00008200 DPL=0 LDT
TR =0000 0000000000000000 0000ffff 00008b00 DPL=0 TSS64-busy
GDT=     000000007fbeea98 00000047
IDT=     000000007f6cb018 00000fff
CR0=80010033 CR2=0000000000000000 CR3=000000007fc01000 CR4=00000668
DR0=0000000000000000 DR1=0000000000000000 DR2=0000000000000000
DR3=0000000000000000
DR6=00000000ffff0ff0 DR7=0000000000000400
CCS=0000000000000000 CCD=0000000000000000 CCO=ADDB
EFER=0000000000000500
FCW=037f FSW=0000 [ST=0] FTW=00 MXCSR=00001f80
FPR0=0000000000000000 0000 FPR1=0000000000000000 0000
FPR2=0000000000000000 0000 FPR3=0000000000000000 0000
FPR4=0000000000000000 0000 FPR5=0000000000000000 0000
FPR6=0000000000000000 0000 FPR7=0000000000000000 0000
XMM00=00000000000000000000000000000000 XMM01=00000000000000000000000000000000
XMM02=00000000000000000000000000000000 XMM03=00000000000000000000000000000000
XMM04=00000000000000000000000000000000 XMM05=00000000000000000000000000000000
XMM06=00000000000000000000000000000000 XMM07=00000000000000000000000000000000
XMM08=00000000000000000000000000000000 XMM09=00000000000000000000000000000000
XMM10=00000000000000000000000000000000 XMM11=00000000000000000000000000000000
XMM12=00000000000000000000000000000000 XMM13=00000000000000000000000000000000
XMM14=00000000000000000000000000000000 XMM15=00000000000000000000000000000000

Even when I create entry without /basevideo it still crashes with
similar output.

qemu: fatal: Trying to execute code outside RAM or ROM at 0x00000000000b0000
RAX=0000000000000000 RBX=000000007e5e0a98 RCX=0000000000000000
RDX=000000007ff09320
RSI=000000007d86e368 RDI=000000007e5e0a98 RBP=000000007ff09370
RSP=000000007ff092c8
R8 =000000007ff276bf R9 =000000007e661d18 R10=0000000000000011
R11=0000000000000000
R12=0000000000000001 R13=00000000003da367 R14=0000000000000009
R15=0000000000000000
RIP=00000000000affb8 RFL=00000246 [---Z-P-] CPL=0 II=0 A20=1 SMM=0 HLT=0
ES =0030 0000000000000000 ffffffff 00cf9300 DPL=0 DS   [-WA]
CS =0038 0000000000000000 ffffffff 00af9a00 DPL=0 CS64 [-R-]
SS =0030 0000000000000000 ffffffff 00cf9300 DPL=0 DS   [-WA]
DS =0030 0000000000000000 ffffffff 00cf9300 DPL=0 DS   [-WA]
FS =0030 0000000000000000 ffffffff 00cf9300 DPL=0 DS   [-WA]
GS =0030 0000000000000000 ffffffff 00cf9300 DPL=0 DS   [-WA]
LDT=0000 0000000000000000 0000ffff 00008200 DPL=0 LDT
TR =0000 0000000000000000 0000ffff 00008b00 DPL=0 TSS64-busy
GDT=     000000007fbeea98 00000047
IDT=     000000007f6cb018 00000fff
CR0=80010033 CR2=0000000000000000 CR3=000000007fc01000 CR4=00000668
DR0=0000000000000000 DR1=0000000000000000 DR2=0000000000000000
DR3=0000000000000000
DR6=00000000ffff0ff0 DR7=0000000000000400
CCS=0000000000000000 CCD=0000000000000000 CCO=ADDB
EFER=0000000000000500
FCW=037f FSW=0000 [ST=0] FTW=00 MXCSR=00001f80
FPR0=0000000000000000 0000 FPR1=0000000000000000 0000
FPR2=0000000000000000 0000 FPR3=0000000000000000 0000
FPR4=0000000000000000 0000 FPR5=0000000000000000 0000
FPR6=0000000000000000 0000 FPR7=0000000000000000 0000
XMM00=00000000000000000000000000000000 XMM01=00000000000000000000000000000000
XMM02=00000000000000000000000000000000 XMM03=00000000000000000000000000000000
XMM04=00000000000000000000000000000000 XMM05=00000000000000000000000000000000
XMM06=00000000000000000000000000000000 XMM07=00000000000000000000000000000000
XMM08=00000000000000000000000000000000 XMM09=00000000000000000000000000000000
XMM10=00000000000000000000000000000000 XMM11=00000000000000000000000000000000
XMM12=00000000000000000000000000000000 XMM13=00000000000000000000000000000000
XMM14=00000000000000000000000000000000 XMM15=00000000000000000000000000000000


I don't know how to launch it directly from EFI shell though.


>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
> difference.

I commented out efi_console_set_mode() and launched Xen with my
FreeBSD loader on QEMU, and it only got to the next jump and
hanged,probably during this line:

if ( StdOut->QueryMode(StdOut, StdOut->Mode->Mode,
                       &cols, &rows) == EFI_SUCCESS )

When I launch Xen kernel with the GRUB2 on QEMU it doesn't even break
at Xen entry point.


Can somebody boot Xen kernel with GRUB2 from menu after adding this to grub.cfg

menuentry 'xen' {
    set root='hd0,gpt1'
    multiboot2 /xen
}

?

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxxx
https://lists.xenproject.org/mailman/listinfo/xen-devel

 


Rackspace

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