diff options
author | Paolo Bonzini | 2021-03-01 12:14:14 +0100 |
---|---|---|
committer | Paolo Bonzini | 2021-03-06 11:41:54 +0100 |
commit | 2c933ac6a883606b85f8cf271bfb40379d077e97 (patch) | |
tree | c5db6ab7750d90dae226389b177e5fff440bd09c /hw/intc | |
parent | KVM: x86: do not fail if software breakpoint has already been removed (diff) | |
download | qemu-2c933ac6a883606b85f8cf271bfb40379d077e97.tar.gz qemu-2c933ac6a883606b85f8cf271bfb40379d077e97.tar.xz qemu-2c933ac6a883606b85f8cf271bfb40379d077e97.zip |
KVM: x86: deprecate -M kernel-irqchip=off except for -M isapc
The userspace local APIC is basically untested and does not support many
features such as TSC deadline timer, x2APIC or PV spinlocks. On the
other hand, the PIT and IOAPIC are okay as they are not tied to
the processor and are tested with -M kernel-irqchip=split.
Therefore, deprecate the local APIC and, with it, limit
-M kernel-irqchip=off to the ISA PC machine type, which does not
have a local APIC at all.
Reviewed-by: Maxim Levitsky <mlevitsk@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Diffstat (limited to 'hw/intc')
-rw-r--r-- | hw/intc/apic.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/hw/intc/apic.c b/hw/intc/apic.c index 3ada22f427..f4f50f974e 100644 --- a/hw/intc/apic.c +++ b/hw/intc/apic.c @@ -25,6 +25,7 @@ #include "hw/intc/i8259.h" #include "hw/pci/msi.h" #include "qemu/host-utils.h" +#include "sysemu/kvm.h" #include "trace.h" #include "hw/i386/apic-msidef.h" #include "qapi/error.h" @@ -875,6 +876,11 @@ static void apic_realize(DeviceState *dev, Error **errp) return; } + if (kvm_enabled()) { + warn_report("Userspace local APIC is deprecated for KVM."); + warn_report("Do not use kernel-irqchip except for the -M isapc machine type."); + } + memory_region_init_io(&s->io_memory, OBJECT(s), &apic_io_ops, s, "apic-msi", APIC_SPACE_SIZE); |