Lines Matching defs:cpu_if
199 void __vgic_v3_save_state(struct vgic_v3_cpu_if *cpu_if)
201 u64 used_lrs = cpu_if->used_lrs;
209 if (!cpu_if->vgic_sre) {
215 if (used_lrs || cpu_if->its_vpe.its_vm) {
221 write_gicreg(cpu_if->vgic_hcr & ~ICH_HCR_EN, ICH_HCR_EL2);
225 cpu_if->vgic_lr[i] &= ~ICH_LR_STATE;
227 cpu_if->vgic_lr[i] = __gic_v3_get_lr(i);
234 void __vgic_v3_restore_state(struct vgic_v3_cpu_if *cpu_if)
236 u64 used_lrs = cpu_if->used_lrs;
239 if (used_lrs || cpu_if->its_vpe.its_vm) {
240 write_gicreg(cpu_if->vgic_hcr, ICH_HCR_EL2);
243 __gic_v3_set_lr(cpu_if->vgic_lr[i], i);
253 if (!cpu_if->vgic_sre) {
260 void __vgic_v3_activate_traps(struct vgic_v3_cpu_if *cpu_if)
272 if (!cpu_if->vgic_sre) {
275 write_gicreg(cpu_if->vgic_vmcr, ICH_VMCR_EL2);
303 cpu_if->its_vpe.its_vm)
304 write_gicreg(cpu_if->vgic_hcr, ICH_HCR_EL2);
307 void __vgic_v3_deactivate_traps(struct vgic_v3_cpu_if *cpu_if)
311 if (!cpu_if->vgic_sre) {
312 cpu_if->vgic_vmcr = read_gicreg(ICH_VMCR_EL2);
318 if (!cpu_if->vgic_sre) {
329 cpu_if->its_vpe.its_vm)
333 void __vgic_v3_save_aprs(struct vgic_v3_cpu_if *cpu_if)
343 cpu_if->vgic_ap0r[3] = __vgic_v3_read_ap0rn(3);
344 cpu_if->vgic_ap0r[2] = __vgic_v3_read_ap0rn(2);
347 cpu_if->vgic_ap0r[1] = __vgic_v3_read_ap0rn(1);
350 cpu_if->vgic_ap0r[0] = __vgic_v3_read_ap0rn(0);
355 cpu_if->vgic_ap1r[3] = __vgic_v3_read_ap1rn(3);
356 cpu_if->vgic_ap1r[2] = __vgic_v3_read_ap1rn(2);
359 cpu_if->vgic_ap1r[1] = __vgic_v3_read_ap1rn(1);
362 cpu_if->vgic_ap1r[0] = __vgic_v3_read_ap1rn(0);
366 void __vgic_v3_restore_aprs(struct vgic_v3_cpu_if *cpu_if)
376 __vgic_v3_write_ap0rn(cpu_if->vgic_ap0r[3], 3);
377 __vgic_v3_write_ap0rn(cpu_if->vgic_ap0r[2], 2);
380 __vgic_v3_write_ap0rn(cpu_if->vgic_ap0r[1], 1);
383 __vgic_v3_write_ap0rn(cpu_if->vgic_ap0r[0], 0);
388 __vgic_v3_write_ap1rn(cpu_if->vgic_ap1r[3], 3);
389 __vgic_v3_write_ap1rn(cpu_if->vgic_ap1r[2], 2);
392 __vgic_v3_write_ap1rn(cpu_if->vgic_ap1r[1], 1);
395 __vgic_v3_write_ap1rn(cpu_if->vgic_ap1r[0], 0);