/kernel/linux/linux-5.10/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()
|
/kernel/linux/linux-6.6/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()
|
/kernel/linux/linux-5.10/arch/x86/kvm/vmx/ |
H A D | posted_intr.c | 260 struct vcpu_data vcpu_info; in pi_update_irte() local 312 vcpu_info.pi_desc_addr = __pa(&to_vmx(vcpu)->pi_desc); in pi_update_irte() 313 vcpu_info.vector = irq.vector; in pi_update_irte() 316 vcpu_info.vector, vcpu_info.pi_desc_addr, set); in pi_update_irte() 319 ret = irq_set_vcpu_affinity(host_irq, &vcpu_info); in pi_update_irte()
|
/kernel/linux/linux-6.6/arch/x86/kvm/vmx/ |
H A D | posted_intr.c | 279 struct vcpu_data vcpu_info; in vmx_pi_update_irte() local 331 vcpu_info.pi_desc_addr = __pa(vcpu_to_pi_desc(vcpu)); in vmx_pi_update_irte() 332 vcpu_info.vector = irq.vector; in vmx_pi_update_irte() 335 vcpu_info.vector, vcpu_info.pi_desc_addr, set); in vmx_pi_update_irte() 338 ret = irq_set_vcpu_affinity(host_irq, &vcpu_info); in vmx_pi_update_irte()
|
/kernel/linux/linux-5.10/arch/x86/xen/ |
H A D | irq.c | 29 struct vcpu_info *vcpu; in xen_save_fl() 47 struct vcpu_info *vcpu; in xen_restore_fl() 80 struct vcpu_info *vcpu; in xen_irq_enable()
|
H A D | enlighten.c | 27 * &HYPERVISOR_shared_info->vcpu_info[cpu]. See xen_hvm_init_shared_info 28 * and xen_vcpu_setup for details. By default it points to share_info->vcpu_info 41 DEFINE_PER_CPU(struct vcpu_info *, xen_vcpu); 48 DEFINE_PER_CPU(struct vcpu_info, xen_vcpu_info); 191 &HYPERVISOR_shared_info->vcpu_info[xen_vcpu_nr(cpu)]; in xen_vcpu_info_reset() 202 struct vcpu_info *vcpup; in xen_vcpu_setup() 228 * Check to see if the hypervisor will put the vcpu_info in xen_vcpu_setup()
|
H A D | xen-ops.h | 24 DECLARE_PER_CPU(struct vcpu_info, xen_vcpu_info);
|
/kernel/linux/linux-5.10/arch/x86/kernel/ |
H A D | asm-offsets.c | 74 OFFSET(XEN_vcpu_info_mask, vcpu_info, evtchn_upcall_mask); in common() 75 OFFSET(XEN_vcpu_info_pending, vcpu_info, evtchn_upcall_pending); in common() 76 OFFSET(XEN_vcpu_info_arch_cr2, vcpu_info, arch.cr2); in common()
|
/kernel/linux/linux-6.6/arch/x86/xen/ |
H A D | enlighten.c | 32 * &HYPERVISOR_shared_info->vcpu_info[cpu]. See xen_hvm_init_shared_info 33 * and xen_vcpu_setup for details. By default it points to share_info->vcpu_info 40 DEFINE_PER_CPU(struct vcpu_info *, xen_vcpu); 41 DEFINE_PER_CPU_ALIGNED(struct vcpu_info, xen_vcpu_info); 153 &HYPERVISOR_shared_info->vcpu_info[xen_vcpu_nr(cpu)]; in xen_vcpu_info_reset() 164 struct vcpu_info *vcpup; in xen_vcpu_setup()
|
H A D | xen-ops.h | 24 DECLARE_PER_CPU_ALIGNED(struct vcpu_info, xen_vcpu_info);
|
/kernel/linux/linux-5.10/arch/arm/xen/ |
H A D | enlighten.c | 49 DEFINE_PER_CPU(struct vcpu_info *, xen_vcpu); 50 static struct vcpu_info __percpu *xen_vcpu_info; 139 struct vcpu_info *vcpup; in xen_starting_cpu() 144 * vcpu, so if vcpu_info is already registered, just get out. This in xen_starting_cpu() 346 /* xen_vcpu is a pointer to the vcpu_info struct in the shared_info in xen_guest_init() 354 xen_vcpu_info = __alloc_percpu(sizeof(struct vcpu_info), in xen_guest_init() 355 1 << fls(sizeof(struct vcpu_info) - 1)); in xen_guest_init()
|
/kernel/linux/linux-6.6/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()
|
/kernel/linux/linux-6.6/arch/x86/kvm/ |
H A D | xen.c | 491 * On event channel delivery, the vcpu_info may not have been accessible. 493 * need to be marked into the vcpu_info (and evtchn_upcall_pending set). 512 while (!kvm_gpc_check(gpc, sizeof(struct vcpu_info))) { in kvm_xen_inject_pending_events() 515 if (kvm_gpc_refresh(gpc, sizeof(struct vcpu_info))) in kvm_xen_inject_pending_events() 521 /* Now gpc->khva is a valid kernel address for the vcpu_info */ in kvm_xen_inject_pending_events() 523 struct vcpu_info *vi = gpc->khva; in kvm_xen_inject_pending_events() 567 BUILD_BUG_ON(offsetof(struct vcpu_info, evtchn_upcall_pending) != in __kvm_xen_has_interrupt() 570 sizeof_field(struct vcpu_info, evtchn_upcall_pending)); in __kvm_xen_has_interrupt() 575 while (!kvm_gpc_check(gpc, sizeof(struct vcpu_info))) { in __kvm_xen_has_interrupt() 589 if (kvm_gpc_refresh(gpc, sizeof(struct vcpu_info))) { in __kvm_xen_has_interrupt() 1628 struct vcpu_info *vcpu_info = gpc->khva; kvm_xen_set_evtchn_fast() local 1634 struct compat_vcpu_info *vcpu_info = gpc->khva; kvm_xen_set_evtchn_fast() local [all...] |
H A D | xen.h | 219 struct compat_vcpu_info vcpu_info[MAX_VIRT_CPUS]; member
|
/kernel/linux/linux-5.10/include/xen/interface/ |
H A D | xen.h | 522 struct vcpu_info { struct 560 struct vcpu_info vcpu_info[MAX_VIRT_CPUS]; member
|
/kernel/linux/linux-6.6/include/xen/interface/ |
H A D | xen.h | 505 struct vcpu_info { struct 543 struct vcpu_info vcpu_info[MAX_VIRT_CPUS]; member
|
/kernel/linux/linux-6.6/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() 150 * vcpu, so if vcpu_info is already registered, just get out. This in xen_starting_cpu() 479 /* xen_vcpu is a pointer to the vcpu_info struct in the shared_info in xen_guest_init() 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()
|
/kernel/linux/linux-5.10/arch/x86/kvm/svm/ |
H A D | avic.c | 772 struct vcpu_data *vcpu_info, struct vcpu_svm **svm) in get_pi_vcpu_info() 789 vcpu_info->pi_desc_addr = __sme_set(page_to_phys((*svm)->avic_backing_page)); in get_pi_vcpu_info() 790 vcpu_info->vector = irq.vector; in get_pi_vcpu_info() 829 struct vcpu_data vcpu_info; in svm_update_pi_irte() local 842 if (!get_pi_vcpu_info(kvm, e, &vcpu_info, &svm) && set && in svm_update_pi_irte() 852 pi.vcpu_data = &vcpu_info; in svm_update_pi_irte() 895 e->gsi, vcpu_info.vector, in svm_update_pi_irte() 896 vcpu_info.pi_desc_addr, set); in svm_update_pi_irte() 771 get_pi_vcpu_info(struct kvm *kvm, struct kvm_kernel_irq_routing_entry *e, struct vcpu_data *vcpu_info, struct vcpu_svm **svm) get_pi_vcpu_info() argument
|
/kernel/linux/linux-6.6/arch/x86/kvm/svm/ |
H A D | avic.c | 862 struct vcpu_data *vcpu_info, struct vcpu_svm **svm) in get_pi_vcpu_info() 879 vcpu_info->pi_desc_addr = __sme_set(page_to_phys((*svm)->avic_backing_page)); in get_pi_vcpu_info() 880 vcpu_info->vector = irq.vector; in get_pi_vcpu_info() 919 struct vcpu_data vcpu_info; in avic_pi_update_irte() local 932 if (!get_pi_vcpu_info(kvm, e, &vcpu_info, &svm) && set && in avic_pi_update_irte() 942 pi.vcpu_data = &vcpu_info; in avic_pi_update_irte() 985 e->gsi, vcpu_info.vector, in avic_pi_update_irte() 986 vcpu_info.pi_desc_addr, set); in avic_pi_update_irte() 861 get_pi_vcpu_info(struct kvm *kvm, struct kvm_kernel_irq_routing_entry *e, struct vcpu_data *vcpu_info, struct vcpu_svm **svm) get_pi_vcpu_info() argument
|
/kernel/linux/linux-6.6/tools/testing/selftests/kvm/ |
H A D | max_guest_memory_test.c | 31 struct vcpu_info { struct 63 struct vcpu_info *info = data; in vcpu_worker() 95 struct vcpu_info *info; in spawn_workers()
|
/kernel/linux/linux-6.6/tools/testing/selftests/kvm/x86_64/ |
H A D | xen_shinfo_test.c | 134 struct vcpu_info { struct 143 struct vcpu_info vcpu_info[32]; member 172 struct vcpu_info *vi = (void *)VCPU_INFO_VADDR; in evtchn_handler() 392 static struct vcpu_info *vinfo;
|
/kernel/linux/linux-6.6/include/xen/ |
H A D | xen-ops.h | 13 DECLARE_PER_CPU(struct vcpu_info *, xen_vcpu);
|
/kernel/linux/linux-5.10/include/xen/ |
H A D | xen-ops.h | 12 DECLARE_PER_CPU(struct vcpu_info *, xen_vcpu);
|
/kernel/linux/linux-5.10/include/linux/ |
H A D | irq.h | 544 int (*irq_set_vcpu_affinity)(struct irq_data *data, void *vcpu_info); 611 extern int irq_set_vcpu_affinity(unsigned int irq, void *vcpu_info); 690 void *vcpu_info);
|
/kernel/linux/linux-6.6/include/linux/ |
H A D | irq.h | 542 int (*irq_set_vcpu_affinity)(struct irq_data *data, void *vcpu_info); 613 extern int irq_set_vcpu_affinity(unsigned int irq, void *vcpu_info); 691 void *vcpu_info);
|