Re: [PATCH v2 15/17] x86/hyperv: implement an MSI domain for root partition
From: Wei Liu <wei.liu@kernel.org>
Date: 2020-11-12 13:50:57
Also in:
lkml
On Thu, Nov 05, 2020 at 04:58:12PM +0000, Wei Liu wrote:
quoted hunk ↗ jump to hunk
When Linux runs as the root partition on Microsoft Hypervisor, its interrupts are remapped. Linux will need to explicitly map and unmap interrupts for hardware. Implement an MSI domain to issue the correct hypercalls. And initialize this irqdomain as the default MSI irq domain. Signed-off-by: Sunil Muthuswamy <redacted> Co-Developed-by: Sunil Muthuswamy <redacted> Signed-off-by: Wei Liu <wei.liu@kernel.org> --- v2: This patch is simplified due to upstream changes. --- arch/x86/hyperv/Makefile | 2 +- arch/x86/hyperv/hv_init.c | 10 +- arch/x86/hyperv/irqdomain.c | 330 ++++++++++++++++++++++++++++++++++++ 3 files changed, 340 insertions(+), 2 deletions(-) create mode 100644 arch/x86/hyperv/irqdomain.cdiff --git a/arch/x86/hyperv/Makefile b/arch/x86/hyperv/Makefile index 565358020921..2ebcf3969121 100644 --- a/arch/x86/hyperv/Makefile +++ b/arch/x86/hyperv/Makefile@@ -1,6 +1,6 @@ # SPDX-License-Identifier: GPL-2.0-only obj-y := hv_init.o mmu.o nested.o -obj-$(CONFIG_X86_64) += hv_apic.o hv_proc.o +obj-$(CONFIG_X86_64) += hv_apic.o hv_proc.o irqdomain.o
I need to move irqdomain.o to obj-y because 32bit build also needs it in hv_init.o. After this change, 32bit build of the kernel builds and works as expected. Wei.