Lines Matching refs:pi_desc
110 struct pi_desc *pi_desc = &v->arch.hvm_vmx.pi_desc; in vmx_vcpu_block() local
127 ASSERT(!pi_test_sn(pi_desc)); in vmx_vcpu_block()
131 ASSERT(pi_desc->ndst == in vmx_vcpu_block()
134 write_atomic(&pi_desc->nv, pi_wakeup_vector); in vmx_vcpu_block()
139 struct pi_desc *pi_desc = &v->arch.hvm_vmx.pi_desc; in vmx_pi_switch_from() local
144 pi_set_sn(pi_desc); in vmx_pi_switch_from()
149 struct pi_desc *pi_desc = &v->arch.hvm_vmx.pi_desc; in vmx_pi_switch_to() local
152 write_atomic(&pi_desc->ndst, in vmx_pi_switch_to()
155 pi_clear_sn(pi_desc); in vmx_pi_switch_to()
162 struct pi_desc *pi_desc = &v->arch.hvm_vmx.pi_desc; in vmx_pi_unblock_vcpu() local
169 write_atomic(&pi_desc->nv, posted_intr_vector); in vmx_pi_unblock_vcpu()
228 pi_set_sn(&vmx->pi_desc); in vmx_pi_desc_fixup()
235 if ( pi_test_on(&vmx->pi_desc) ) in vmx_pi_desc_fixup()
257 write_atomic(&vmx->pi_desc.ndst, in vmx_pi_desc_fixup()
267 pi_clear_sn(&vmx->pi_desc); in vmx_pi_desc_fixup()
341 struct pi_desc *pi_desc = &v->arch.hvm_vmx.pi_desc; in vmx_pi_hooks_assign() local
347 (void)cmpxchg(&pi_desc->ndst, APIC_INVALID_DEST, in vmx_pi_hooks_assign()
2059 if ( pi_test_and_set_pir(vector, &v->arch.hvm_vmx.pi_desc) ) in vmx_deliver_posted_intr()
2069 pi_set_on(&v->arch.hvm_vmx.pi_desc); in vmx_deliver_posted_intr()
2073 struct pi_desc old, new, prev; in vmx_deliver_posted_intr()
2075 prev.control = v->arch.hvm_vmx.pi_desc.control; in vmx_deliver_posted_intr()
2091 old.control = v->arch.hvm_vmx.pi_desc.control & in vmx_deliver_posted_intr()
2093 new.control = v->arch.hvm_vmx.pi_desc.control | in vmx_deliver_posted_intr()
2096 prev.control = cmpxchg(&v->arch.hvm_vmx.pi_desc.control, in vmx_deliver_posted_intr()
2113 if ( !pi_test_and_clear_on(&v->arch.hvm_vmx.pi_desc) ) in vmx_sync_pir_to_irr()
2117 pending_intr[group] = pi_get_pir(&v->arch.hvm_vmx.pi_desc, group); in vmx_sync_pir_to_irr()
2125 return pi_test_pir(vec, &v->arch.hvm_vmx.pi_desc); in vmx_test_pir()
2391 if ( pi_test_on(&vmx->pi_desc) ) in pi_wakeup_interrupt()