On 11/20/14 01:04, Paolo Bonzini wrote:
On 20/11/2014 01:58, Eduardo Habkost wrote:
if (pc_machine->vmport == VMPORT_AUTO) {
no_vmport = xen_enabled();
} else {
no_vmport = (pc_machine->vmport == VMPORT_ON);
}
I'm still not sure why the configuration should differ for "-M pc"
depending on whether xen is enabled.
Paolo
The key reason is that with current xen, if vmport is enabled QEMU
will crash:
-------- Forwarded Message --------
Il 14/11/2014 12:25, Fabio Fantoni ha scritto:
> dom0 xen-unstable from staging git with "x86/hvm: Extend HVM cpuid
> leaf with vcpu id" and "x86/hvm: Add per-vcpu evtchn upcalls" patches,
> and qemu 2.2 from spice git (spice/next commit
> e779fa0a715530311e6f59fc8adb0f6eca914a89):
> https://github.com/Fantu/Xen/commits/rebase/m2r-staging
I tried with qemu tag v2.2.0-rc2 and crash still happen, here the full
backtrace of latest test:
> Program received signal SIGSEGV, Segmentation fault.
> 0x0000555555689b07 in vmport_ioport_read (opaque=0x5555564443a0, addr=0,
> size=4) at /mnt/vm/xen/Xen/tools/qemu-xen-dir/hw/misc/vmport.c:73
> 73 eax = env->regs[R_EAX];
> (gdb) bt full
> #0 0x0000555555689b07 in vmport_ioport_read (opaque=0x5555564443a0,
> addr=0,
> size=4) at /mnt/vm/xen/Xen/tools/qemu-xen-dir/hw/misc/vmport.c:73
> s = 0x5555564443a0
> cs = 0x0
> cpu = 0x0
> __func__ = "vmport_ioport_read"
> env = 0x8250
> command = 0 '\000'
> eax = 0
> #1 0x0000555555655fc4 in memory_region_read_accessor (mr=0x555556444428,
> addr=0, value=0x7fffffffd8d0, size=4, shift=0, mask=4294967295)
> at /mnt/vm/xen/Xen/tools/qemu-xen-dir/memory.c:410
> tmp = 0
> #2 0x00005555556562b7 in access_with_adjusted_size (addr=0,
> value=0x7fffffffd8d0, size=4, access_size_min=4, access_size_max=4,
> access=0x555555655f62 <memory_region_read_accessor>,
> mr=0x555556444428)
> at /mnt/vm/xen/Xen/tools/qemu-xen-dir/memory.c:480
> access_mask = 4294967295
> access_size = 4
> i = 0
> #3 0x00005555556590e9 in memory_region_dispatch_read1
> (mr=0x555556444428,
> addr=0, size=4) at /mnt/vm/xen/Xen/tools/qemu-xen-dir/memory.c:1077
> data = 0
> #4 0x00005555556591b1 in memory_region_dispatch_read (mr=0x555556444428,
> addr=0, pval=0x7fffffffd9a8, size=4)
> ---Type <return> to continue, or q <return> to quit---
> at /mnt/vm/xen/Xen/tools/qemu-xen-dir/memory.c:1099
> No locals.
...
and in QEMU 2.1 and older it just xen_enabled().
-Don Slutz