Lines Matching refs:gisa

234  * @gisa: gisa to operate on
242 * -EBUSY in case the gisa is part of the alert list
244 static inline int gisa_set_iam(struct kvm_s390_gisa *gisa, u8 iam)
249 word = READ_ONCE(gisa->u64.word[0]);
250 if ((u64)gisa != word >> 32)
253 } while (cmpxchg(&gisa->u64.word[0], word, _word) != word);
261 * @gisa: gisa to operate on
267 static inline void gisa_clear_ipm(struct kvm_s390_gisa *gisa)
272 word = READ_ONCE(gisa->u64.word[0]);
274 } while (cmpxchg(&gisa->u64.word[0], word, _word) != word);
280 * @gi: gisa interrupt struct to work on
304 static inline int gisa_in_alert_list(struct kvm_s390_gisa *gisa)
306 return READ_ONCE(gisa->next_alert) != (u32)(u64)gisa;
309 static inline void gisa_set_ipm_gisc(struct kvm_s390_gisa *gisa, u32 gisc)
311 set_bit_inv(IPM_BIT_OFFSET + gisc, (unsigned long *) gisa);
314 static inline u8 gisa_get_ipm(struct kvm_s390_gisa *gisa)
316 return READ_ONCE(gisa->ipm);
319 static inline void gisa_clear_ipm_gisc(struct kvm_s390_gisa *gisa, u32 gisc)
321 clear_bit_inv(IPM_BIT_OFFSET + gisc, (unsigned long *) gisa);
324 static inline int gisa_tac_ipm_gisc(struct kvm_s390_gisa *gisa, u32 gisc)
326 return test_and_clear_bit_inv(IPM_BIT_OFFSET + gisc, (unsigned long *) gisa);
1222 VCPU_EVENT(vcpu, 4, "%s isc %u", "deliver: I/O (AI/gisa)", isc);
1907 * Do not make use of gisa in protected mode. We do not use the lock
1914 VM_EVENT(kvm, 4, "%s isc %1u", "inject: I/O (AI/gisa)", isc);
3089 container_of(gi->origin, struct sie_page2, gisa)->kvm;
3109 struct kvm_s390_gisa *gisa;
3133 * gisa timers to kick idle vcpus to consume the pending
3137 gisa = (struct kvm_s390_gisa *)(u64)origin;
3138 origin = gisa->next_alert;
3139 gisa->next_alert = (u32)(u64)gisa;
3140 kvm = container_of(gisa, struct sie_page2, gisa)->kvm;
3157 VM_EVENT(kvm, 3, "gisa 0x%pK cleared", gi->origin);
3166 gi->origin = &kvm->arch.sie_page2->gisa;
3174 VM_EVENT(kvm, 3, "gisa 0x%pK initialized", gi->origin);