Searched refs:pi_desc (Results 1 – 8 of 8) sorted by relevance
| /linux-6.15/arch/x86/include/asm/ |
| H A D | posted_intr.h | 12 struct pi_desc { struct 29 static inline bool pi_test_and_set_on(struct pi_desc *pi_desc) in pi_test_and_set_on() argument 49 static inline bool pi_is_pir_empty(struct pi_desc *pi_desc) in pi_is_pir_empty() argument 54 static inline void pi_set_sn(struct pi_desc *pi_desc) in pi_set_sn() argument 59 static inline void pi_set_on(struct pi_desc *pi_desc) in pi_set_on() argument 64 static inline void pi_clear_on(struct pi_desc *pi_desc) in pi_clear_on() argument 69 static inline void pi_clear_sn(struct pi_desc *pi_desc) in pi_clear_sn() argument 74 static inline bool pi_test_on(struct pi_desc *pi_desc) in pi_test_on() argument 79 static inline bool pi_test_sn(struct pi_desc *pi_desc) in pi_test_sn() argument 85 static inline void __pi_set_sn(struct pi_desc *pi_desc) in __pi_set_sn() argument [all …]
|
| H A D | hardirq.h | 54 DECLARE_PER_CPU_ALIGNED(struct pi_desc, posted_msi_pi_desc);
|
| /linux-6.15/arch/x86/kvm/vmx/ |
| H A D | posted_intr.c | 38 return &(to_vmx(vcpu)->pi_desc); in vcpu_to_pi_desc() 41 static int pi_try_set_control(struct pi_desc *pi_desc, u64 *pold, u64 new) in pi_try_set_control() argument 57 struct pi_desc *pi_desc = vcpu_to_pi_desc(vcpu); in vmx_vcpu_pi_load() local 59 struct pi_desc old, new; in vmx_vcpu_pi_load() 145 pi_set_on(pi_desc); in vmx_vcpu_pi_load() 161 struct pi_desc *pi_desc = vcpu_to_pi_desc(vcpu); in pi_enable_wakeup_handler() local 163 struct pi_desc old, new; in pi_enable_wakeup_handler() 221 struct pi_desc *pi_desc = vcpu_to_pi_desc(vcpu); in vmx_vcpu_pi_put() local 235 pi_set_sn(pi_desc); in vmx_vcpu_pi_put() 265 struct pi_desc *pi_desc = vcpu_to_pi_desc(vcpu); in pi_has_pending_interrupt() local [all …]
|
| H A D | posted_intr.h | 17 static inline int pi_find_highest_vector(struct pi_desc *pi_desc) in pi_find_highest_vector() argument 21 vec = find_last_bit((unsigned long *)pi_desc->pir, 256); in pi_find_highest_vector()
|
| H A D | vmx.h | 204 struct pi_desc *pi_desc; member 321 struct pi_desc pi_desc; member
|
| H A D | nested.c | 324 vmx->nested.pi_desc = NULL; in nested_put_vmcs12_pages() 3374 vmx->nested.pi_desc = in nested_get_vmcs12_pages() 3375 (struct pi_desc *)(((void *)map->hva) + in nested_get_vmcs12_pages() 3386 vmx->nested.pi_desc = NULL; in nested_get_vmcs12_pages() 3927 if (!vmx->nested.pi_desc) in vmx_complete_nested_posted_interrupt() 3932 if (!pi_test_and_clear_on(vmx->nested.pi_desc)) in vmx_complete_nested_posted_interrupt() 3935 max_irr = pi_find_highest_vector(vmx->nested.pi_desc); in vmx_complete_nested_posted_interrupt() 3941 __kvm_apic_update_irr(vmx->nested.pi_desc->pir, in vmx_complete_nested_posted_interrupt() 4099 if (vmx->nested.pi_pending && vmx->nested.pi_desc && in vmx_has_nested_events() 4100 pi_test_on(vmx->nested.pi_desc)) { in vmx_has_nested_events() [all …]
|
| H A D | vmx.c | 4301 if (pi_test_and_set_pir(vector, &vmx->pi_desc)) in vmx_deliver_posted_interrupt() 4305 if (pi_test_and_set_on(&vmx->pi_desc)) in vmx_deliver_posted_interrupt() 4781 vmcs_write64(POSTED_INTR_DESC_ADDR, __pa((&vmx->pi_desc))); in init_vmcs() 4894 vmx->pi_desc.nv = POSTED_INTR_VECTOR; in __vmx_vcpu_reset() 4895 __pi_set_sn(&vmx->pi_desc); in __vmx_vcpu_reset() 6980 if (pi_test_on(&vmx->pi_desc)) { in vmx_sync_pir_to_irr() 6981 pi_clear_on(&vmx->pi_desc); in vmx_sync_pir_to_irr() 6988 kvm_apic_update_irr(vcpu, vmx->pi_desc.pir, &max_irr); in vmx_sync_pir_to_irr() 7032 pi_clear_on(&vmx->pi_desc); in vmx_apicv_pre_state_restore() 7033 memset(vmx->pi_desc.pir, 0, sizeof(vmx->pi_desc.pir)); in vmx_apicv_pre_state_restore() [all …]
|
| /linux-6.15/arch/x86/kernel/ |
| H A D | irq.c | 365 DEFINE_PER_CPU_ALIGNED(struct pi_desc, posted_msi_pi_desc); 453 struct pi_desc *pid; in DEFINE_IDTENTRY_SYSVEC()
|