Home
last modified time | relevance | path

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

/linux-6.3-rc2/arch/x86/kvm/vmx/
A Dposted_intr.h11 struct pi_desc { struct
33 static inline bool pi_test_and_set_on(struct pi_desc *pi_desc) in pi_test_and_set_on() argument
39 static inline bool pi_test_and_clear_on(struct pi_desc *pi_desc) in pi_test_and_clear_on() argument
45 static inline bool pi_test_and_clear_sn(struct pi_desc *pi_desc) in pi_test_and_clear_sn() argument
56 static inline bool pi_is_pir_empty(struct pi_desc *pi_desc) in pi_is_pir_empty() argument
61 static inline void pi_set_sn(struct pi_desc *pi_desc) in pi_set_sn() argument
67 static inline void pi_set_on(struct pi_desc *pi_desc) in pi_set_on() argument
73 static inline void pi_clear_on(struct pi_desc *pi_desc) in pi_clear_on() argument
79 static inline void pi_clear_sn(struct pi_desc *pi_desc) in pi_clear_sn() argument
85 static inline bool pi_test_on(struct pi_desc *pi_desc) in pi_test_on() argument
[all …]
A Dposted_intr.c36 return &(to_vmx(vcpu)->pi_desc); in vcpu_to_pi_desc()
39 static int pi_try_set_control(struct pi_desc *pi_desc, u64 *pold, u64 new) in pi_try_set_control() argument
55 struct pi_desc *pi_desc = vcpu_to_pi_desc(vcpu); in vmx_vcpu_pi_load() local
57 struct pi_desc old, new; in vmx_vcpu_pi_load()
132 pi_set_on(pi_desc); in vmx_vcpu_pi_load()
148 struct pi_desc *pi_desc = vcpu_to_pi_desc(vcpu); in pi_enable_wakeup_handler() local
150 struct pi_desc old, new; in pi_enable_wakeup_handler()
198 struct pi_desc *pi_desc = vcpu_to_pi_desc(vcpu); in vmx_vcpu_pi_put() local
212 pi_set_sn(pi_desc); in vmx_vcpu_pi_put()
242 struct pi_desc *pi_desc = vcpu_to_pi_desc(vcpu); in pi_has_pending_interrupt() local
[all …]
A Dvmx.h218 struct pi_desc *pi_desc; member
333 struct pi_desc pi_desc; member
A Dvmx.c4241 if (pi_test_and_set_pir(vector, &vmx->pi_desc)) in vmx_deliver_posted_interrupt()
4245 if (pi_test_and_set_on(&vmx->pi_desc)) in vmx_deliver_posted_interrupt()
4732 vmcs_write64(POSTED_INTR_DESC_ADDR, __pa((&vmx->pi_desc))); in init_vmcs()
4840 vmx->pi_desc.nv = POSTED_INTR_VECTOR; in __vmx_vcpu_reset()
4841 vmx->pi_desc.sn = 1; in __vmx_vcpu_reset()
6821 if (pi_test_on(&vmx->pi_desc)) { in vmx_sync_pir_to_irr()
6822 pi_clear_on(&vmx->pi_desc); in vmx_sync_pir_to_irr()
6829 kvm_apic_update_irr(vcpu, vmx->pi_desc.pir, &max_irr); in vmx_sync_pir_to_irr()
6873 pi_clear_on(&vmx->pi_desc); in vmx_apicv_post_state_restore()
6874 memset(vmx->pi_desc.pir, 0, sizeof(vmx->pi_desc.pir)); in vmx_apicv_post_state_restore()
[all …]
A Dnested.c330 vmx->nested.pi_desc = NULL; in free_nested()
3251 vmx->nested.pi_desc = in nested_get_vmcs12_pages()
3252 (struct pi_desc *)(((void *)map->hva) + in nested_get_vmcs12_pages()
3263 vmx->nested.pi_desc = NULL; in nested_get_vmcs12_pages()
3820 if (!vmx->nested.pi_desc) in vmx_complete_nested_posted_interrupt()
3825 if (!pi_test_and_clear_on(vmx->nested.pi_desc)) in vmx_complete_nested_posted_interrupt()
3828 max_irr = find_last_bit((unsigned long *)vmx->nested.pi_desc->pir, 256); in vmx_complete_nested_posted_interrupt()
3834 __kvm_apic_update_irr(vmx->nested.pi_desc->pir, in vmx_complete_nested_posted_interrupt()
4834 vmx->nested.pi_desc = NULL; in nested_vmx_vmexit()

Completed in 34 milliseconds