On Tue, Jul 19, 2016 at 01:44:41 +0300, Michael S. Tsirkin wrote:
> From: Peter Xu <[email protected]>
>
> 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 <[email protected]>
> Signed-off-by: Peter Xu <[email protected]>
> ---
> 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.
Thanks,
Emilio