[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PULL 22/55] q35: ioapic: add support for emulated IOAP
From: |
Peter Xu |
Subject: |
Re: [Qemu-devel] [PULL 22/55] q35: ioapic: add support for emulated IOAPIC IR |
Date: |
Fri, 11 Nov 2016 18:17:05 -0500 |
User-agent: |
Mutt/1.5.24 (2015-08-30) |
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 <address@hidden>
> >
> > 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 <address@hidden>
> > Signed-off-by: Peter Xu <address@hidden>
> > ---
> > 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