* [PATCH V1] iommu/hyperv: Create hyperv subdirectory under drivers/iommu
@ 2026-05-29 1:41 Mukesh R
2026-06-01 16:07 ` Jacob Pan
0 siblings, 1 reply; 6+ messages in thread
From: Mukesh R @ 2026-05-29 1:41 UTC (permalink / raw)
To: linux-kernel, iommu
Cc: mhklinux, wei.liu, zhangyu1, jacob.pan, schakrabarti, mrathor
Create hyperv subdirectory under drivers/iommu in anticipation of more
hyperv related files from upcoming PCI passthru and pv-IOMMU patches.
Also, the current file hyperv-iommu.c actually implements irq remapping,
so rename to more appropriate hv-irq-remap.c and move it under the new
hyperv subdirectory. Since this file implements irq_remap_ops exposed
by drivers/iommu/irq_remapping.h, it cannot be relocated to the irq
directory. This is in sync with other backend directories like amd and
intel there.
Lastly, this file should not be tied to CONFIG_HYPERV_IOMMU, but to
CONFIG_HYPERV and CONFIG_IRQ_REMAP.
Signed-off-by: Mukesh R <mrathor@linux.microsoft.com>
---
MAINTAINERS | 2 +-
drivers/iommu/Kconfig | 9 ---------
drivers/iommu/Makefile | 2 +-
drivers/iommu/hyperv/Makefile | 2 ++
drivers/iommu/{hyperv-iommu.c => hyperv/hv-irq-remap.c} | 8 +-------
drivers/iommu/irq_remapping.c | 2 +-
6 files changed, 6 insertions(+), 19 deletions(-)
create mode 100644 drivers/iommu/hyperv/Makefile
rename drivers/iommu/{hyperv-iommu.c => hyperv/hv-irq-remap.c} (99%)
diff --git a/MAINTAINERS b/MAINTAINERS
index b539be153f6a..93a7105e9cef 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -11988,7 +11988,7 @@ F: drivers/clocksource/hyperv_timer.c
F: drivers/hid/hid-hyperv.c
F: drivers/hv/
F: drivers/input/serio/hyperv-keyboard.c
-F: drivers/iommu/hyperv-iommu.c
+F: drivers/iommu/hyperv/
F: drivers/net/ethernet/microsoft/
F: drivers/net/hyperv/
F: drivers/pci/controller/pci-hyperv-intf.c
diff --git a/drivers/iommu/Kconfig b/drivers/iommu/Kconfig
index f86262b11416..1becc0f20222 100644
--- a/drivers/iommu/Kconfig
+++ b/drivers/iommu/Kconfig
@@ -351,15 +351,6 @@ config MTK_IOMMU_V1
if unsure, say N here.
-config HYPERV_IOMMU
- bool "Hyper-V IRQ Handling"
- depends on HYPERV && X86
- select IOMMU_API
- default HYPERV
- help
- Stub IOMMU driver to handle IRQs to support Hyper-V Linux
- guest and root partitions.
-
config VIRTIO_IOMMU
tristate "Virtio IOMMU driver"
depends on VIRTIO
diff --git a/drivers/iommu/Makefile b/drivers/iommu/Makefile
index 0275821f4ef9..d9683422aecb 100644
--- a/drivers/iommu/Makefile
+++ b/drivers/iommu/Makefile
@@ -4,6 +4,7 @@ obj-$(CONFIG_AMD_IOMMU) += amd/
obj-$(CONFIG_INTEL_IOMMU) += intel/
obj-$(CONFIG_RISCV_IOMMU) += riscv/
obj-$(CONFIG_GENERIC_PT) += generic_pt/fmt/
+obj-$(CONFIG_HYPERV) += hyperv/
obj-$(CONFIG_IOMMU_API) += iommu.o
obj-$(CONFIG_IOMMU_SUPPORT) += iommu-pages.o
obj-$(CONFIG_IOMMU_API) += iommu-traces.o
@@ -30,7 +31,6 @@ obj-$(CONFIG_TEGRA_IOMMU_SMMU) += tegra-smmu.o
obj-$(CONFIG_EXYNOS_IOMMU) += exynos-iommu.o
obj-$(CONFIG_FSL_PAMU) += fsl_pamu.o fsl_pamu_domain.o
obj-$(CONFIG_S390_IOMMU) += s390-iommu.o
-obj-$(CONFIG_HYPERV_IOMMU) += hyperv-iommu.o
obj-$(CONFIG_VIRTIO_IOMMU) += virtio-iommu.o
obj-$(CONFIG_IOMMU_SVA) += iommu-sva.o
obj-$(CONFIG_IOMMU_IOPF) += io-pgfault.o
diff --git a/drivers/iommu/hyperv/Makefile b/drivers/iommu/hyperv/Makefile
new file mode 100644
index 000000000000..0053e00e08e6
--- /dev/null
+++ b/drivers/iommu/hyperv/Makefile
@@ -0,0 +1,2 @@
+# SPDX-License-Identifier: GPL-2.0
+obj-$(CONFIG_IRQ_REMAP) += hv-irq-remap.o
diff --git a/drivers/iommu/hyperv-iommu.c b/drivers/iommu/hyperv/hv-irq-remap.c
similarity index 99%
rename from drivers/iommu/hyperv-iommu.c
rename to drivers/iommu/hyperv/hv-irq-remap.c
index 479103261ae6..b34ee9589190 100644
--- a/drivers/iommu/hyperv-iommu.c
+++ b/drivers/iommu/hyperv/hv-irq-remap.c
@@ -7,13 +7,11 @@
*
* Author : Lan Tianyu <Tianyu.Lan@microsoft.com>
*/
-
#include <linux/types.h>
#include <linux/interrupt.h>
#include <linux/irq.h>
#include <linux/iommu.h>
#include <linux/module.h>
-
#include <asm/apic.h>
#include <asm/cpu.h>
#include <asm/hw_irq.h>
@@ -22,9 +20,7 @@
#include <asm/hypervisor.h>
#include <asm/mshyperv.h>
-#include "irq_remapping.h"
-
-#ifdef CONFIG_IRQ_REMAP
+#include "../irq_remapping.h"
/*
* According 82093AA IO-APIC spec , IO APIC has a 24-entry Interrupt
@@ -330,5 +326,3 @@ static const struct irq_domain_ops hyperv_root_ir_domain_ops = {
.alloc = hyperv_root_irq_remapping_alloc,
.free = hyperv_root_irq_remapping_free,
};
-
-#endif
diff --git a/drivers/iommu/irq_remapping.c b/drivers/iommu/irq_remapping.c
index c2443659812a..41bf65e4ea88 100644
--- a/drivers/iommu/irq_remapping.c
+++ b/drivers/iommu/irq_remapping.c
@@ -108,7 +108,7 @@ int __init irq_remapping_prepare(void)
else if (IS_ENABLED(CONFIG_AMD_IOMMU) &&
amd_iommu_irq_ops.prepare() == 0)
remap_ops = &amd_iommu_irq_ops;
- else if (IS_ENABLED(CONFIG_HYPERV_IOMMU) &&
+ else if (IS_ENABLED(CONFIG_HYPERV) &&
hyperv_irq_remap_ops.prepare() == 0)
remap_ops = &hyperv_irq_remap_ops;
else
--
2.51.2.vfs.0.1
^ permalink raw reply related [flat|nested] 6+ messages in thread
* Re: [PATCH V1] iommu/hyperv: Create hyperv subdirectory under drivers/iommu
2026-05-29 1:41 [PATCH V1] iommu/hyperv: Create hyperv subdirectory under drivers/iommu Mukesh R
@ 2026-06-01 16:07 ` Jacob Pan
2026-06-01 21:23 ` Mukesh R
0 siblings, 1 reply; 6+ messages in thread
From: Jacob Pan @ 2026-06-01 16:07 UTC (permalink / raw)
To: Mukesh R
Cc: linux-kernel, iommu, mhklinux, wei.liu, zhangyu1, schakrabarti,
jacob.pan
Hi Mukesh,
On Thu, 28 May 2026 18:41:48 -0700
Mukesh R <mrathor@linux.microsoft.com> wrote:
> Create hyperv subdirectory under drivers/iommu in anticipation of more
> hyperv related files from upcoming PCI passthru and pv-IOMMU patches.
> Also, the current file hyperv-iommu.c actually implements irq
> remapping, so rename to more appropriate hv-irq-remap.c and move it
> under the new hyperv subdirectory. Since this file implements
> irq_remap_ops exposed by drivers/iommu/irq_remapping.h, it cannot be
> relocated to the irq directory. This is in sync with other backend
> directories like amd and intel there.
>
> Lastly, this file should not be tied to CONFIG_HYPERV_IOMMU, but to
> CONFIG_HYPERV and CONFIG_IRQ_REMAP.
>
> Signed-off-by: Mukesh R <mrathor@linux.microsoft.com>
> ---
> MAINTAINERS | 2 +-
> drivers/iommu/Kconfig | 9 ---------
> drivers/iommu/Makefile | 2 +-
> drivers/iommu/hyperv/Makefile | 2 ++
> drivers/iommu/{hyperv-iommu.c => hyperv/hv-irq-remap.c} | 8 +-------
> drivers/iommu/irq_remapping.c | 2 +-
> 6 files changed, 6 insertions(+), 19 deletions(-)
> create mode 100644 drivers/iommu/hyperv/Makefile
> rename drivers/iommu/{hyperv-iommu.c => hyperv/hv-irq-remap.c} (99%)
>
> diff --git a/MAINTAINERS b/MAINTAINERS
> index b539be153f6a..93a7105e9cef 100644
> --- a/MAINTAINERS
> +++ b/MAINTAINERS
> @@ -11988,7 +11988,7 @@ F: drivers/clocksource/hyperv_timer.c
> F: drivers/hid/hid-hyperv.c
> F: drivers/hv/
> F: drivers/input/serio/hyperv-keyboard.c
> -F: drivers/iommu/hyperv-iommu.c
> +F: drivers/iommu/hyperv/
> F: drivers/net/ethernet/microsoft/
> F: drivers/net/hyperv/
> F: drivers/pci/controller/pci-hyperv-intf.c
> diff --git a/drivers/iommu/Kconfig b/drivers/iommu/Kconfig
> index f86262b11416..1becc0f20222 100644
> --- a/drivers/iommu/Kconfig
> +++ b/drivers/iommu/Kconfig
> @@ -351,15 +351,6 @@ config MTK_IOMMU_V1
>
> if unsure, say N here.
>
> -config HYPERV_IOMMU
> - bool "Hyper-V IRQ Handling"
> - depends on HYPERV && X86
> - select IOMMU_API
> - default HYPERV
> - help
> - Stub IOMMU driver to handle IRQs to support Hyper-V Linux
> - guest and root partitions.
> -
> config VIRTIO_IOMMU
> tristate "Virtio IOMMU driver"
> depends on VIRTIO
> diff --git a/drivers/iommu/Makefile b/drivers/iommu/Makefile
> index 0275821f4ef9..d9683422aecb 100644
> --- a/drivers/iommu/Makefile
> +++ b/drivers/iommu/Makefile
> @@ -4,6 +4,7 @@ obj-$(CONFIG_AMD_IOMMU) += amd/
> obj-$(CONFIG_INTEL_IOMMU) += intel/
> obj-$(CONFIG_RISCV_IOMMU) += riscv/
> obj-$(CONFIG_GENERIC_PT) += generic_pt/fmt/
> +obj-$(CONFIG_HYPERV) += hyperv/
> obj-$(CONFIG_IOMMU_API) += iommu.o
> obj-$(CONFIG_IOMMU_SUPPORT) += iommu-pages.o
> obj-$(CONFIG_IOMMU_API) += iommu-traces.o
> @@ -30,7 +31,6 @@ obj-$(CONFIG_TEGRA_IOMMU_SMMU) += tegra-smmu.o
> obj-$(CONFIG_EXYNOS_IOMMU) += exynos-iommu.o
> obj-$(CONFIG_FSL_PAMU) += fsl_pamu.o fsl_pamu_domain.o
> obj-$(CONFIG_S390_IOMMU) += s390-iommu.o
> -obj-$(CONFIG_HYPERV_IOMMU) += hyperv-iommu.o
> obj-$(CONFIG_VIRTIO_IOMMU) += virtio-iommu.o
> obj-$(CONFIG_IOMMU_SVA) += iommu-sva.o
> obj-$(CONFIG_IOMMU_IOPF) += io-pgfault.o
> diff --git a/drivers/iommu/hyperv/Makefile
> b/drivers/iommu/hyperv/Makefile new file mode 100644
> index 000000000000..0053e00e08e6
> --- /dev/null
> +++ b/drivers/iommu/hyperv/Makefile
> @@ -0,0 +1,2 @@
> +# SPDX-License-Identifier: GPL-2.0
> +obj-$(CONFIG_IRQ_REMAP) += hv-irq-remap.o
Should the name be x86 specific? This file will never be built for ARM
because:
CONFIG_IRQ_REMAP depends on:
depends on X86_64 && X86_IO_APIC && PCI_MSI && ACPI
perhaps, hv-x86-irq-remap.c? hv-irq-remap.c sounds like a
generic Hyper-V IRQ-remapping backend and may be misleading once arm64
Hyper-V IOMMU/interrupt support grows under this directory.
> diff --git a/drivers/iommu/hyperv-iommu.c
> b/drivers/iommu/hyperv/hv-irq-remap.c similarity index 99%
> rename from drivers/iommu/hyperv-iommu.c
> rename to drivers/iommu/hyperv/hv-irq-remap.c
> index 479103261ae6..b34ee9589190 100644
> --- a/drivers/iommu/hyperv-iommu.c
> +++ b/drivers/iommu/hyperv/hv-irq-remap.c
> @@ -7,13 +7,11 @@
> *
> * Author : Lan Tianyu <Tianyu.Lan@microsoft.com>
> */
> -
> #include <linux/types.h>
> #include <linux/interrupt.h>
> #include <linux/irq.h>
> #include <linux/iommu.h>
> #include <linux/module.h>
> -
> #include <asm/apic.h>
> #include <asm/cpu.h>
> #include <asm/hw_irq.h>
> @@ -22,9 +20,7 @@
> #include <asm/hypervisor.h>
> #include <asm/mshyperv.h>
>
> -#include "irq_remapping.h"
> -
> -#ifdef CONFIG_IRQ_REMAP
> +#include "../irq_remapping.h"
>
> /*
> * According 82093AA IO-APIC spec , IO APIC has a 24-entry Interrupt
> @@ -330,5 +326,3 @@ static const struct irq_domain_ops
> hyperv_root_ir_domain_ops = { .alloc =
> hyperv_root_irq_remapping_alloc, .free =
> hyperv_root_irq_remapping_free, };
> -
> -#endif
> diff --git a/drivers/iommu/irq_remapping.c
> b/drivers/iommu/irq_remapping.c index c2443659812a..41bf65e4ea88
> 100644 --- a/drivers/iommu/irq_remapping.c
> +++ b/drivers/iommu/irq_remapping.c
> @@ -108,7 +108,7 @@ int __init irq_remapping_prepare(void)
> else if (IS_ENABLED(CONFIG_AMD_IOMMU) &&
> amd_iommu_irq_ops.prepare() == 0)
> remap_ops = &amd_iommu_irq_ops;
> - else if (IS_ENABLED(CONFIG_HYPERV_IOMMU) &&
> + else if (IS_ENABLED(CONFIG_HYPERV) &&
> hyperv_irq_remap_ops.prepare() == 0)
> remap_ops = &hyperv_irq_remap_ops;
> else
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH V1] iommu/hyperv: Create hyperv subdirectory under drivers/iommu
2026-06-01 16:07 ` Jacob Pan
@ 2026-06-01 21:23 ` Mukesh R
2026-06-02 4:45 ` Jacob Pan
0 siblings, 1 reply; 6+ messages in thread
From: Mukesh R @ 2026-06-01 21:23 UTC (permalink / raw)
To: Jacob Pan; +Cc: linux-kernel, iommu, mhklinux, wei.liu, zhangyu1, schakrabarti
On 6/1/26 09:07, Jacob Pan wrote:
> Hi Mukesh,
>
> On Thu, 28 May 2026 18:41:48 -0700
> Mukesh R <mrathor@linux.microsoft.com> wrote:
>
>> Create hyperv subdirectory under drivers/iommu in anticipation of more
>> hyperv related files from upcoming PCI passthru and pv-IOMMU patches.
>> Also, the current file hyperv-iommu.c actually implements irq
>> remapping, so rename to more appropriate hv-irq-remap.c and move it
>> under the new hyperv subdirectory. Since this file implements
>> irq_remap_ops exposed by drivers/iommu/irq_remapping.h, it cannot be
>> relocated to the irq directory. This is in sync with other backend
>> directories like amd and intel there.
>>
>> Lastly, this file should not be tied to CONFIG_HYPERV_IOMMU, but to
>> CONFIG_HYPERV and CONFIG_IRQ_REMAP.
>>
>> Signed-off-by: Mukesh R <mrathor@linux.microsoft.com>
>> ---
>> MAINTAINERS | 2 +-
>> drivers/iommu/Kconfig | 9 ---------
>> drivers/iommu/Makefile | 2 +-
>> drivers/iommu/hyperv/Makefile | 2 ++
>> drivers/iommu/{hyperv-iommu.c => hyperv/hv-irq-remap.c} | 8 +-------
>> drivers/iommu/irq_remapping.c | 2 +-
>> 6 files changed, 6 insertions(+), 19 deletions(-)
>> create mode 100644 drivers/iommu/hyperv/Makefile
>> rename drivers/iommu/{hyperv-iommu.c => hyperv/hv-irq-remap.c} (99%)
>>
>> diff --git a/MAINTAINERS b/MAINTAINERS
>> index b539be153f6a..93a7105e9cef 100644
>> --- a/MAINTAINERS
>> +++ b/MAINTAINERS
>> @@ -11988,7 +11988,7 @@ F: drivers/clocksource/hyperv_timer.c
>> F: drivers/hid/hid-hyperv.c
>> F: drivers/hv/
>> F: drivers/input/serio/hyperv-keyboard.c
>> -F: drivers/iommu/hyperv-iommu.c
>> +F: drivers/iommu/hyperv/
>> F: drivers/net/ethernet/microsoft/
>> F: drivers/net/hyperv/
>> F: drivers/pci/controller/pci-hyperv-intf.c
>> diff --git a/drivers/iommu/Kconfig b/drivers/iommu/Kconfig
>> index f86262b11416..1becc0f20222 100644
>> --- a/drivers/iommu/Kconfig
>> +++ b/drivers/iommu/Kconfig
>> @@ -351,15 +351,6 @@ config MTK_IOMMU_V1
>>
>> if unsure, say N here.
>>
>> -config HYPERV_IOMMU
>> - bool "Hyper-V IRQ Handling"
>> - depends on HYPERV && X86
>> - select IOMMU_API
>> - default HYPERV
>> - help
>> - Stub IOMMU driver to handle IRQs to support Hyper-V Linux
>> - guest and root partitions.
>> -
>> config VIRTIO_IOMMU
>> tristate "Virtio IOMMU driver"
>> depends on VIRTIO
>> diff --git a/drivers/iommu/Makefile b/drivers/iommu/Makefile
>> index 0275821f4ef9..d9683422aecb 100644
>> --- a/drivers/iommu/Makefile
>> +++ b/drivers/iommu/Makefile
>> @@ -4,6 +4,7 @@ obj-$(CONFIG_AMD_IOMMU) += amd/
>> obj-$(CONFIG_INTEL_IOMMU) += intel/
>> obj-$(CONFIG_RISCV_IOMMU) += riscv/
>> obj-$(CONFIG_GENERIC_PT) += generic_pt/fmt/
>> +obj-$(CONFIG_HYPERV) += hyperv/
>> obj-$(CONFIG_IOMMU_API) += iommu.o
>> obj-$(CONFIG_IOMMU_SUPPORT) += iommu-pages.o
>> obj-$(CONFIG_IOMMU_API) += iommu-traces.o
>> @@ -30,7 +31,6 @@ obj-$(CONFIG_TEGRA_IOMMU_SMMU) += tegra-smmu.o
>> obj-$(CONFIG_EXYNOS_IOMMU) += exynos-iommu.o
>> obj-$(CONFIG_FSL_PAMU) += fsl_pamu.o fsl_pamu_domain.o
>> obj-$(CONFIG_S390_IOMMU) += s390-iommu.o
>> -obj-$(CONFIG_HYPERV_IOMMU) += hyperv-iommu.o
>> obj-$(CONFIG_VIRTIO_IOMMU) += virtio-iommu.o
>> obj-$(CONFIG_IOMMU_SVA) += iommu-sva.o
>> obj-$(CONFIG_IOMMU_IOPF) += io-pgfault.o
>> diff --git a/drivers/iommu/hyperv/Makefile
>> b/drivers/iommu/hyperv/Makefile new file mode 100644
>> index 000000000000..0053e00e08e6
>> --- /dev/null
>> +++ b/drivers/iommu/hyperv/Makefile
>> @@ -0,0 +1,2 @@
>> +# SPDX-License-Identifier: GPL-2.0
>> +obj-$(CONFIG_IRQ_REMAP) += hv-irq-remap.o
> Should the name be x86 specific? This file will never be built for ARM
> because:
> CONFIG_IRQ_REMAP depends on:
> depends on X86_64 && X86_IO_APIC && PCI_MSI && ACPI
>
> perhaps, hv-x86-irq-remap.c? hv-irq-remap.c sounds like a
> generic Hyper-V IRQ-remapping backend and may be misleading once arm64
> Hyper-V IOMMU/interrupt support grows under this directory.
we could, but looking at early version of hyperv-iommu-arm.c, it looks
very similar, and so if there are very few ifdefs, we could just
keep one file rather than replicating bunch of code.
Thanks,
-Mukesh
>> diff --git a/drivers/iommu/hyperv-iommu.c
>> b/drivers/iommu/hyperv/hv-irq-remap.c similarity index 99%
>> rename from drivers/iommu/hyperv-iommu.c
>> rename to drivers/iommu/hyperv/hv-irq-remap.c
>> index 479103261ae6..b34ee9589190 100644
>> --- a/drivers/iommu/hyperv-iommu.c
>> +++ b/drivers/iommu/hyperv/hv-irq-remap.c
>> @@ -7,13 +7,11 @@
>> *
>> * Author : Lan Tianyu <Tianyu.Lan@microsoft.com>
>> */
>> -
>> #include <linux/types.h>
>> #include <linux/interrupt.h>
>> #include <linux/irq.h>
>> #include <linux/iommu.h>
>> #include <linux/module.h>
>> -
>> #include <asm/apic.h>
>> #include <asm/cpu.h>
>> #include <asm/hw_irq.h>
>> @@ -22,9 +20,7 @@
>> #include <asm/hypervisor.h>
>> #include <asm/mshyperv.h>
>>
>> -#include "irq_remapping.h"
>> -
>> -#ifdef CONFIG_IRQ_REMAP
>> +#include "../irq_remapping.h"
>>
>> /*
>> * According 82093AA IO-APIC spec , IO APIC has a 24-entry Interrupt
>> @@ -330,5 +326,3 @@ static const struct irq_domain_ops
>> hyperv_root_ir_domain_ops = { .alloc =
>> hyperv_root_irq_remapping_alloc, .free =
>> hyperv_root_irq_remapping_free, };
>> -
>> -#endif
>> diff --git a/drivers/iommu/irq_remapping.c
>> b/drivers/iommu/irq_remapping.c index c2443659812a..41bf65e4ea88
>> 100644 --- a/drivers/iommu/irq_remapping.c
>> +++ b/drivers/iommu/irq_remapping.c
>> @@ -108,7 +108,7 @@ int __init irq_remapping_prepare(void)
>> else if (IS_ENABLED(CONFIG_AMD_IOMMU) &&
>> amd_iommu_irq_ops.prepare() == 0)
>> remap_ops = &amd_iommu_irq_ops;
>> - else if (IS_ENABLED(CONFIG_HYPERV_IOMMU) &&
>> + else if (IS_ENABLED(CONFIG_HYPERV) &&
>> hyperv_irq_remap_ops.prepare() == 0)
>> remap_ops = &hyperv_irq_remap_ops;
>> else
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH V1] iommu/hyperv: Create hyperv subdirectory under drivers/iommu
2026-06-01 21:23 ` Mukesh R
@ 2026-06-02 4:45 ` Jacob Pan
2026-06-02 17:22 ` Mukesh R
2026-06-02 19:20 ` Mukesh R
0 siblings, 2 replies; 6+ messages in thread
From: Jacob Pan @ 2026-06-02 4:45 UTC (permalink / raw)
To: Mukesh R
Cc: linux-kernel, iommu, mhklinux, wei.liu, zhangyu1, schakrabarti,
jacob.pan
Hi Mukesh,
On Mon, 1 Jun 2026 14:23:18 -0700
Mukesh R <mrathor@linux.microsoft.com> wrote:
> >> diff --git a/drivers/iommu/hyperv/Makefile
> >> b/drivers/iommu/hyperv/Makefile new file mode 100644
> >> index 000000000000..0053e00e08e6
> >> --- /dev/null
> >> +++ b/drivers/iommu/hyperv/Makefile
> >> @@ -0,0 +1,2 @@
> >> +# SPDX-License-Identifier: GPL-2.0
> >> +obj-$(CONFIG_IRQ_REMAP) += hv-irq-remap.o
> > Should the name be x86 specific? This file will never be built for
> > ARM because:
> > CONFIG_IRQ_REMAP depends on:
> > depends on X86_64 && X86_IO_APIC && PCI_MSI && ACPI
> >
> > perhaps, hv-x86-irq-remap.c? hv-irq-remap.c sounds like a
> > generic Hyper-V IRQ-remapping backend and may be misleading once
> > arm64 Hyper-V IOMMU/interrupt support grows under this directory.
>
> we could, but looking at early version of hyperv-iommu-arm.c, it looks
> very similar, and so if there are very few ifdefs, we could just
> keep one file rather than replicating bunch of code.
With this patch as is, how could you keep one file for both ARM and X86
where hv-irq-remap.c does not build on ARM?
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH V1] iommu/hyperv: Create hyperv subdirectory under drivers/iommu
2026-06-02 4:45 ` Jacob Pan
@ 2026-06-02 17:22 ` Mukesh R
2026-06-02 19:20 ` Mukesh R
1 sibling, 0 replies; 6+ messages in thread
From: Mukesh R @ 2026-06-02 17:22 UTC (permalink / raw)
To: Jacob Pan; +Cc: linux-kernel, iommu, mhklinux, wei.liu, zhangyu1, schakrabarti
On 6/1/26 21:45, Jacob Pan wrote:
> Hi Mukesh,
>
> On Mon, 1 Jun 2026 14:23:18 -0700
> Mukesh R <mrathor@linux.microsoft.com> wrote:
>
>>>> diff --git a/drivers/iommu/hyperv/Makefile
>>>> b/drivers/iommu/hyperv/Makefile new file mode 100644
>>>> index 000000000000..0053e00e08e6
>>>> --- /dev/null
>>>> +++ b/drivers/iommu/hyperv/Makefile
>>>> @@ -0,0 +1,2 @@
>>>> +# SPDX-License-Identifier: GPL-2.0
>>>> +obj-$(CONFIG_IRQ_REMAP) += hv-irq-remap.o
>>> Should the name be x86 specific? This file will never be built for
>>> ARM because:
>>> CONFIG_IRQ_REMAP depends on:
>>> depends on X86_64 && X86_IO_APIC && PCI_MSI && ACPI
>>>
>>> perhaps, hv-x86-irq-remap.c? hv-irq-remap.c sounds like a
>>> generic Hyper-V IRQ-remapping backend and may be misleading once
>>> arm64 Hyper-V IOMMU/interrupt support grows under this directory.
>>
>> we could, but looking at early version of hyperv-iommu-arm.c, it looks
>> very similar, and so if there are very few ifdefs, we could just
>> keep one file rather than replicating bunch of code.
>
> With this patch as is, how could you keep one file for both ARM and X86
> where hv-irq-remap.c does not build on ARM?
By removing the x86 restriction from kconfig once arm changes are merged
in and tested by arm folks. So, arm folks do their changes, test on arm,
and if very small delta, just change this file and remove x86 restriction.
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH V1] iommu/hyperv: Create hyperv subdirectory under drivers/iommu
2026-06-02 4:45 ` Jacob Pan
2026-06-02 17:22 ` Mukesh R
@ 2026-06-02 19:20 ` Mukesh R
1 sibling, 0 replies; 6+ messages in thread
From: Mukesh R @ 2026-06-02 19:20 UTC (permalink / raw)
To: Jacob Pan; +Cc: linux-kernel, iommu, mhklinux, wei.liu, zhangyu1, schakrabarti
On 6/1/26 21:45, Jacob Pan wrote:
> Hi Mukesh,
>
> On Mon, 1 Jun 2026 14:23:18 -0700
> Mukesh R <mrathor@linux.microsoft.com> wrote:
>
>>>> diff --git a/drivers/iommu/hyperv/Makefile
>>>> b/drivers/iommu/hyperv/Makefile new file mode 100644
>>>> index 000000000000..0053e00e08e6
>>>> --- /dev/null
>>>> +++ b/drivers/iommu/hyperv/Makefile
>>>> @@ -0,0 +1,2 @@
>>>> +# SPDX-License-Identifier: GPL-2.0
>>>> +obj-$(CONFIG_IRQ_REMAP) += hv-irq-remap.o
>>> Should the name be x86 specific? This file will never be built for
>>> ARM because:
>>> CONFIG_IRQ_REMAP depends on:
>>> depends on X86_64 && X86_IO_APIC && PCI_MSI && ACPI
>>>
>>> perhaps, hv-x86-irq-remap.c? hv-irq-remap.c sounds like a
>>> generic Hyper-V IRQ-remapping backend and may be misleading once
>>> arm64 Hyper-V IOMMU/interrupt support grows under this directory.
>>
>> we could, but looking at early version of hyperv-iommu-arm.c, it looks
>> very similar, and so if there are very few ifdefs, we could just
>> keep one file rather than replicating bunch of code.
>
> With this patch as is, how could you keep one file for both ARM and X86
> where hv-irq-remap.c does not build on ARM?
We can remove the x86 restriction, make sure it builds on arm. Then
during arm patch, I can help decide whether to fork or just add ifdefs
in the file. I'll submit V2 with x86 restriction removed.
Thanks,
-Mukesh
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2026-06-02 19:20 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-05-29 1:41 [PATCH V1] iommu/hyperv: Create hyperv subdirectory under drivers/iommu Mukesh R
2026-06-01 16:07 ` Jacob Pan
2026-06-01 21:23 ` Mukesh R
2026-06-02 4:45 ` Jacob Pan
2026-06-02 17:22 ` Mukesh R
2026-06-02 19:20 ` Mukesh R
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.