Lines Matching refs:lpid

70 	hr->lpid = swab32(hr->lpid);  in byteswap_hv_regs()
344 l2 = kvmhv_get_nested(vcpu->kvm, l2_hv.lpid, true); in kvmhv_enter_nested_guest()
481 static void kvmhv_flush_lpid(unsigned int lpid) in kvmhv_flush_lpid() argument
486 radix__flush_all_lpid(lpid); in kvmhv_flush_lpid()
492 lpid, TLBIEL_INVAL_SET_LPID); in kvmhv_flush_lpid()
494 rc = pseries_rpt_invalidate(lpid, H_RPTI_TARGET_CMMU, in kvmhv_flush_lpid()
503 void kvmhv_set_ptbl_entry(unsigned int lpid, u64 dw0, u64 dw1) in kvmhv_set_ptbl_entry() argument
506 mmu_partition_table_set_entry(lpid, dw0, dw1, true); in kvmhv_set_ptbl_entry()
510 pseries_partition_tb[lpid].patb0 = cpu_to_be64(dw0); in kvmhv_set_ptbl_entry()
511 pseries_partition_tb[lpid].patb1 = cpu_to_be64(dw1); in kvmhv_set_ptbl_entry()
513 kvmhv_flush_lpid(lpid); in kvmhv_set_ptbl_entry()
662 static struct kvm_nested_guest *__find_nested(struct kvm *kvm, int lpid) in __find_nested() argument
664 return idr_find(&kvm->arch.kvm_nested_guest_idr, lpid); in __find_nested()
667 static bool __prealloc_nested(struct kvm *kvm, int lpid) in __prealloc_nested() argument
670 NULL, lpid, lpid + 1, GFP_KERNEL) != lpid) in __prealloc_nested()
675 static void __add_nested(struct kvm *kvm, int lpid, struct kvm_nested_guest *gp) in __add_nested() argument
677 if (idr_replace(&kvm->arch.kvm_nested_guest_idr, gp, lpid)) in __add_nested()
681 static void __remove_nested(struct kvm *kvm, int lpid) in __remove_nested() argument
683 idr_remove(&kvm->arch.kvm_nested_guest_idr, lpid); in __remove_nested()
686 static struct kvm_nested_guest *kvmhv_alloc_nested(struct kvm *kvm, unsigned int lpid) in kvmhv_alloc_nested() argument
695 gp->l1_lpid = lpid; in kvmhv_alloc_nested()
742 int lpid = gp->l1_lpid; in kvmhv_remove_nested() local
746 if (gp == __find_nested(kvm, lpid)) { in kvmhv_remove_nested()
747 __remove_nested(kvm, lpid); in kvmhv_remove_nested()
764 int lpid; in kvmhv_release_all_nested() local
771 idr_for_each_entry(&kvm->arch.kvm_nested_guest_idr, gp, lpid) { in kvmhv_release_all_nested()
772 __remove_nested(kvm, lpid); in kvmhv_release_all_nested()
861 pte_t *find_kvm_nested_guest_pte(struct kvm *kvm, unsigned long lpid, in find_kvm_nested_guest_pte() argument
867 gp = __find_nested(kvm, lpid); in find_kvm_nested_guest_pte()
921 unsigned int shift, lpid; in kvmhv_update_nest_rmap_rc() local
925 lpid = (n_rmap & RMAP_NESTED_LPID_MASK) >> RMAP_NESTED_LPID_SHIFT; in kvmhv_update_nest_rmap_rc()
928 ptep = find_kvm_nested_guest_pte(kvm, lpid, gpa, &shift); in kvmhv_update_nest_rmap_rc()
937 kvmppc_radix_tlbie_page(kvm, gpa, shift, lpid); in kvmhv_update_nest_rmap_rc()
968 unsigned int shift, lpid; in kvmhv_remove_nest_rmap() local
972 lpid = (n_rmap & RMAP_NESTED_LPID_MASK) >> RMAP_NESTED_LPID_SHIFT; in kvmhv_remove_nest_rmap()
973 gp = __find_nested(kvm, lpid); in kvmhv_remove_nest_rmap()
978 ptep = find_kvm_nested_guest_pte(kvm, lpid, gpa, &shift); in kvmhv_remove_nest_rmap()
1094 static int kvmhv_emulate_tlbie_tlb_addr(struct kvm_vcpu *vcpu, int lpid, in kvmhv_emulate_tlbie_tlb_addr() argument
1112 gp = kvmhv_get_nested(kvm, lpid, false); in kvmhv_emulate_tlbie_tlb_addr()
1165 int lpid; in kvmhv_emulate_tlbie_all_lpid() local
1168 idr_for_each_entry(&kvm->arch.kvm_nested_guest_idr, gp, lpid) { in kvmhv_emulate_tlbie_all_lpid()
1182 int lpid; in kvmhv_emulate_priv_tlbie() local
1189 lpid = get_lpid(rsval); in kvmhv_emulate_priv_tlbie()
1212 ret = kvmhv_emulate_tlbie_tlb_addr(vcpu, lpid, ap, epn); in kvmhv_emulate_priv_tlbie()
1216 gp = kvmhv_get_nested(kvm, lpid, false); in kvmhv_emulate_priv_tlbie()
1251 unsigned long lpid, unsigned long ric) in do_tlb_invalidate_nested_all() argument
1256 gp = kvmhv_get_nested(kvm, lpid, false); in do_tlb_invalidate_nested_all()
1271 unsigned long lpid, in do_tlb_invalidate_nested_tlb() argument
1290 return do_tlb_invalidate_nested_all(vcpu, lpid, in do_tlb_invalidate_nested_tlb()
1296 ret = kvmhv_emulate_tlbie_tlb_addr(vcpu, lpid, ap, in do_tlb_invalidate_nested_tlb()
1310 long do_h_rpt_invalidate_pat(struct kvm_vcpu *vcpu, unsigned long lpid, in do_h_rpt_invalidate_pat() argument
1323 if (!__find_nested(vcpu->kvm, lpid)) in do_h_rpt_invalidate_pat()
1330 return do_tlb_invalidate_nested_all(vcpu, lpid, RIC_FLUSH_ALL); in do_h_rpt_invalidate_pat()
1349 return do_tlb_invalidate_nested_all(vcpu, lpid, RIC_FLUSH_TLB); in do_h_rpt_invalidate_pat()
1352 return do_tlb_invalidate_nested_tlb(vcpu, lpid, pg_sizes, in do_h_rpt_invalidate_pat()
1441 gpte.raddr, kvm->arch.lpid); in kvmhv_handle_nested_set_rc()
1668 int kvmhv_nested_next_lpid(struct kvm *kvm, int lpid) in kvmhv_nested_next_lpid() argument
1670 int ret = lpid + 1; in kvmhv_nested_next_lpid()