| /linux-6.15/drivers/xen/events/ |
| H A D | events_2l.c | 123 struct vcpu_info *vcpu_info = __this_cpu_read(xen_vcpu); in evtchn_2l_unmask() local 132 BM(&vcpu_info->evtchn_pending_sel))) in evtchn_2l_unmask() 133 vcpu_info->evtchn_upcall_pending = 1; in evtchn_2l_unmask() 173 struct vcpu_info *vcpu_info = __this_cpu_read(xen_vcpu); in evtchn_2l_handle_events() local 190 pending_words = xchg_xen_ulong(&vcpu_info->evtchn_pending_sel, 0); in evtchn_2l_handle_events() 272 struct vcpu_info *v; in xen_debug_interrupt()
|
| H A D | events_base.c | 1694 struct vcpu_info *vcpu_info = __this_cpu_read(xen_vcpu); in xen_evtchn_do_upcall() local 1695 int ret = vcpu_info->evtchn_upcall_pending ? IRQ_HANDLED : IRQ_NONE; in xen_evtchn_do_upcall() 1709 vcpu_info->evtchn_upcall_pending = 0; in xen_evtchn_do_upcall() 1717 } while (vcpu_info->evtchn_upcall_pending); in xen_evtchn_do_upcall()
|
| /linux-6.15/arch/x86/kvm/vmx/ |
| H A D | posted_intr.c | 303 struct vcpu_data vcpu_info; in vmx_pi_update_irte() local 342 vcpu_info.pi_desc_addr = __pa(vcpu_to_pi_desc(vcpu)); in vmx_pi_update_irte() 343 vcpu_info.vector = irq.vector; in vmx_pi_update_irte() 346 vcpu_info.vector, vcpu_info.pi_desc_addr, set); in vmx_pi_update_irte() 353 ret = irq_set_vcpu_affinity(host_irq, &vcpu_info); in vmx_pi_update_irte()
|
| /linux-6.15/arch/x86/kernel/ |
| H A D | asm-offsets.c | 65 OFFSET(XEN_vcpu_info_mask, vcpu_info, evtchn_upcall_mask); in common() 66 OFFSET(XEN_vcpu_info_pending, vcpu_info, evtchn_upcall_pending); in common() 67 OFFSET(XEN_vcpu_info_arch_cr2, vcpu_info, arch.cr2); in common()
|
| /linux-6.15/arch/x86/xen/ |
| H A D | enlighten.c | 38 DEFINE_PER_CPU(struct vcpu_info *, xen_vcpu); 39 DEFINE_PER_CPU_ALIGNED(struct vcpu_info, xen_vcpu_info); 210 &HYPERVISOR_shared_info->vcpu_info[xen_vcpu_nr(cpu)]; in xen_vcpu_info_reset() 221 struct vcpu_info *vcpup; in xen_vcpu_setup()
|
| H A D | xen-ops.h | 31 DECLARE_PER_CPU_ALIGNED(struct vcpu_info, xen_vcpu_info);
|
| H A D | time.c | 41 &HYPERVISOR_shared_info->vcpu_info[0].time; in xen_tsc_khz()
|
| /linux-6.15/arch/arm/xen/ |
| H A D | enlighten.c | 51 DEFINE_PER_CPU(struct vcpu_info *, xen_vcpu); 52 static struct vcpu_info __percpu *xen_vcpu_info; 145 struct vcpu_info *vcpup; in xen_starting_cpu() 487 xen_vcpu_info = __alloc_percpu(sizeof(struct vcpu_info), in xen_guest_init() 488 1 << fls(sizeof(struct vcpu_info) - 1)); in xen_guest_init()
|
| /linux-6.15/include/xen/interface/ |
| H A D | xen.h | 505 struct vcpu_info { struct 543 struct vcpu_info vcpu_info[MAX_VIRT_CPUS]; argument
|
| /linux-6.15/arch/x86/kvm/ |
| H A D | xen.c | 657 if (kvm_gpc_refresh(gpc, sizeof(struct vcpu_info))) in kvm_xen_inject_pending_events() 665 struct vcpu_info *vi = gpc->khva; in kvm_xen_inject_pending_events() 731 if (kvm_gpc_refresh(gpc, sizeof(struct vcpu_info))) { in __kvm_xen_has_interrupt() 917 BUILD_BUG_ON(sizeof(struct vcpu_info) != in kvm_xen_vcpu_set_attr() 919 BUILD_BUG_ON(offsetof(struct vcpu_info, time) != in kvm_xen_vcpu_set_attr() 930 data->u.gpa, sizeof(struct vcpu_info)); in kvm_xen_vcpu_set_attr() 939 data->u.hva, sizeof(struct vcpu_info)); in kvm_xen_vcpu_set_attr() 1865 struct vcpu_info *vcpu_info = gpc->khva; in kvm_xen_set_evtchn_fast() local 1867 WRITE_ONCE(vcpu_info->evtchn_upcall_pending, 1); in kvm_xen_set_evtchn_fast() 1871 struct compat_vcpu_info *vcpu_info = gpc->khva; in kvm_xen_set_evtchn_fast() local [all …]
|
| H A D | xen.h | 241 struct compat_vcpu_info vcpu_info[MAX_VIRT_CPUS]; member
|
| /linux-6.15/arch/x86/kvm/svm/ |
| H A D | avic.c | 865 struct vcpu_data *vcpu_info, struct vcpu_svm **svm) in get_pi_vcpu_info() argument 882 vcpu_info->pi_desc_addr = __sme_set(page_to_phys((*svm)->avic_backing_page)); in get_pi_vcpu_info() 883 vcpu_info->vector = irq.vector; in get_pi_vcpu_info() 922 struct vcpu_data vcpu_info; in avic_pi_update_irte() local 935 if (!get_pi_vcpu_info(kvm, e, &vcpu_info, &svm) && set && in avic_pi_update_irte() 947 pi.vcpu_data = &vcpu_info; in avic_pi_update_irte() 963 e->gsi, vcpu_info.vector, in avic_pi_update_irte() 964 vcpu_info.pi_desc_addr, set); in avic_pi_update_irte()
|
| /linux-6.15/tools/testing/selftests/kvm/ |
| H A D | mmu_stress_test.c | 77 struct vcpu_info { struct 119 struct vcpu_info *info = data; in vcpu_worker() 208 struct vcpu_info *info; in spawn_workers()
|
| /linux-6.15/tools/testing/selftests/kvm/x86/ |
| H A D | xen_shinfo_test.c | 135 struct vcpu_info { struct 144 struct vcpu_info vcpu_info[32]; member 173 struct vcpu_info *vi = (void *)VCPU_INFO_VADDR; in evtchn_handler() 382 static struct vcpu_info *vinfo;
|
| /linux-6.15/include/xen/ |
| H A D | xen-ops.h | 13 DECLARE_PER_CPU(struct vcpu_info *, xen_vcpu);
|
| /linux-6.15/include/linux/ |
| H A D | irq.h | 533 int (*irq_set_vcpu_affinity)(struct irq_data *data, void *vcpu_info); 608 extern int irq_set_vcpu_affinity(unsigned int irq, void *vcpu_info); 686 void *vcpu_info);
|
| /linux-6.15/kernel/irq/ |
| H A D | chip.c | 1443 int irq_chip_set_vcpu_affinity_parent(struct irq_data *data, void *vcpu_info) in irq_chip_set_vcpu_affinity_parent() argument 1447 return data->chip->irq_set_vcpu_affinity(data, vcpu_info); in irq_chip_set_vcpu_affinity_parent()
|
| H A D | manage.c | 658 int irq_set_vcpu_affinity(unsigned int irq, void *vcpu_info) in irq_set_vcpu_affinity() argument 682 ret = chip->irq_set_vcpu_affinity(data, vcpu_info); in irq_set_vcpu_affinity()
|
| /linux-6.15/drivers/irqchip/ |
| H A D | irq-gic-v3-its.c | 2034 static int its_irq_set_vcpu_affinity(struct irq_data *d, void *vcpu_info) in its_irq_set_vcpu_affinity() argument 2037 struct its_cmd_info *info = vcpu_info; in its_irq_set_vcpu_affinity() 4067 static int its_vpe_set_vcpu_affinity(struct irq_data *d, void *vcpu_info) in its_vpe_set_vcpu_affinity() argument 4070 struct its_cmd_info *info = vcpu_info; in its_vpe_set_vcpu_affinity() 4288 static int its_vpe_4_1_set_vcpu_affinity(struct irq_data *d, void *vcpu_info) in its_vpe_4_1_set_vcpu_affinity() argument 4291 struct its_cmd_info *info = vcpu_info; in its_vpe_4_1_set_vcpu_affinity() 4448 static int its_sgi_set_vcpu_affinity(struct irq_data *d, void *vcpu_info) in its_sgi_set_vcpu_affinity() argument 4451 struct its_cmd_info *info = vcpu_info; in its_sgi_set_vcpu_affinity()
|
| /linux-6.15/drivers/pinctrl/qcom/ |
| H A D | pinctrl-msm.c | 1295 static int msm_gpio_irq_set_vcpu_affinity(struct irq_data *d, void *vcpu_info) in msm_gpio_irq_set_vcpu_affinity() argument 1301 return irq_chip_set_vcpu_affinity_parent(d, vcpu_info); in msm_gpio_irq_set_vcpu_affinity()
|
| /linux-6.15/drivers/iommu/amd/ |
| H A D | iommu.c | 3863 static int amd_ir_set_vcpu_affinity(struct irq_data *data, void *vcpu_info) in amd_ir_set_vcpu_affinity() argument 3866 struct amd_iommu_pi_data *pi_data = vcpu_info; in amd_ir_set_vcpu_affinity()
|
| /linux-6.15/Documentation/virt/kvm/ |
| H A D | api.rst | 5558 page resides. Note that although Xen places vcpu_info for the first 5562 the vcpu_info for a given vCPU resides at the "default" location 5564 the Xen CPU id which is used as the index into the vcpu_info[] 5680 Sets the guest physical address of the vcpu_info for a given vCPU. 5685 the vcpu_info. 5690 userspace address of the vcpu_info for a given vCPU. It should 5691 only be used when the vcpu_info resides at the "default" location 5698 If the vcpu_info does not reside at the "default" location then 8840 vcpu_info is set.
|