• Marc Zyngier's avatar
    Merge branch kvm-arm64/host_data into kvmarm-master/next · 34c0d5a6
    Marc Zyngier authored
    * kvm-arm64/host_data:
      : .
      : Rationalise the host-specific data to live as part of the per-CPU state.
      :
      : From the cover letter:
      :
      : "It appears that over the years, we have accumulated a lot of cruft in
      : the kvm_vcpu_arch structure. Part of the gunk is data that is strictly
      : host CPU specific, and this result in two main problems:
      :
      : - the structure itself is stupidly large, over 8kB. With the
      :   arch-agnostic kvm_vcpu, we're above 10kB, which is insane. This has
      :   some ripple effects, as we need physically contiguous allocation to
      :   be able to map it at EL2 for !VHE. There is more to it though, as
      :   some data structures, although per-vcpu, could be allocated
      :   separately.
      :
      : - We lose track of the life-cycle of this data, because we're
      :   guaranteed that it will be around forever and we start relying on
      :   wrong assumptions. This is becoming a maintenance burden.
      :
      : This series rectifies some of these things, starting with the two main
      : offenders: debug and FP, a lot of which gets pushed out to the per-CPU
      : host structure. Indeed, their lifetime really isn't that of the vcpu,
      : but tied to the physical CPU the vpcu runs on.
      :
      : This results in a small reduction of the vcpu size, but mainly a much
      : clearer understanding of the life-cycle of these structures."
      : .
      KVM: arm64: Move management of __hyp_running_vcpu to load/put on VHE
      KVM: arm64: Exclude FP ownership from kvm_vcpu_arch
      KVM: arm64: Exclude host_fpsimd_state pointer from kvm_vcpu_arch
      KVM: arm64: Exclude mdcr_el2_host from kvm_vcpu_arch
      KVM: arm64: Exclude host_debug_data from vcpu_arch
      KVM: arm64: Add accessor for per-CPU state
    Signed-off-by: default avatarMarc Zyngier <maz@kernel.org>
    34c0d5a6
arm.c 63.1 KB