Bug#799480: grub-xen-host: XEN domU crash when PV grub chainloads 32-bit domU grub

Andreas Sundstrom sunkan+debian.bugs at zappa.cx
Sun Sep 20 18:15:33 UTC 2015


On 2015-09-20 18:51, Ian Campbell wrote:
> On Sat, 2015-09-19 at 18:49 +0200, Andreas Sundstrom wrote:
>> Package: grub-xen-host
>> Version: 2.02~beta2-22
>> Severity: important
>>
>> Dear Maintainer,
>>
>> Using 64-bit dom0 and 32-bit domU PV (para-virtualized) grub sometimes
>> fail when chainloading the domU's grub. 64-bit domU seem to work 100%
>> of the time.
> Which grub are you starting with from dom0?
>
> If you want to boot a 32-bit guest (which includes chainloading a 32
> -bit grub) then you must start with the 32-bit grub-i386-xen.bin grub
> binary to create a 32-bit guest.
>
> kexecing from 64-bit to 32-bit is not possible in the general case. In
> fact I thought it was _impossible_ in all cases and would have ruled it
> out as something you might be doing, except some of these registers
> look like 64-bit values:

As you say it has not been possible at any time to use 64-bit grub from
dom0 and then load either 32-bit grub or linux kernel from domU.

I am using /usr/lib/grub-xen/grub-i386-xen.bin when I start my i386 domU's

Thanks for your great blog entry about this by the way:
https://blog.xenproject.org/2015/01/07/using-grub-2-as-a-bootloader-for-xen-pv-guests/
I have used it to get a better understanding of the whole process.
>> (XEN) rax: 0000000000000000   rbx: 0000000000000000   rcx:
> 0000000000000000
>> (XEN) rdx: 0000000000000000   rsi: 0000000000499000   rdi: 0000000000800000
>> (XEN) rbp: 000000000000000a   rsp: 00000000005a5ff0   r8:  0000000000000000
>> (XEN) r9:  0000000000000000   r10: ffff83023e9b9000   r11: ffff83023e9b9000
>> (XEN) r12: 0000033f3d335bfb   r13: ffff82d080300800   r14: ffff82d0802ea940
>> (XEN) r15: ffff83005e819000   cr0: 000000008005003b   cr4: 00000000000506f0
>> (XEN) cr3: 0000000200b7a000   cr2: 0000000000000000
Well I don't know but I guess the XEN hypervisor is always running in
64-bit mode yes?
I suppose that maybe even if the domU is 32-bit any errors showing up in
"xl dmesg"
reflects the mode that the hypervisor is run in?

/Andreas



More information about the Pkg-grub-devel mailing list