[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH v5 14/18] q35: add "intremap" parameter to enable IR
From: |
Peter Xu |
Subject: |
[Qemu-devel] [PATCH v5 14/18] q35: add "intremap" parameter to enable IR |
Date: |
Thu, 28 Apr 2016 15:05:40 +0800 |
One flag is added to specify whether to enable IR for emulated IOMMU. By
default, interrupt remapping is not supportted. To enable it, we should
specify something like:
$ qemu-system-x86_64 -M q35,iommu=on,intremap=on
To be more clear, the following command:
$ qemu-system-x86_64 -M q35,iommu=on
Will enable IOMMU only, without interrupt remapping support.
Currently, Intel IOMMU IR only support kernel-irqchip={off|split}. We
need to specify either of it in -M as well.
Signed-off-by: Peter Xu <address@hidden>
---
hw/core/machine.c | 20 ++++++++++++++++++++
1 file changed, 20 insertions(+)
diff --git a/hw/core/machine.c b/hw/core/machine.c
index 276ad61..5994b9f 100644
--- a/hw/core/machine.c
+++ b/hw/core/machine.c
@@ -300,6 +300,20 @@ static void machine_set_iommu(Object *obj, bool value,
Error **errp)
ms->iommu = value;
}
+static bool machine_get_intremap(Object *obj, Error **errp)
+{
+ MachineState *ms = MACHINE(obj);
+
+ return ms->iommu_intr;
+}
+
+static void machine_set_intremap(Object *obj, bool value, Error **errp)
+{
+ MachineState *ms = MACHINE(obj);
+
+ ms->iommu_intr = value;
+}
+
static void machine_set_suppress_vmdesc(Object *obj, bool value, Error **errp)
{
MachineState *ms = MACHINE(obj);
@@ -480,6 +494,12 @@ static void machine_initfn(Object *obj)
object_property_set_description(obj, "iommu",
"Set on/off to enable/disable Intel IOMMU
(VT-d)",
NULL);
+ object_property_add_bool(obj, "intremap", machine_get_intremap,
+ machine_set_intremap, NULL);
+ object_property_set_description(obj, "intremap",
+ "Set on/off to enable/disable IOMMU"
+ " interrupt remapping",
+ NULL);
object_property_add_bool(obj, "suppress-vmdesc",
machine_get_suppress_vmdesc,
machine_set_suppress_vmdesc, NULL);
--
2.4.3
- [Qemu-devel] [PATCH v5 06/18] intel_iommu: handle interrupt remap enable, (continued)
- [Qemu-devel] [PATCH v5 06/18] intel_iommu: handle interrupt remap enable, Peter Xu, 2016/04/28
- [Qemu-devel] [PATCH v5 08/18] intel_iommu: provide helper function vtd_get_iommu, Peter Xu, 2016/04/28
- [Qemu-devel] [PATCH v5 07/18] intel_iommu: define several structs for IOMMU IR, Peter Xu, 2016/04/28
- [Qemu-devel] [PATCH v5 09/18] intel_iommu: add IR translation faults defines, Peter Xu, 2016/04/28
- [Qemu-devel] [PATCH v5 10/18] intel_iommu: Add support for PCI MSI remap, Peter Xu, 2016/04/28
- [Qemu-devel] [PATCH v5 11/18] q35: ioapic: add support for emulated IOAPIC IR, Peter Xu, 2016/04/28
- [Qemu-devel] [PATCH v5 13/18] intel_iommu: add support for split irqchip, Peter Xu, 2016/04/28
- [Qemu-devel] [PATCH v5 12/18] ioapic: introduce ioapic_entry_parse() helper, Peter Xu, 2016/04/28
- [Qemu-devel] [PATCH v5 14/18] q35: add "intremap" parameter to enable IR,
Peter Xu <=
- [Qemu-devel] [PATCH v5 15/18] intel_iommu: introduce IEC notifiers, Peter Xu, 2016/04/28
- Re: [Qemu-devel] [PATCH v5 15/18] intel_iommu: introduce IEC notifiers, Jan Kiszka, 2016/04/28
- Re: [Qemu-devel] [PATCH v5 15/18] intel_iommu: introduce IEC notifiers, Peter Xu, 2016/04/28
- Re: [Qemu-devel] [PATCH v5 15/18] intel_iommu: introduce IEC notifiers, Jan Kiszka, 2016/04/28
- Re: [Qemu-devel] [PATCH v5 15/18] intel_iommu: introduce IEC notifiers, Peter Xu, 2016/04/28
- Re: [Qemu-devel] [PATCH v5 15/18] intel_iommu: introduce IEC notifiers, David Kiarie, 2016/04/28
- Re: [Qemu-devel] [PATCH v5 15/18] intel_iommu: introduce IEC notifiers, Peter Xu, 2016/04/28
[Qemu-devel] [PATCH v5 16/18] ioapic: register VT-d IEC invalidate notifier, Peter Xu, 2016/04/28
[Qemu-devel] [PATCH v5 17/18] ioapic: keep RO bits for IOAPIC entry, Peter Xu, 2016/04/28