[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH] KVM: x86: deprecate -M kernel-irqchip=off except for -M isap
From: |
Maxim Levitsky |
Subject: |
Re: [PATCH] KVM: x86: deprecate -M kernel-irqchip=off except for -M isapc |
Date: |
Mon, 01 Mar 2021 15:11:02 +0200 |
User-agent: |
Evolution 3.36.5 (3.36.5-2.fc32) |
On Mon, 2021-03-01 at 12:17 +0100, Paolo Bonzini wrote:
> 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.
>
> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Reviewed-by: Maxim Levitsky <mlevitsk@redhat.com>
Best regards,
Maxim Levitsky
> ---
> docs/system/deprecated.rst | 7 +++++++
> hw/intc/apic.c | 5 +++++
> 2 files changed, 12 insertions(+)
>
> diff --git a/docs/system/deprecated.rst b/docs/system/deprecated.rst
> index 561c916da2..ae180dc887 100644
> --- a/docs/system/deprecated.rst
> +++ b/docs/system/deprecated.rst
> @@ -153,6 +153,13 @@ The ``-writeconfig`` option is not able to serialize the
> entire contents
> of the QEMU command line. It is thus considered a failed experiment
> and deprecated, with no current replacement.
>
> +Userspace local APIC with KVM (x86, since 6.0)
> +'''''''''''''''''''''''''''''''''''''''''
> +
> +Using ``-M kernel-irqchip=off`` with x86 machine types that include a local
> +APIC is deprecated. The ``split`` setting is supported, as is using
> +``-M kernel-irqchip=off`` with the ISA PC machine type.
> +
> QEMU Machine Protocol (QMP) commands
> ------------------------------------
>
> diff --git a/hw/intc/apic.c b/hw/intc/apic.c
> index 3ada22f427..7e9601b89d 100644
> --- a/hw/intc/apic.c
> +++ b/hw/intc/apic.c
> @@ -875,6 +875,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);
>