mbox series

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

Message ID 20211202171048.26924-1-will@kernel.org (mailing list archive)
Headers show
Series KVM: arm64: Keep hyp and host headers separate where possible | expand

Message

Will Deacon Dec. 2, 2021, 5:10 p.m. UTC
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@arm.com>
Cc: James Morse <james.morse@arm.com>
Cc: Quentin Perret <qperret@google.com>
Cc: Suzuki K Poulose <suzuki.poulose@arm.com>
Cc: Fuad Tabba <tabba@google.com>
Cc: Marc Zyngier <maz@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%)

Comments

Marc Zyngier Dec. 6, 2021, 8:41 a.m. UTC | #1
On Thu, 2 Dec 2021 17:10:45 +0000, Will Deacon wrote:
> 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.
> 
> [...]

Applied to next, thanks!

[1/3] arm64: Add missing include of asm/cpufeature.h to asm/mmu.h
      commit: 7e04f05984dd03edad7daaa4fa97958b7133c62a
[2/3] KVM: arm64: Generate hyp_constants.h for the host
      commit: ed4ed15d571065eb66ea718d7f6050553586417d
[3/3] KVM: arm64: Move host EL1 code out of hyp/ directory
      commit: 9429f4b0412d05243237c7695c59d0a7b1174492

Cheers,

	M.