Home
last modified time | relevance | path

Searched refs:vgic_cpu (Results 1 – 14 of 14) sorted by relevance

/linux/arch/arm64/kvm/vgic/
H A Dvgic.c111 return &vcpu->arch.vgic_cpu.private_irqs[intid]; in vgic_get_vcpu_irq()
181 struct vgic_cpu *vgic_cpu = &vcpu->arch.vgic_cpu; in vgic_flush_pending_lpis() local
186 raw_spin_lock_irqsave(&vgic_cpu->ap_list_lock, flags); in vgic_flush_pending_lpis()
188 list_for_each_entry_safe(irq, tmp, &vgic_cpu->ap_list_head, ap_list) { in vgic_flush_pending_lpis()
198 raw_spin_unlock_irqrestore(&vgic_cpu->ap_list_lock, flags); in vgic_flush_pending_lpis()
348 struct vgic_cpu *vgic_cpu = &vcpu->arch.vgic_cpu; in vgic_sort_ap_list() local
351 lockdep_assert_held(&vgic_cpu->ap_list_lock); in vgic_sort_ap_list()
354 list_sort(&info, &vgic_cpu->ap_list_head, vgic_irq_cmp); in vgic_sort_ap_list()
445 raw_spin_lock_irqsave(&vcpu->arch.vgic_cpu.ap_list_lock, flags); in vgic_queue_irq_unlock()
462 raw_spin_unlock_irqrestore(&vcpu->arch.vgic_cpu.ap_list_lock, in vgic_queue_irq_unlock()
[all …]
H A Dvgic-init.c170 struct vgic_cpu *vgic_cpu = &vcpu->arch.vgic_cpu; in kvm_vgic_create() local
171 kfree(vgic_cpu->private_irqs); in kvm_vgic_create()
172 vgic_cpu->private_irqs = NULL; in kvm_vgic_create()
264 struct vgic_cpu *vgic_cpu = &vcpu->arch.vgic_cpu; in vgic_allocate_private_irqs_locked() local
269 if (vgic_cpu->private_irqs) in vgic_allocate_private_irqs_locked()
272 vgic_cpu->private_irqs = kzalloc_objs(struct vgic_irq, in vgic_allocate_private_irqs_locked()
276 if (!vgic_cpu->private_irqs) in vgic_allocate_private_irqs_locked()
284 struct vgic_irq *irq = &vgic_cpu->private_irqs[i]; in vgic_allocate_private_irqs_locked()
338 struct vgic_cpu *vgic_cpu = &vcpu->arch.vgic_cpu; in kvm_vgic_vcpu_init() local
342 vgic_cpu->rd_iodev.base_addr = VGIC_ADDR_UNDEF; in kvm_vgic_vcpu_init()
[all …]
H A Dvgic-mmio-v3.c267 struct vgic_cpu *vgic_cpu = &vcpu->arch.vgic_cpu; in vgic_lpis_enabled() local
269 return atomic_read(&vgic_cpu->ctlr) == GICR_CTLR_ENABLE_LPIS; in vgic_lpis_enabled()
275 struct vgic_cpu *vgic_cpu = &vcpu->arch.vgic_cpu; in vgic_mmio_read_v3r_ctlr() local
278 val = atomic_read(&vgic_cpu->ctlr); in vgic_mmio_read_v3r_ctlr()
289 struct vgic_cpu *vgic_cpu = &vcpu->arch.vgic_cpu; in vgic_mmio_write_v3r_ctlr() local
300 ctlr = atomic_cmpxchg_acquire(&vgic_cpu->ctlr, in vgic_mmio_write_v3r_ctlr()
308 atomic_set_release(&vgic_cpu->ctlr, 0); in vgic_mmio_write_v3r_ctlr()
310 ctlr = atomic_cmpxchg_acquire(&vgic_cpu->ctlr, 0, in vgic_mmio_write_v3r_ctlr()
322 struct vgic_cpu *vgic_cpu = &vcpu->arch.vgic_cpu; in vgic_mmio_vcpu_rdist_is_last() local
323 struct vgic_redist_region *iter, *rdreg = vgic_cpu->rdreg; in vgic_mmio_vcpu_rdist_is_last()
[all …]
H A Dvgic-v2.c33 struct vgic_v2_cpu_if *cpuif = &vcpu->arch.vgic_cpu.vgic_v2; in vgic_v2_configure_hcr()
115 struct vgic_cpu *vgic_cpu = &vcpu->arch.vgic_cpu; in vgic_v2_fold_lr_state() local
116 struct vgic_v2_cpu_if *cpuif = &vgic_cpu->vgic_v2; in vgic_v2_fold_lr_state()
122 for (int lr = 0; lr < vgic_cpu->vgic_v2.used_lrs; lr++) in vgic_v2_fold_lr_state()
126 list_for_each_entry_continue(irq, &vgic_cpu->ap_list_head, ap_list) { in vgic_v2_fold_lr_state()
153 struct vgic_cpu *vgic_cpu = &vcpu->arch.vgic_cpu; in vgic_v2_deactivate() local
154 struct vgic_v2_cpu_if *cpuif = &vgic_cpu->vgic_v2; in vgic_v2_deactivate()
304 vcpu->arch.vgic_cpu.vgic_v2.vgic_lr[lr] = val; in vgic_v2_populate_lr()
336 vcpu->arch.vgic_cpu.vgic_v2.vgic_lr[lr] = 0; in vgic_v2_clear_lr()
341 struct vgic_v2_cpu_if *cpu_if = &vcpu->arch.vgic_cpu.vgic_v2; in vgic_v2_set_vmcr()
[all …]
H A Dvgic-v3.c27 struct vgic_v3_cpu_if *cpuif = &vcpu->arch.vgic_cpu.vgic_v3; in vgic_v3_configure_hcr()
148 struct vgic_cpu *vgic_cpu = &vcpu->arch.vgic_cpu; in vgic_v3_fold_lr_state() local
149 struct vgic_v3_cpu_if *cpuif = &vgic_cpu->vgic_v3; in vgic_v3_fold_lr_state()
166 list_for_each_entry_continue(irq, &vgic_cpu->ap_list_head, ap_list) { in vgic_v3_fold_lr_state()
197 struct vgic_cpu *vgic_cpu = &vcpu->arch.vgic_cpu; in vgic_v3_deactivate() local
198 struct vgic_v3_cpu_if *cpuif = &vgic_cpu->vgic_v3; in vgic_v3_deactivate()
371 vcpu->arch.vgic_cpu.vgic_v3.vgic_lr[lr] = val; in vgic_v3_populate_lr()
401 vcpu->arch.vgic_cpu.vgic_v3.vgic_lr[lr] = 0; in vgic_v3_clear_lr()
406 struct vgic_v3_cpu_if *cpu_if = &vcpu->arch.vgic_cpu.vgic_v3; in vgic_v3_set_vmcr()
434 struct vgic_v3_cpu_if *cpu_if = &vcpu->arch.vgic_cpu.vgic_v3; in vgic_v3_get_vmcr()
[all …]
H A Dvgic-v4.c98 raw_spin_lock(&vcpu->arch.vgic_cpu.vgic_v3.its_vpe.vpe_lock); in vgic_v4_doorbell_handler()
99 vcpu->arch.vgic_cpu.vgic_v3.its_vpe.pending_last = true; in vgic_v4_doorbell_handler()
100 raw_spin_unlock(&vcpu->arch.vgic_cpu.vgic_v3.its_vpe.vpe_lock); in vgic_v4_doorbell_handler()
117 struct its_vpe *vpe = &vcpu->arch.vgic_cpu.vgic_v3.its_vpe; in vgic_v4_enable_vsgis()
218 struct its_vpe *vpe = &irq->target_vcpu->arch.vgic_cpu.vgic_v3.its_vpe; in vgic_v4_get_vlpi_state()
267 dist->its_vm.vpes[i] = &vcpu->arch.vgic_cpu.vgic_v3.its_vpe; in vgic_v4_init()
360 struct its_vpe *vpe = &vcpu->arch.vgic_cpu.vgic_v3.its_vpe; in vgic_v4_put()
370 struct its_vpe *vpe = &vcpu->arch.vgic_cpu.vgic_v3.its_vpe; in vgic_v4_load()
406 struct its_vpe *vpe = &vcpu->arch.vgic_cpu.vgic_v3.its_vpe; in vgic_v4_commit()
477 .vpe = &irq->target_vcpu->arch.vgic_cpu.vgic_v3.its_vpe, in kvm_vgic_v4_set_forwarding()
[all …]
H A Dvgic-mmio-v2.c383 return vcpu->arch.vgic_cpu.vgic_v2.vgic_apr; in vgic_mmio_read_apr()
385 struct vgic_v3_cpu_if *vgicv3 = &vcpu->arch.vgic_cpu.vgic_v3; in vgic_mmio_read_apr()
409 vcpu->arch.vgic_cpu.vgic_v2.vgic_apr = val; in vgic_mmio_write_apr()
411 struct vgic_v3_cpu_if *vgicv3 = &vcpu->arch.vgic_cpu.vgic_v3; in vgic_mmio_write_apr()
H A Dvgic-its.c331 map.vpe = &vcpu->arch.vgic_cpu.vgic_v3.its_vpe; in update_affinity()
391 gpa_t pendbase = GICR_PENDBASER_ADDRESS(vcpu->arch.vgic_cpu.pendbaser); in its_sync_lpi_pending_table()
1310 if (vcpu->arch.vgic_cpu.vgic_v3.its_vpe.its_vm) in vgic_its_invall()
1311 its_invall_vpe(&vcpu->arch.vgic_cpu.vgic_v3.its_vpe); in vgic_its_invall()
1798 if (!(vcpu->arch.vgic_cpu.pendbaser & GICR_PENDBASER_PTZ)) in vgic_enable_lpis()
/linux/arch/arm64/kvm/
H A Dvgic-sys-reg-v3.c17 struct vgic_cpu *vgic_v3_cpu = &vcpu->arch.vgic_cpu; in set_gic_ctlr()
62 struct vgic_cpu *vgic_v3_cpu = &vcpu->arch.vgic_cpu; in get_gic_ctlr()
210 struct vgic_v3_cpu_if *vgicv3 = &vcpu->arch.vgic_cpu.vgic_v3; in set_apr_reg()
220 struct vgic_v3_cpu_if *vgicv3 = &vcpu->arch.vgic_cpu.vgic_v3; in get_apr_reg()
293 struct vgic_v3_cpu_if *vgicv3 = &vcpu->arch.vgic_cpu.vgic_v3; in get_gic_sre()
H A Darm.c618 (atomic_read(&vcpu->arch.vgic_cpu.vgic_v3.its_vpe.vlpi_count) || in kvm_vcpu_should_clear_twi()
703 &vcpu->arch.vgic_cpu.vgic_v3); in kvm_arch_vcpu_load()
713 kvm_call_hyp(__vgic_v3_save_aprs, &vcpu->arch.vgic_cpu.vgic_v3); in kvm_arch_vcpu_put()
H A Dsys_regs.c663 p->regval = vcpu->arch.vgic_cpu.vgic_v3.vgic_sre; in access_gic_sre()
/linux/arch/arm64/kvm/hyp/nvhe/
H A Dswitch.c114 __vgic_v3_save_state(&vcpu->arch.vgic_cpu.vgic_v3); in __hyp_vgic_save_state()
115 __vgic_v3_deactivate_traps(&vcpu->arch.vgic_cpu.vgic_v3); in __hyp_vgic_save_state()
123 __vgic_v3_activate_traps(&vcpu->arch.vgic_cpu.vgic_v3); in __hyp_vgic_restore_state()
124 __vgic_v3_restore_state(&vcpu->arch.vgic_cpu.vgic_v3); in __hyp_vgic_restore_state()
H A Dhyp-main.c138 hyp_vcpu->vcpu.arch.vgic_cpu.vgic_v3 = host_vcpu->arch.vgic_cpu.vgic_v3; in flush_hyp_vcpu()
144 struct vgic_v3_cpu_if *hyp_cpu_if = &hyp_vcpu->vcpu.arch.vgic_cpu.vgic_v3; in sync_hyp_vcpu()
145 struct vgic_v3_cpu_if *host_cpu_if = &host_vcpu->arch.vgic_cpu.vgic_v3; in sync_hyp_vcpu()
/linux/arch/arm64/include/asm/
H A Dkvm_host.h895 struct vgic_cpu vgic_cpu; member