Home
last modified time | relevance | path

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

/linux/arch/arm64/kvm/hyp/
H A Dvgic-v3-sr.c201 static u64 compute_ich_hcr(struct vgic_v3_cpu_if *cpu_if) in compute_ich_hcr() argument
203 return cpu_if->vgic_hcr | vgic_ich_hcr_trap_bits(); in compute_ich_hcr()
206 void __vgic_v3_save_state(struct vgic_v3_cpu_if *cpu_if) in __vgic_v3_save_state() argument
208 u64 used_lrs = cpu_if->used_lrs; in __vgic_v3_save_state()
216 if (!cpu_if->vgic_sre) { in __vgic_v3_save_state()
230 cpu_if->vgic_lr[i] &= ~ICH_LR_STATE; in __vgic_v3_save_state()
232 cpu_if->vgic_lr[i] = __gic_v3_get_lr(i); in __vgic_v3_save_state()
238 cpu_if->vgic_vmcr = read_gicreg(ICH_VMCR_EL2); in __vgic_v3_save_state()
240 if (cpu_if->vgic_hcr & ICH_HCR_EL2_LRENPIE) { in __vgic_v3_save_state()
242 cpu_if->vgic_hcr &= ~ICH_HCR_EL2_EOIcount; in __vgic_v3_save_state()
[all …]
/linux/arch/arm64/kvm/vgic/
H A Dvgic-v2.c341 struct vgic_v2_cpu_if *cpu_if = &vcpu->arch.vgic_cpu.vgic_v2; in vgic_v2_set_vmcr() local
363 cpu_if->vgic_vmcr = vmcr; in vgic_v2_set_vmcr()
368 struct vgic_v2_cpu_if *cpu_if = &vcpu->arch.vgic_cpu.vgic_v2; in vgic_v2_get_vmcr() local
371 vmcr = cpu_if->vgic_vmcr; in vgic_v2_get_vmcr()
548 struct vgic_v2_cpu_if *cpu_if = &vcpu->arch.vgic_cpu.vgic_v2; in save_lrs() local
549 u64 used_lrs = cpu_if->used_lrs; in save_lrs()
559 cpu_if->vgic_lr[i] &= ~GICH_LR_STATE; in save_lrs()
561 cpu_if->vgic_lr[i] = readl_relaxed(base + GICH_LR0 + (i * 4)); in save_lrs()
569 struct vgic_v2_cpu_if *cpu_if = &vcpu->arch.vgic_cpu.vgic_v2; in vgic_v2_save_state() local
576 cpu_if->vgic_vmcr = readl_relaxed(kvm_vgic_global_state.vctrl_base + GICH_VMCR); in vgic_v2_save_state()
[all …]
H A Dvgic-v3-nested.c344 struct vgic_v3_cpu_if *cpu_if = &shadow_if->cpuif; in vgic_v3_load_nested() local
348 vgic_v3_create_shadow_state(vcpu, cpu_if); in vgic_v3_load_nested()
350 __vgic_v3_restore_vmcr_aprs(cpu_if); in vgic_v3_load_nested()
351 __vgic_v3_activate_traps(cpu_if); in vgic_v3_load_nested()
353 for (int i = 0; i < cpu_if->used_lrs; i++) in vgic_v3_load_nested()
354 __gic_v3_set_lr(cpu_if->vgic_lr[i], i); in vgic_v3_load_nested()
360 vcpu->arch.vgic_cpu.vgic_v3.used_lrs = cpu_if->used_lrs; in vgic_v3_load_nested()
H A Dvgic-v3.c406 struct vgic_v3_cpu_if *cpu_if = &vcpu->arch.vgic_cpu.vgic_v3; in vgic_v3_set_vmcr() local
431 cpu_if->vgic_vmcr = vmcr; in vgic_v3_set_vmcr()
436 struct vgic_v3_cpu_if *cpu_if = &vcpu->arch.vgic_cpu.vgic_v3; in vgic_v3_get_vmcr() local
440 vmcr = cpu_if->vgic_vmcr; in vgic_v3_get_vmcr()
977 struct vgic_v3_cpu_if *cpu_if = &vcpu->arch.vgic_cpu.vgic_v3; in vgic_v3_load() local
986 kvm_call_hyp(__vgic_v3_restore_vmcr_aprs, cpu_if); in vgic_v3_load()
989 __vgic_v3_activate_traps(cpu_if); in vgic_v3_load()
996 struct vgic_v3_cpu_if *cpu_if = &vcpu->arch.vgic_cpu.vgic_v3; in vgic_v3_put() local
1004 kvm_call_hyp(__vgic_v3_save_aprs, cpu_if); in vgic_v3_put()
1008 __vgic_v3_deactivate_traps(cpu_if); in vgic_v3_put()
H A Dvgic.h368 struct vgic_cpu *cpu_if = &vcpu->arch.vgic_cpu; in vgic_v3_max_apr_idx() local
375 switch (cpu_if->num_pri_bits) { in vgic_v3_max_apr_idx()
/linux/arch/arm64/include/asm/
H A Dkvm_hyp.h82 void __vgic_v3_save_state(struct vgic_v3_cpu_if *cpu_if);
83 void __vgic_v3_restore_state(struct vgic_v3_cpu_if *cpu_if);
84 void __vgic_v3_activate_traps(struct vgic_v3_cpu_if *cpu_if);
85 void __vgic_v3_deactivate_traps(struct vgic_v3_cpu_if *cpu_if);
86 void __vgic_v3_save_aprs(struct vgic_v3_cpu_if *cpu_if);
87 void __vgic_v3_restore_vmcr_aprs(struct vgic_v3_cpu_if *cpu_if);
/linux/arch/arm64/kvm/hyp/nvhe/
H A Dhyp-main.c473 DECLARE_REG(struct vgic_v3_cpu_if *, cpu_if, host_ctxt, 1); in handle___vgic_v3_save_aprs()
475 __vgic_v3_save_aprs(kern_hyp_va(cpu_if)); in handle___vgic_v3_save_aprs()
480 DECLARE_REG(struct vgic_v3_cpu_if *, cpu_if, host_ctxt, 1); in handle___vgic_v3_restore_vmcr_aprs()
482 __vgic_v3_restore_vmcr_aprs(kern_hyp_va(cpu_if)); in handle___vgic_v3_restore_vmcr_aprs()