Hi, Emilio, On Fri, Nov 11, 2016 at 12:18:04PM -0500, Emilio G. Cota wrote: > On Tue, Jul 19, 2016 at 01:44:41 +0300, Michael S. Tsirkin wrote: > > From: Peter Xu <pet...@redhat.com> > > > > This patch translates all IOAPIC interrupts into MSI ones. One pseudo > > ioapic address space is added to transfer the MSI message. By default, > > it will be system memory address space. When IR is enabled, it will be > > IOMMU address space. > > > > Currently, only emulated IOAPIC is supported. > > > > Idea suggested by Jan Kiszka and Rita Sinha in the following patch: > > > > https://lists.gnu.org/archive/html/qemu-devel/2016-03/msg01933.html > > > > Signed-off-by: Peter Xu <pet...@redhat.com> > > Signed-off-by: Peter Xu <pet...@redhat.com> > > --- > > include/hw/i386/apic-msidef.h | 1 + > > include/hw/i386/ioapic_internal.h | 1 + > > include/hw/i386/pc.h | 4 ++++ > > hw/i386/intel_iommu.c | 6 +++++- > > hw/i386/pc.c | 3 +++ > > hw/intc/ioapic.c | 28 ++++++++++++++++++++++++---- > > 6 files changed, 38 insertions(+), 5 deletions(-) > > This commit (which sits between 2.6 and 2.7) doesn't let me boot a > buildroot-generated x86_64 image when QEMU is configured with > --with-coroutine=gthread (it deadlocks on the BQL shortly after > the framebuffer comes up.) > > Is this something we should worry about? I see in the configure > script that --with-coroutine=gthread "is not functional enough to run > QEMU proper". My goal is to use thread sanitizer (tsan) to test > mttcg for x86-64. Unfortunately, tsan blows with ucontext coroutines.
I tried to build QEMU using: ../configure --target-list=x86_64-softmmu --with-coroutine=gthread with above commit. QEMU binary can boot well with either KVM or TCG (with no QEMU paramter, so only BIOS is up). However if I provide a image disk to the VM, KVM version worked, but TCG didn't. Is this the same error you have encountered? I also tried to test with exactly the same build parameters with the previous commit of above (09cd058a2c, "intel_iommu: get rid of {0} initializers"), it has the same problem (TCG version cannot boot guest kernel if I provide a disk as parameter). Do we still support gthread as coroutine backend? And to what extend do we support it? Thanks, -- peterx