[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PULL v3 42/44] q35: set split kernel irqchip as default
From: |
Michael S. Tsirkin |
Subject: |
[Qemu-devel] [PULL v3 42/44] q35: set split kernel irqchip as default |
Date: |
Thu, 20 Dec 2018 13:40:18 -0500 |
From: Peter Xu <address@hidden>
Starting from QEMU 4.0, let's specify "split" as the default value for
kernel-irqchip.
So for QEMU>=4.0 we'll have: allowed=Y,required=N,split=Y
for QEMU<=3.1 we'll have: allowed=Y,required=N,split=N
(omitting all the "kernel_irqchip_" prefix)
Note that this will let the default q35 machine type to depend on
Linux version 4.4 or newer because that's where split irqchip is
introduced in kernel. But it's fine since we're boosting supported
Linux version for QEMU 4.0 to around Linux 4.5. For more information
please refer to the discussion on AMD's RDTSCP:
https://lore.kernel.org/lkml/address@hidden/
Signed-off-by: Peter Xu <address@hidden>
Reviewed-by: Eduardo Habkost <address@hidden>
Acked-by: Paolo Bonzini <address@hidden>
Reviewed-by: Michael S. Tsirkin <address@hidden>
Signed-off-by: Michael S. Tsirkin <address@hidden>
---
include/hw/boards.h | 1 +
hw/core/machine.c | 2 ++
hw/i386/pc_q35.c | 2 ++
3 files changed, 5 insertions(+)
diff --git a/include/hw/boards.h b/include/hw/boards.h
index f82f28468b..362384815e 100644
--- a/include/hw/boards.h
+++ b/include/hw/boards.h
@@ -195,6 +195,7 @@ struct MachineClass {
const char *hw_version;
ram_addr_t default_ram_size;
const char *default_cpu_type;
+ bool default_kernel_irqchip_split;
bool option_rom_has_mr;
bool rom_file_has_mr;
int minimum_page_bits;
diff --git a/hw/core/machine.c b/hw/core/machine.c
index c51423b647..4439ea663f 100644
--- a/hw/core/machine.c
+++ b/hw/core/machine.c
@@ -653,8 +653,10 @@ static void machine_class_base_init(ObjectClass *oc, void
*data)
static void machine_initfn(Object *obj)
{
MachineState *ms = MACHINE(obj);
+ MachineClass *mc = MACHINE_GET_CLASS(obj);
ms->kernel_irqchip_allowed = true;
+ ms->kernel_irqchip_split = mc->default_kernel_irqchip_split;
ms->kvm_shadow_mem = -1;
ms->dump_guest_core = true;
ms->mem_merge = true;
diff --git a/hw/i386/pc_q35.c b/hw/i386/pc_q35.c
index 8836d21485..0a3f3f18e4 100644
--- a/hw/i386/pc_q35.c
+++ b/hw/i386/pc_q35.c
@@ -304,6 +304,7 @@ static void pc_q35_machine_options(MachineClass *m)
m->units_per_default_bus = 1;
m->default_machine_opts = "firmware=bios-256k.bin";
m->default_display = "std";
+ m->default_kernel_irqchip_split = true;
m->no_floppy = 1;
machine_class_allow_dynamic_sysbus_dev(m, TYPE_AMD_IOMMU_DEVICE);
machine_class_allow_dynamic_sysbus_dev(m, TYPE_INTEL_IOMMU_DEVICE);
@@ -323,6 +324,7 @@ DEFINE_Q35_MACHINE(v4_0, "pc-q35-4.0", NULL,
static void pc_q35_3_1_machine_options(MachineClass *m)
{
pc_q35_4_0_machine_options(m);
+ m->default_kernel_irqchip_split = false;
m->alias = NULL;
SET_MACHINE_COMPAT(m, PC_COMPAT_3_1);
}
--
MST
- [Qemu-devel] [PULL v3 36/44] pci/pcihp: perform unplug via the hotplug handler, (continued)
- [Qemu-devel] [PULL v3 36/44] pci/pcihp: perform unplug via the hotplug handler, Michael S. Tsirkin, 2018/12/20
- [Qemu-devel] [PULL v3 30/44] hw/i386: Remove deprecated machines pc-0.10 and pc-0.11, Michael S. Tsirkin, 2018/12/20
- [Qemu-devel] [PULL v3 35/44] pci/pcihp: overwrite hotplug handler recursively from the start, Michael S. Tsirkin, 2018/12/20
- [Qemu-devel] [PULL v3 34/44] pci/pcihp: perform check for bus capability in pre_plug handler, Michael S. Tsirkin, 2018/12/20
- [Qemu-devel] [PULL v3 39/44] pci/shpc: perform unplug via the hotplug handler, Michael S. Tsirkin, 2018/12/20
- [Qemu-devel] [PULL v3 40/44] spapr_pci: perform unplug via the hotplug handler, Michael S. Tsirkin, 2018/12/20
- [Qemu-devel] [PULL v3 38/44] pci: Reuse pci-bridge hotplug handler handlers for pcie-pci-bridge, Michael S. Tsirkin, 2018/12/20
- [Qemu-devel] [PULL v3 41/44] pci: Adjust PCI config limit based on bus topology, Michael S. Tsirkin, 2018/12/20
- [Qemu-devel] [PULL v3 44/44] x86-iommu: turn on IR by default if proper, Michael S. Tsirkin, 2018/12/20
- [Qemu-devel] [PULL v3 43/44] x86-iommu: switch intr_supported to OnOffAuto type, Michael S. Tsirkin, 2018/12/20
- [Qemu-devel] [PULL v3 42/44] q35: set split kernel irqchip as default,
Michael S. Tsirkin <=
- Re: [Qemu-devel] [PULL v3 00/44] pci, pc, virtio: fixes, features, Peter Maydell, 2018/12/21
- Re: [Qemu-devel] [PULL v3 00/44] pci, pc, virtio: fixes, features, no-reply, 2018/12/26