diff --git a/arch/arm64/include/asm/kvm_host.h b/arch/arm64/include/asm/kvm_host.h index 208e6ea21829..5014ad8691ea 100644 --- a/arch/arm64/include/asm/kvm_host.h +++ b/arch/arm64/include/asm/kvm_host.h @@ -70,60 +70,6 @@ u32 __attribute_const__ kvm_target_cpu(void); int kvm_reset_vcpu(struct kvm_vcpu *vcpu); void kvm_arm_vcpu_destroy(struct kvm_vcpu *vcpu); -struct kvm_hyp_memcache { - phys_addr_t head; - unsigned long nr_pages; -}; - -static inline void push_hyp_memcache(struct kvm_hyp_memcache *mc, - phys_addr_t *p, - phys_addr_t (*to_pa)(void *virt)) -{ - *p = mc->head; - mc->head = to_pa(p); - mc->nr_pages++; -} - -static inline void *pop_hyp_memcache(struct kvm_hyp_memcache *mc, - void *(*to_va)(phys_addr_t phys)) -{ - phys_addr_t *p = to_va(mc->head); - - if (!mc->nr_pages) - return NULL; - - mc->head = *p; - mc->nr_pages--; - - return p; -} - -static inline int __topup_hyp_memcache(struct kvm_hyp_memcache *mc, - unsigned long min_pages, - void *(*alloc_fn)(void *arg), - phys_addr_t (*to_pa)(void *virt), - void *arg) -{ - while (mc->nr_pages < min_pages) { - phys_addr_t *p = alloc_fn(arg); - - if (!p) - return -ENOMEM; - push_hyp_memcache(mc, p, to_pa); - } - - return 0; -} - -static inline void __free_hyp_memcache(struct kvm_hyp_memcache *mc, - void (*free_fn)(void *virt, void *arg), - void *(*to_va)(phys_addr_t phys), - void *arg) -{ - while (mc->nr_pages) - free_fn(pop_hyp_memcache(mc, to_va), arg); -} - struct kvm_vmid { /* The VMID generation used for the virt. memory system */ u64 vmid_gen;