Home
last modified time | relevance | path

Searched refs:pi_desc (Results 1 – 10 of 10) sorted by relevance

/arch/x86/include/asm/
A Dposted_intr.h20 struct pi_desc { struct
93 static inline bool pi_test_and_set_on(struct pi_desc *pi_desc) in pi_test_and_set_on() argument
113 static inline bool pi_is_pir_empty(struct pi_desc *pi_desc) in pi_is_pir_empty() argument
118 static inline void pi_set_sn(struct pi_desc *pi_desc) in pi_set_sn() argument
123 static inline void pi_set_on(struct pi_desc *pi_desc) in pi_set_on() argument
128 static inline void pi_clear_on(struct pi_desc *pi_desc) in pi_clear_on() argument
133 static inline void pi_clear_sn(struct pi_desc *pi_desc) in pi_clear_sn() argument
138 static inline bool pi_test_on(struct pi_desc *pi_desc) in pi_test_on() argument
143 static inline bool pi_test_sn(struct pi_desc *pi_desc) in pi_test_sn() argument
154 static inline void __pi_set_sn(struct pi_desc *pi_desc) in __pi_set_sn() argument
[all …]
A Dhardirq.h54 DECLARE_PER_CPU_ALIGNED(struct pi_desc, posted_msi_pi_desc);
/arch/x86/kvm/vmx/
A Dposted_intr.c40 return &(to_vt(vcpu)->pi_desc); in vcpu_to_pi_desc()
43 static int pi_try_set_control(struct pi_desc *pi_desc, u64 *pold, u64 new) in pi_try_set_control() argument
59 struct pi_desc *pi_desc = vcpu_to_pi_desc(vcpu); in vmx_vcpu_pi_load() local
61 struct pi_desc old, new; in vmx_vcpu_pi_load()
144 pi_set_on(pi_desc); in vmx_vcpu_pi_load()
164 struct pi_desc *pi_desc = vcpu_to_pi_desc(vcpu); in pi_enable_wakeup_handler() local
166 struct pi_desc old, new; in pi_enable_wakeup_handler()
225 struct pi_desc *pi_desc = vcpu_to_pi_desc(vcpu); in vmx_vcpu_pi_put() local
247 pi_set_sn(pi_desc); in vmx_vcpu_pi_put()
285 struct pi_desc *pi_desc = vcpu_to_pi_desc(vcpu); in pi_has_pending_interrupt() local
[all …]
A Dcommon.h35 struct pi_desc pi_desc; member
160 struct pi_desc *pi_desc, int vector) in __vmx_deliver_posted_interrupt() argument
162 if (pi_test_and_set_pir(vector, pi_desc)) in __vmx_deliver_posted_interrupt()
166 if (pi_test_and_set_on(pi_desc)) in __vmx_deliver_posted_interrupt()
A Dposted_intr.h22 static inline int pi_find_highest_vector(struct pi_desc *pi_desc) in pi_find_highest_vector() argument
26 vec = find_last_bit(pi_desc->pir, 256); in pi_find_highest_vector()
A Dvmx.h163 struct pi_desc *pi_desc; member
A Dnested.c325 vmx->nested.pi_desc = NULL; in nested_put_vmcs12_pages()
3392 vmx->nested.pi_desc = in nested_get_vmcs12_pages()
3393 (struct pi_desc *)(((void *)map->hva) + in nested_get_vmcs12_pages()
3404 vmx->nested.pi_desc = NULL; in nested_get_vmcs12_pages()
3945 if (!vmx->nested.pi_desc) in vmx_complete_nested_posted_interrupt()
3950 if (!pi_test_and_clear_on(vmx->nested.pi_desc)) in vmx_complete_nested_posted_interrupt()
3953 max_irr = pi_find_highest_vector(vmx->nested.pi_desc); in vmx_complete_nested_posted_interrupt()
3959 __kvm_apic_update_irr(vmx->nested.pi_desc->pir, in vmx_complete_nested_posted_interrupt()
4117 if (vmx->nested.pi_pending && vmx->nested.pi_desc && in vmx_has_nested_events()
4118 pi_test_on(vmx->nested.pi_desc)) { in vmx_has_nested_events()
[all …]
A Dtdx.c705 tdx->vt.pi_desc.nv = POSTED_INTR_VECTOR; in tdx_vcpu_create()
706 __pi_set_sn(&tdx->vt.pi_desc); in tdx_vcpu_create()
1051 if (pi_test_on(&vt->pi_desc)) { in tdx_vcpu_run()
1055 APIC_VECTOR_MASK, &vt->pi_desc)) in tdx_vcpu_run()
1915 __vmx_deliver_posted_interrupt(vcpu, &tdx->vt.pi_desc, vector); in tdx_deliver_interrupt()
3125 td_vmcs_write64(tdx, POSTED_INTR_DESC_ADDR, __pa(&tdx->vt.pi_desc)); in tdx_vcpu_init()
A Dvmx.c4183 __vmx_deliver_posted_interrupt(vcpu, &vt->pi_desc, vector); in vmx_deliver_posted_interrupt()
4650 vmcs_write64(POSTED_INTR_DESC_ADDR, __pa((&vmx->vt.pi_desc))); in init_vmcs()
4764 vmx->vt.pi_desc.nv = POSTED_INTR_VECTOR; in __vmx_vcpu_reset()
4765 __pi_set_sn(&vmx->vt.pi_desc); in __vmx_vcpu_reset()
6824 if (pi_test_on(&vt->pi_desc)) { in vmx_sync_pir_to_irr()
6825 pi_clear_on(&vt->pi_desc); in vmx_sync_pir_to_irr()
6832 kvm_apic_update_irr(vcpu, vt->pi_desc.pir, &max_irr); in vmx_sync_pir_to_irr()
7507 __pa(&vmx->vt.pi_desc) | PID_TABLE_ENTRY_VALID); in vmx_vcpu_create()
/arch/x86/kernel/
A Dirq.c398 DEFINE_PER_CPU_ALIGNED(struct pi_desc, posted_msi_pi_desc);
443 struct pi_desc *pid; in DEFINE_IDTENTRY_SYSVEC()

Completed in 84 milliseconds