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