Hello,

Given the following vm.cfg file:

name="vm"
type="hvm"

vcpus=4
memory=1024

firmware_override="/root/xen-syms"

kernel="/boot/vmlinuz-4.4-xen"
ramdisk="/boot/initrd-4.4.0+10.img"

cmdline="console=xen,pv dom0=pv --- earlyprintk=xen"

Xen crashes with the following trace:

(d15) (XEN) Xen BUG at pvh-boot.c:82
(d15) (XEN) ----[ Xen-4.12.0-rc  x86_64  debug=y   Not tainted ]----
(d15) (XEN) CPU:    0
(d15) (XEN) RIP:    e008:[<ffff82d0804331f2>] pvh_init+0x27d/0x2fe
<snip>
(d15) (XEN) Xen call trace:
(d15) (XEN)    [<ffff82d0804331f2>] pvh_init+0x27d/0x2fe
(d15) (XEN)    [<ffff82d080429000>] __start_xen+0x14c/0x28f6
(d15) (XEN)    [<ffff82d0802000f3>] __high_start+0x53/0x55
(d15) (XEN)
(d15) (XEN)
(d15) (XEN) ****************************************
(d15) (XEN) Panic on CPU 0:
(d15) (XEN) Xen BUG at pvh-boot.c:82
(d15) (XEN) ****************************************

The problem is that Xen is started at its PVH entrypoint (contrary to
the instructions in the vm config file), and Xen unconditionally expects
RSDP to be passed.

There are at least two bugs here.

1) RSDP was a late addition to the PVH boot protocol.  Xen's PVH
entrypoint must not mandate its existence, because there are releases of
the domain builder which don't provide it.

2) The HVM/PVH boot confusion.  This think this is a still-outstanding
bug around the broken assumption that the hvmloader binary speaks the
PVH protocol without advertising itself appropriately (I really regret
not objecting to those patches before they went in).  At the least, that
needs fixing by putting a proper ELF note in hvmloader, and the domain
builder needs to be updated to build all PVH-boot-ABI images consistently.

I don't have time to look into this at the moment, if anyone fancies
trying to fix these issues.

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

Reply via email to