Skip to content

q35: change defaults for kernel irqchip and IR

Peter Xu qemu-devel 2 versions – In review

Get series with b4
b4 am [email protected]

Versions newest first · linked by author and title

  1. v2 Latest3 patches 20 repliesIn review
  2. v14 patches 8 repliesSuperseded

Changes in v2 from the cover letter

- drop patch 1, so we don't even need to consider old kernels for the default value [Paolo, Eduardo]
- fix up commit message of the split irqchip patch to mention that

Patches in v2 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/3q35: set split kernel irqchip as defaulthw/core/machine.c hw/i386/pc_q35.c include/hw/boards.h+5 -018 replies
2/3x86-iommu: switch intr_supported to OnOffAuto typehw/i386/acpi-build.c hw/i386/amd_iommu.c hw/i386/intel_iommu.c +3 more+24 -110 replies
3/3x86-iommu: turn on IR by default if properhw/i386/x86-iommu.c+4 -30 replies

Reviews trailers per patch

1 of 3 patches has a Reviewed-by or Acked-by of their own; the series has one for all of them.

PatchPaolo BonziniEduardo Habkost
SeriesA-b
1/3R-b
2/3
3/3

Trailers given in replies are filled; those carried in the patches from earlier versions are outlined with dashes.

Read the v2 thread

Cover letter [Qemu-devel] [PATCH v2 0/3] q35: change defaults for kernel irqchip and IR

v2:
- drop patch 1, so we don't even need to consider old kernels for the default value [Paolo, Eduardo]
- fix up commit message of the split irqchip patch to mention that

============= Original cover letter ================

This only changes q35. Nothing else.

Before this series, we have these default parameters:

- machine kernel-irqchip: on
- intel-iommu IR: off

This series wants to change these default variables into:

- machine kernel-irqchip: split
- intel-iommu IR: on

and at the meantime we should keep compatibility with old kernels and old versions of QEMU.

For old versions of QEMU: we used machine compat properties.

For old kernels (<4.4): if user didn't specify split kernel irqchip, we'll take it only as the first priority if it's supported by the kernel; otherwise, we will continue with complete kernel irqchip.

Both of these parameters should be good to have (split irqchip gains more security, while IR gets it too but even more, like x2apic). So let's try to make them as default if capable.

Tests ("split" stands for whether kernel split irqchip enabled, "IR" stands for whether IR is turned on):

   |--------------------------------------------------------+-------+----|
   | params                                                 | split | IR |
   |--------------------------------------------------------+-------+----|
   | -M q35                                                 |     0 | /  |
   | -M q35,accel=kvm                                       |     1 | /  |
   | -M pc-q35-3.1,accel=kvm                                |     0 | /  |
   | -M q35,accel=kvm,kernel-irqchip=off                    |     0 | /  |
   | -M q35,accel=kvm,kernel-irqchip=on                     |     0 | /  |
   | -M q35 -device intel-iommu                             |     0 | 1  |
   | -M q35,accel=kvm -device intel-iommu                   |     1 | 1  |
   | -M q35,accel=kvm,kernel-irqchip=on -device intel-iommu |     0 | 0  |
   |--------------------------------------------------------+-------+----|

I didn't try old kernels, though.

Any comment would be welcomed, thanks.

Peter Xu (3):
q35: set split kernel irqchip as default
x86-iommu: switch intr_supported to OnOffAuto type
x86-iommu: turn on IR by default if proper

 hw/core/machine.c           |  2 ++
 hw/i386/acpi-build.c        |  6 +++---
 hw/i386/amd_iommu.c         |  2 +-
 hw/i386/intel_iommu.c       |  6 +++---
 hw/i386/pc.c                |  2 +-
 hw/i386/pc_q35.c            |  2 ++
 hw/i386/x86-iommu.c         | 18 +++++++++++++++---
 include/hw/boards.h         |  1 +
 include/hw/i386/x86-iommu.h |  4 +++-
 9 files changed, 31 insertions(+), 12 deletions(-)
Signature · 1 line
2.17.1