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 --------
Subject: Re: [Qemu-devel] qemu 2.2 crash on linux hvm domU (full backtrace included)
Date:   Wed, 19 Nov 2014 15:04:58 +0100
From:   Fabio Fantoni <fabio.fant...@m2r.biz>
To: xen-devel <xen-de...@lists.xensource.com>, qemu-devel@nongnu.org <qemu-devel@nongnu.org>, spice-de...@lists.freedesktop.org CC: anthony PERARD <anthony.per...@citrix.com>, dsl...@verizon.com, Stefano Stabellini <stefano.stabell...@eu.citrix.com>



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

Reply via email to