search for: synic_has_active_vector

Displaying 5 results from an estimated 5 matches for "synic_has_active_vector".

2015 Oct 09
4
[PATCH 1/2] kvm/x86: Hyper-V synthetic interrupt controller
...gt; + return atomic64_read(&synic->sint[sint]); > +} > + > +static inline int synic_get_sint_vector(u64 sint_value) > +{ > + if (sint_value & HV_SYNIC_SINT_MASKED) > + return -1; > + return sint_value & HV_SYNIC_SINT_VECTOR_MASK; > +} > + > +static bool synic_has_active_vector(struct kvm_vcpu_hv_synic *synic, > + int vector, int sint_to_skip, int sint_mask) > +{ > + u64 sint_value; > + int i; > + > + for (i = 0; i < ARRAY_SIZE(synic->sint); i++) { > + if (i == sint_to_skip) > + continue; > + sint_value = synic_read_sint(synic,...
2015 Oct 09
4
[PATCH 1/2] kvm/x86: Hyper-V synthetic interrupt controller
...gt; + return atomic64_read(&synic->sint[sint]); > +} > + > +static inline int synic_get_sint_vector(u64 sint_value) > +{ > + if (sint_value & HV_SYNIC_SINT_MASKED) > + return -1; > + return sint_value & HV_SYNIC_SINT_VECTOR_MASK; > +} > + > +static bool synic_has_active_vector(struct kvm_vcpu_hv_synic *synic, > + int vector, int sint_to_skip, int sint_mask) > +{ > + u64 sint_value; > + int i; > + > + for (i = 0; i < ARRAY_SIZE(synic->sint); i++) { > + if (i == sint_to_skip) > + continue; > + sint_value = synic_read_sint(synic,...
2015 Oct 09
5
[PATCH 0/2] Hyper-V synthetic interrupt controller
This patchset implements the KVM part of the synthetic interrupt controller (synic) which is a building block of the Hyper-V paravirtualized device bus (vmbus). Synic is a lapic extension, which is controlled via MSRs and maintains for each vCPU - 16 synthetic interrupt "lines" (SINT's); each can be configured to trigger a specific interrupt vector optionally with auto-EOI
2015 Oct 09
5
[PATCH 0/2] Hyper-V synthetic interrupt controller
This patchset implements the KVM part of the synthetic interrupt controller (synic) which is a building block of the Hyper-V paravirtualized device bus (vmbus). Synic is a lapic extension, which is controlled via MSRs and maintains for each vCPU - 16 synthetic interrupt "lines" (SINT's); each can be configured to trigger a specific interrupt vector optionally with auto-EOI
2015 Oct 09
0
[PATCH 1/2] kvm/x86: Hyper-V synthetic interrupt controller
...ad_sint(struct kvm_vcpu_hv_synic *synic, int sint) +{ + return atomic64_read(&synic->sint[sint]); +} + +static inline int synic_get_sint_vector(u64 sint_value) +{ + if (sint_value & HV_SYNIC_SINT_MASKED) + return -1; + return sint_value & HV_SYNIC_SINT_VECTOR_MASK; +} + +static bool synic_has_active_vector(struct kvm_vcpu_hv_synic *synic, + int vector, int sint_to_skip, int sint_mask) +{ + u64 sint_value; + int i; + + for (i = 0; i < ARRAY_SIZE(synic->sint); i++) { + if (i == sint_to_skip) + continue; + sint_value = synic_read_sint(synic, i); + if ((synic_get_sint_vector(sint_value)...