We need a unified helper in 'kvm/vgic/vgic.h' to write guest memory. In the helper, the check of no-running-vcpu context for dirty ring will be applied. kvm_write_guest_lock(), defined in 'include/asm/kvm_mmu.h', is going to be dereferenced by the unified helper. Include 'include/asm/kvm_mmu.h' to 'kvm/vgic/vgic.h' to avoid including the former header file when the later one is needed. With the change, the duplicate inclusions of 'include/asm/kvm_mmu.h' are removed. No functional change intended. Suggested-by: Oliver Upton <oliver.upton@xxxxxxxxx> Signed-off-by: Gavin Shan <gshan@xxxxxxxxxx> --- arch/arm64/kvm/vgic/vgic-debug.c | 1 - arch/arm64/kvm/vgic/vgic-init.c | 1 - arch/arm64/kvm/vgic/vgic-its.c | 1 - arch/arm64/kvm/vgic/vgic-kvm-device.c | 1 - arch/arm64/kvm/vgic/vgic-mmio-v3.c | 1 - arch/arm64/kvm/vgic/vgic-v2.c | 1 - arch/arm64/kvm/vgic/vgic-v3.c | 1 - arch/arm64/kvm/vgic/vgic.h | 1 + 8 files changed, 1 insertion(+), 7 deletions(-) diff --git a/arch/arm64/kvm/vgic/vgic-debug.c b/arch/arm64/kvm/vgic/vgic-debug.c index 78cde687383c..69201c2dfc6c 100644 --- a/arch/arm64/kvm/vgic/vgic-debug.c +++ b/arch/arm64/kvm/vgic/vgic-debug.c @@ -10,7 +10,6 @@ #include <linux/kvm_host.h> #include <linux/seq_file.h> #include <kvm/arm_vgic.h> -#include <asm/kvm_mmu.h> #include "vgic.h" /* diff --git a/arch/arm64/kvm/vgic/vgic-init.c b/arch/arm64/kvm/vgic/vgic-init.c index f6d4f4052555..de389a5bec45 100644 --- a/arch/arm64/kvm/vgic/vgic-init.c +++ b/arch/arm64/kvm/vgic/vgic-init.c @@ -9,7 +9,6 @@ #include <linux/kvm_host.h> #include <kvm/arm_vgic.h> #include <asm/kvm_emulate.h> -#include <asm/kvm_mmu.h> #include "vgic.h" /* diff --git a/arch/arm64/kvm/vgic/vgic-its.c b/arch/arm64/kvm/vgic/vgic-its.c index 94a666dd1443..ad4bb69ab83e 100644 --- a/arch/arm64/kvm/vgic/vgic-its.c +++ b/arch/arm64/kvm/vgic/vgic-its.c @@ -18,7 +18,6 @@ #include <asm/kvm_emulate.h> #include <asm/kvm_arm.h> -#include <asm/kvm_mmu.h> #include "vgic.h" #include "vgic-mmio.h" diff --git a/arch/arm64/kvm/vgic/vgic-kvm-device.c b/arch/arm64/kvm/vgic/vgic-kvm-device.c index edeac2380591..552668a91bd9 100644 --- a/arch/arm64/kvm/vgic/vgic-kvm-device.c +++ b/arch/arm64/kvm/vgic/vgic-kvm-device.c @@ -8,7 +8,6 @@ #include <linux/kvm_host.h> #include <kvm/arm_vgic.h> #include <linux/uaccess.h> -#include <asm/kvm_mmu.h> #include <asm/cputype.h> #include "vgic.h" diff --git a/arch/arm64/kvm/vgic/vgic-mmio-v3.c b/arch/arm64/kvm/vgic/vgic-mmio-v3.c index 91201f743033..8ba04f4fa63d 100644 --- a/arch/arm64/kvm/vgic/vgic-mmio-v3.c +++ b/arch/arm64/kvm/vgic/vgic-mmio-v3.c @@ -13,7 +13,6 @@ #include <asm/kvm_emulate.h> #include <asm/kvm_arm.h> -#include <asm/kvm_mmu.h> #include "vgic.h" #include "vgic-mmio.h" diff --git a/arch/arm64/kvm/vgic/vgic-v2.c b/arch/arm64/kvm/vgic/vgic-v2.c index 645648349c99..d8604fdfdfcd 100644 --- a/arch/arm64/kvm/vgic/vgic-v2.c +++ b/arch/arm64/kvm/vgic/vgic-v2.c @@ -7,7 +7,6 @@ #include <linux/kvm.h> #include <linux/kvm_host.h> #include <kvm/arm_vgic.h> -#include <asm/kvm_mmu.h> #include "vgic.h" diff --git a/arch/arm64/kvm/vgic/vgic-v3.c b/arch/arm64/kvm/vgic/vgic-v3.c index 2074521d4a8c..5dfbd03e5e1a 100644 --- a/arch/arm64/kvm/vgic/vgic-v3.c +++ b/arch/arm64/kvm/vgic/vgic-v3.c @@ -7,7 +7,6 @@ #include <linux/kvm_host.h> #include <kvm/arm_vgic.h> #include <asm/kvm_hyp.h> -#include <asm/kvm_mmu.h> #include <asm/kvm_asm.h> #include "vgic.h" diff --git a/arch/arm64/kvm/vgic/vgic.h b/arch/arm64/kvm/vgic/vgic.h index 0c8da72953f0..056425e3a490 100644 --- a/arch/arm64/kvm/vgic/vgic.h +++ b/arch/arm64/kvm/vgic/vgic.h @@ -6,6 +6,7 @@ #define __KVM_ARM_VGIC_NEW_H__ #include <linux/irqchip/arm-gic-common.h> +#include <asm/kvm_mmu.h> #define PRODUCT_ID_KVM 0x4b /* ASCII code K */ #define IMPLEMENTER_ARM 0x43b -- 2.23.0