Home
last modified time | relevance | path

Searched refs:vcpu_e500 (Results 1 – 7 of 7) sorted by relevance

/kernel/linux/linux-5.10/arch/powerpc/kvm/
De500_mmu.c37 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 …]
De500.c120 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 …]
De500_mmu_host.c124 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 …]
De500_emulate.c108 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 …]
De500mc.c55 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 …]
De500.h125 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 …]
De500_mmu_host.h9 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);