Searched refs:vcpu_e500 (Results 1 – 7 of 7) sorted by relevance
/kernel/linux/linux-5.10/arch/powerpc/kvm/ |
D | e500_mmu.c | 37 struct kvmppc_vcpu_e500 *vcpu_e500) in gtlb0_get_next_victim() argument 41 victim = vcpu_e500->gtlb_nv[0]++; in gtlb0_get_next_victim() 42 if (unlikely(vcpu_e500->gtlb_nv[0] >= vcpu_e500->gtlb_params[0].ways)) in gtlb0_get_next_victim() 43 vcpu_e500->gtlb_nv[0] = 0; in gtlb0_get_next_victim() 58 static int gtlb0_set_base(struct kvmppc_vcpu_e500 *vcpu_e500, gva_t addr) in gtlb0_set_base() argument 60 return tlb0_set_base(addr, vcpu_e500->gtlb_params[0].sets, in gtlb0_set_base() 61 vcpu_e500->gtlb_params[0].ways); in gtlb0_set_base() 66 struct kvmppc_vcpu_e500 *vcpu_e500 = to_e500(vcpu); in get_tlb_esel() local 70 esel &= vcpu_e500->gtlb_params[0].ways - 1; in get_tlb_esel() 71 esel += gtlb0_set_base(vcpu_e500, vcpu->arch.shared->mas2); in get_tlb_esel() [all …]
|
D | e500.c | 120 static void *kvmppc_e500_id_table_alloc(struct kvmppc_vcpu_e500 *vcpu_e500) in kvmppc_e500_id_table_alloc() argument 122 vcpu_e500->idt = kzalloc(sizeof(struct vcpu_id_table), GFP_KERNEL); in kvmppc_e500_id_table_alloc() 123 return vcpu_e500->idt; in kvmppc_e500_id_table_alloc() 126 static void kvmppc_e500_id_table_free(struct kvmppc_vcpu_e500 *vcpu_e500) in kvmppc_e500_id_table_free() argument 128 kfree(vcpu_e500->idt); in kvmppc_e500_id_table_free() 129 vcpu_e500->idt = NULL; in kvmppc_e500_id_table_free() 136 static void kvmppc_e500_recalc_shadow_pid(struct kvmppc_vcpu_e500 *vcpu_e500) in kvmppc_e500_recalc_shadow_pid() argument 139 vcpu_e500->vcpu.arch.shadow_pid = kvmppc_e500_get_sid(vcpu_e500, in kvmppc_e500_recalc_shadow_pid() 140 get_cur_as(&vcpu_e500->vcpu), in kvmppc_e500_recalc_shadow_pid() 141 get_cur_pid(&vcpu_e500->vcpu), in kvmppc_e500_recalc_shadow_pid() [all …]
|
D | e500_mmu_host.c | 124 static inline void write_host_tlbe(struct kvmppc_vcpu_e500 *vcpu_e500, in write_host_tlbe() argument 131 __write_host_tlbe(stlbe, mas0, vcpu_e500->vcpu.kvm->arch.lpid); in write_host_tlbe() 136 vcpu_e500->vcpu.kvm->arch.lpid); in write_host_tlbe() 141 static void write_stlbe(struct kvmppc_vcpu_e500 *vcpu_e500, in write_stlbe() argument 149 stid = kvmppc_e500_get_tlb_stid(&vcpu_e500->vcpu, gtlbe); in write_stlbe() 152 write_host_tlbe(vcpu_e500, stlbsel, sesel, stlbe); in write_stlbe() 160 struct kvmppc_vcpu_e500 *vcpu_e500 = to_e500(vcpu); in kvmppc_map_magic() local 170 stid = kvmppc_e500_get_sid(vcpu_e500, 0, 0, 0, 0); in kvmppc_map_magic() 184 void inval_gtlbe_on_host(struct kvmppc_vcpu_e500 *vcpu_e500, int tlbsel, in inval_gtlbe_on_host() argument 188 get_entry(vcpu_e500, tlbsel, esel); in inval_gtlbe_on_host() [all …]
|
D | e500_emulate.c | 108 struct kvmppc_vcpu_e500 *vcpu_e500 = to_e500(vcpu); in kvmppc_e500_emul_dcbtls() local 111 vcpu_e500->l1csr0 |= L1CSR0_CUL; in kvmppc_e500_emul_dcbtls() 206 struct kvmppc_vcpu_e500 *vcpu_e500 = to_e500(vcpu); in kvmppc_core_emulate_mtspr_e500() local 217 vcpu_e500->pid[1] = spr_val; in kvmppc_core_emulate_mtspr_e500() 222 vcpu_e500->pid[2] = spr_val; in kvmppc_core_emulate_mtspr_e500() 249 vcpu_e500->l1csr0 = spr_val; in kvmppc_core_emulate_mtspr_e500() 250 vcpu_e500->l1csr0 &= ~(L1CSR0_DCFI | L1CSR0_CLFC); in kvmppc_core_emulate_mtspr_e500() 253 vcpu_e500->l1csr1 = spr_val; in kvmppc_core_emulate_mtspr_e500() 254 vcpu_e500->l1csr1 &= ~(L1CSR1_ICFI | L1CSR1_ICLFR); in kvmppc_core_emulate_mtspr_e500() 257 vcpu_e500->hid0 = spr_val; in kvmppc_core_emulate_mtspr_e500() [all …]
|
D | e500mc.c | 55 void kvmppc_e500_tlbil_one(struct kvmppc_vcpu_e500 *vcpu_e500, in kvmppc_e500_tlbil_one() argument 73 mtspr(SPRN_MAS5, MAS5_SGS | get_lpid(&vcpu_e500->vcpu)); in kvmppc_e500_tlbil_one() 89 void kvmppc_e500_tlbil_all(struct kvmppc_vcpu_e500 *vcpu_e500) in kvmppc_e500_tlbil_all() argument 94 mtspr(SPRN_MAS5, MAS5_SGS | get_lpid(&vcpu_e500->vcpu)); in kvmppc_e500_tlbil_all() 114 struct kvmppc_vcpu_e500 *vcpu_e500 = to_e500(vcpu); in kvmppc_core_vcpu_load_e500mc() local 144 kvmppc_e500_tlbil_all(vcpu_e500); in kvmppc_core_vcpu_load_e500mc() 197 struct kvmppc_vcpu_e500 *vcpu_e500 = to_e500(vcpu); in kvmppc_core_vcpu_setup() local 207 vcpu_e500->svr = mfspr(SPRN_SVR); in kvmppc_core_vcpu_setup() 217 struct kvmppc_vcpu_e500 *vcpu_e500 = to_e500(vcpu); in kvmppc_core_get_sregs_e500mc() local 224 sregs->u.e.impl.fsl.svr = vcpu_e500->svr; in kvmppc_core_get_sregs_e500mc() [all …]
|
D | e500.h | 125 int kvmppc_e500_emul_mt_mmucsr0(struct kvmppc_vcpu_e500 *vcpu_e500, 132 int kvmppc_e500_tlb_init(struct kvmppc_vcpu_e500 *vcpu_e500); 133 void kvmppc_e500_tlb_uninit(struct kvmppc_vcpu_e500 *vcpu_e500); 144 unsigned int kvmppc_e500_get_sid(struct kvmppc_vcpu_e500 *vcpu_e500, 276 struct kvmppc_vcpu_e500 *vcpu_e500, int tlbsel, int entry) in get_entry() argument 278 int offset = vcpu_e500->gtlb_offset[tlbsel]; in get_entry() 279 return &vcpu_e500->gtlb_arch[offset + entry]; in get_entry() 282 void kvmppc_e500_tlbil_one(struct kvmppc_vcpu_e500 *vcpu_e500, 284 void kvmppc_e500_tlbil_all(struct kvmppc_vcpu_e500 *vcpu_e500); 315 struct kvmppc_vcpu_e500 *vcpu_e500 = to_e500(vcpu); in get_tlbmiss_tid() local [all …]
|
D | e500_mmu_host.h | 9 void inval_gtlbe_on_host(struct kvmppc_vcpu_e500 *vcpu_e500, int tlbsel, 12 int e500_mmu_host_init(struct kvmppc_vcpu_e500 *vcpu_e500); 13 void e500_mmu_host_uninit(struct kvmppc_vcpu_e500 *vcpu_e500);
|