[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH v6 08/26] intel_iommu: provide helper function v
From: |
David Kiarie |
Subject: |
Re: [Qemu-devel] [PATCH v6 08/26] intel_iommu: provide helper function vtd_get_iommu |
Date: |
Thu, 5 May 2016 12:29:13 +0300 |
On Thu, May 5, 2016 at 6:25 AM, Peter Xu <address@hidden> wrote:
> Moves acpi_get_iommu() under VT-d to make it a public function.
>
> Signed-off-by: Peter Xu <address@hidden>
> ---
> hw/i386/acpi-build.c | 7 +------
> hw/i386/intel_iommu.c | 13 +++++++++++++
> include/hw/i386/intel_iommu.h | 2 ++
> 3 files changed, 16 insertions(+), 6 deletions(-)
>
> diff --git a/hw/i386/acpi-build.c b/hw/i386/acpi-build.c
> index 5d2d87b..b064bc2 100644
> --- a/hw/i386/acpi-build.c
> +++ b/hw/i386/acpi-build.c
> @@ -2677,12 +2677,7 @@ static bool acpi_get_mcfg(AcpiMcfgInfo *mcfg)
>
> static bool acpi_has_iommu(void)
> {
> - bool ambiguous;
> - Object *intel_iommu;
> -
> - intel_iommu = object_resolve_path_type("", TYPE_INTEL_IOMMU_DEVICE,
> - &ambiguous);
> - return intel_iommu && !ambiguous;
> + return !!vtd_iommu_get();
> }
This is not consistent with what we have in the AMD IOMMU patches but
I guess this could be easily fixed.
>
> static
> diff --git a/hw/i386/intel_iommu.c b/hw/i386/intel_iommu.c
> index 4d14124..a44289f 100644
> --- a/hw/i386/intel_iommu.c
> +++ b/hw/i386/intel_iommu.c
> @@ -2001,6 +2001,19 @@ VTDAddressSpace *vtd_find_add_as(IntelIOMMUState *s,
> PCIBus *bus, int devfn)
> return vtd_dev_as;
> }
>
> +IntelIOMMUState *vtd_iommu_get(void)
> +{
> + bool ambiguous = false;
> + Object *intel_iommu = NULL;
> +
> + intel_iommu = object_resolve_path_type("", TYPE_INTEL_IOMMU_DEVICE,
> + &ambiguous);
> + if (ambiguous)
> + intel_iommu = NULL;
> +
> + return (IntelIOMMUState *)intel_iommu;
> +}
> +
> /* Do the initialization. It will also be called when reset, so pay
> * attention when adding new initialization stuff.
> */
> diff --git a/include/hw/i386/intel_iommu.h b/include/hw/i386/intel_iommu.h
> index 4914fe6..9ee84f7 100644
> --- a/include/hw/i386/intel_iommu.h
> +++ b/include/hw/i386/intel_iommu.h
> @@ -196,5 +196,7 @@ struct IntelIOMMUState {
> * create a new one if none exists
> */
> VTDAddressSpace *vtd_find_add_as(IntelIOMMUState *s, PCIBus *bus, int devfn);
> +/* Get default IOMMU object */
> +IntelIOMMUState *vtd_iommu_get(void);
>
> #endif
> --
> 2.4.11
>
- [Qemu-devel] [PATCH v6 00/26] IOMMU: Enable interrupt remapping for Intel IOMMU, Peter Xu, 2016/05/04
- [Qemu-devel] [PATCH v6 01/26] acpi: enable INTR for DMAR report structure, Peter Xu, 2016/05/04
- [Qemu-devel] [PATCH v6 02/26] intel_iommu: allow queued invalidation for IR, Peter Xu, 2016/05/04
- [Qemu-devel] [PATCH v6 03/26] intel_iommu: set IR bit for ECAP register, Peter Xu, 2016/05/04
- [Qemu-devel] [PATCH v6 04/26] acpi: add DMAR scope definition for root IOAPIC, Peter Xu, 2016/05/04
- [Qemu-devel] [PATCH v6 05/26] intel_iommu: define interrupt remap table addr register, Peter Xu, 2016/05/04
- [Qemu-devel] [PATCH v6 06/26] intel_iommu: handle interrupt remap enable, Peter Xu, 2016/05/04
- [Qemu-devel] [PATCH v6 07/26] intel_iommu: define several structs for IOMMU IR, Peter Xu, 2016/05/04
- [Qemu-devel] [PATCH v6 08/26] intel_iommu: provide helper function vtd_get_iommu, Peter Xu, 2016/05/04
- Re: [Qemu-devel] [PATCH v6 08/26] intel_iommu: provide helper function vtd_get_iommu,
David Kiarie <=
- [Qemu-devel] [PATCH v6 09/26] intel_iommu: add IR translation faults defines, Peter Xu, 2016/05/04
- [Qemu-devel] [PATCH v6 10/26] intel_iommu: Add support for PCI MSI remap, Peter Xu, 2016/05/04
- [Qemu-devel] [PATCH v6 11/26] q35: ioapic: add support for emulated IOAPIC IR, Peter Xu, 2016/05/04
- [Qemu-devel] [PATCH v6 12/26] ioapic: introduce ioapic_entry_parse() helper, Peter Xu, 2016/05/04
- [Qemu-devel] [PATCH v6 13/26] intel_iommu: add support for split irqchip, Peter Xu, 2016/05/04
- [Qemu-devel] [PATCH v6 14/26] q35: add "intremap" parameter to enable IR, Peter Xu, 2016/05/04
- [Qemu-devel] [PATCH v6 15/26] intel_iommu: introduce IEC notifiers, Peter Xu, 2016/05/04
- [Qemu-devel] [PATCH v6 16/26] ioapic: register VT-d IEC invalidate notifier, Peter Xu, 2016/05/04
- [Qemu-devel] [PATCH v6 17/26] ioapic: keep RO bits for IOAPIC entry, Peter Xu, 2016/05/04