Lines Matching refs:sint
39 static inline u64 synic_read_sint(struct kvm_vcpu_hv_synic *synic, int sint) in synic_read_sint() argument
41 return atomic64_read(&synic->sint[sint]); in synic_read_sint()
56 for (i = 0; i < ARRAY_SIZE(synic->sint); i++) { in synic_has_vector_connected()
69 for (i = 0; i < ARRAY_SIZE(synic->sint); i++) { in synic_has_vector_auto_eoi()
95 static int synic_set_sint(struct kvm_vcpu_hv_synic *synic, int sint, in synic_set_sint() argument
117 old_vector = synic_read_sint(synic, sint) & HV_SYNIC_SINT_VECTOR_MASK; in synic_set_sint()
119 atomic64_set(&synic->sint[sint], data); in synic_set_sint()
158 u32 sint) in synic_clear_sint_msg_pending() argument
175 msg = &msg_page->sint_message[sint]; in synic_clear_sint_msg_pending()
183 static void kvm_hv_notify_acked_sint(struct kvm_vcpu *vcpu, u32 sint) in kvm_hv_notify_acked_sint() argument
191 trace_kvm_hv_notify_acked_sint(vcpu->vcpu_id, sint); in kvm_hv_notify_acked_sint()
194 synic_clear_sint_msg_pending(synic, sint); in kvm_hv_notify_acked_sint()
202 HV_STIMER_SINT(stimer->config) == sint) { in kvm_hv_notify_acked_sint()
212 gsi = atomic_read(&synic->sint_to_gsi[sint]); in kvm_hv_notify_acked_sint()
284 for (i = 0; i < ARRAY_SIZE(synic->sint); i++) in synic_set_msr()
324 *pdata = atomic64_read(&synic->sint[msr - HV_X64_MSR_SINT0]); in synic_get_msr()
333 static int synic_set_irq(struct kvm_vcpu_hv_synic *synic, u32 sint) in synic_set_irq() argument
339 if (sint >= ARRAY_SIZE(synic->sint)) in synic_set_irq()
342 vector = synic_get_sint_vector(synic_read_sint(synic, sint)); in synic_set_irq()
354 trace_kvm_hv_synic_set_irq(vcpu->vcpu_id, sint, irq.vector, ret); in synic_set_irq()
358 int kvm_hv_synic_set_irq(struct kvm *kvm, u32 vpidx, u32 sint) in kvm_hv_synic_set_irq() argument
366 return synic_set_irq(synic, sint); in kvm_hv_synic_set_irq()
376 for (i = 0; i < ARRAY_SIZE(synic->sint); i++) in kvm_hv_synic_send_eoi()
381 static int kvm_hv_set_sint_gsi(struct kvm *kvm, u32 vpidx, u32 sint, int gsi) in kvm_hv_set_sint_gsi() argument
389 if (sint >= ARRAY_SIZE(synic->sint_to_gsi)) in kvm_hv_set_sint_gsi()
392 atomic_set(&synic->sint_to_gsi[sint], gsi); in kvm_hv_set_sint_gsi()
409 e->hv_sint.sint, gsi); in kvm_hv_irq_routing_update()
420 for (i = 0; i < ARRAY_SIZE(synic->sint); i++) { in synic_init()
421 atomic64_set(&synic->sint[i], HV_SYNIC_SINT_MASKED); in synic_init()
584 static int synic_deliver_msg(struct kvm_vcpu_hv_synic *synic, u32 sint, in synic_deliver_msg() argument
603 dst_msg = &msg_page->sint_message[sint]; in synic_deliver_msg()
613 r = synic_set_irq(synic, sint); in synic_deliver_msg()