[PATCH 0/3] KVM: arm64: Keep hyp and host headers separate where possible

Will Deacon will at kernel.org
Thu Dec 2 09:10:45 PST 2021


Hi folks,

This series tidies up the header file usage for the nvhe hyp object so
that header files under arch/arm64/kvm/hyp/include are not included by
host code running at EL1.

For definitions that are shared between the host and hypervisor, these
are either moved to headers under arch/arm64/include/asm/ or are
generated by kbuild along similar lines to asm-offsets.h. For now, this
allows us to tidy up some of the pKVM reserved memory handling, but in
future this will also allow the pKVM EL2 data structures to avoid
polluting the host namespace.

Cheers,

Will

Cc: Alexandru Elisei <alexandru.elisei at arm.com>
Cc: James Morse <james.morse at arm.com>
Cc: Quentin Perret <qperret at google.com>
Cc: Suzuki K Poulose <suzuki.poulose at arm.com>
Cc: Fuad Tabba <tabba at google.com>
Cc: Marc Zyngier <maz at kernel.org>

--->8

Will Deacon (3):
  arm64: Add missing include of asm/cpufeature.h to asm/mmu.h
  KVM: arm64: Generate hyp_constants.h for the host
  KVM: arm64: Move host EL1 code out of hyp/ directory

 arch/arm64/include/asm/kvm_pkvm.h             | 71 +++++++++++++++++++
 arch/arm64/include/asm/mmu.h                  |  1 +
 arch/arm64/kvm/.gitignore                     |  2 +
 arch/arm64/kvm/Makefile                       | 18 ++++-
 arch/arm64/kvm/hyp/Makefile                   |  2 +-
 arch/arm64/kvm/hyp/hyp-constants.c            | 10 +++
 arch/arm64/kvm/hyp/include/nvhe/mm.h          | 57 ---------------
 arch/arm64/kvm/hyp/nvhe/mem_protect.c         |  1 +
 arch/arm64/kvm/hyp/nvhe/mm.c                  |  1 +
 arch/arm64/kvm/hyp/nvhe/setup.c               |  1 +
 arch/arm64/kvm/{hyp/reserved_mem.c => pkvm.c} |  8 +--
 11 files changed, 109 insertions(+), 63 deletions(-)
 create mode 100644 arch/arm64/include/asm/kvm_pkvm.h
 create mode 100644 arch/arm64/kvm/.gitignore
 create mode 100644 arch/arm64/kvm/hyp/hyp-constants.c
 rename arch/arm64/kvm/{hyp/reserved_mem.c => pkvm.c} (94%)

-- 
2.34.0.rc2.393.gf8c9666880-goog




More information about the linux-arm-kernel mailing list