Lines Matching full:alert

180  * gisa_set_iam - change the GISA interruption alert mask
185 * Change the IAM atomically with the next alert address and the IPM
186 * of the GISA if the GISA is not part of the GIB alert list. All three
190 * -EBUSY in case the gisa is part of the alert list
211 * Clear the IPM atomically with the next alert address and the IAM
230 * Atomically restores the interruption alert mask if none of the
242 alert_mask = READ_ONCE(gi->alert.mask); in gisa_get_ipm_or_restore_iam()
3080 * If the NONE_GISA_ADDR is still stored in the alert list in process_gib_alert_list()
3082 * been added to the alert list by millicode while processing in process_gib_alert_list()
3083 * the current alert list. in process_gib_alert_list()
3087 * Cut off the alert list and store the NONE_GISA_ADDR in the in process_gib_alert_list()
3088 * alert list origin to avoid further GAL interruptions. in process_gib_alert_list()
3089 * A new alert list can be build up by millicode in parallel in process_gib_alert_list()
3090 * for guests not in the yet cut-off alert list. When in the in process_gib_alert_list()
3097 * Loop through the just cut-off alert list and start the in process_gib_alert_list()
3133 gi->alert.mask = 0; in kvm_s390_gisa_init()
3134 spin_lock_init(&gi->alert.ref_lock); in kvm_s390_gisa_init()
3172 WARN(gi->alert.mask != 0x00, in kvm_s390_gisa_destroy()
3173 "unexpected non zero alert.mask 0x%02x", in kvm_s390_gisa_destroy()
3174 gi->alert.mask); in kvm_s390_gisa_destroy()
3175 gi->alert.mask = 0x00; in kvm_s390_gisa_destroy()
3176 if (gisa_set_iam(gi->origin, gi->alert.mask)) in kvm_s390_gisa_destroy()
3207 * The function extends the vm specific alert mask to use.
3209 * in case the GISA is not part of the GIB alert list.
3213 * Returns: the nonspecific ISC (NISC) the gib alert mechanism
3227 spin_lock(&gi->alert.ref_lock); in kvm_s390_gisc_register()
3228 gi->alert.ref_count[gisc]++; in kvm_s390_gisc_register()
3229 if (gi->alert.ref_count[gisc] == 1) { in kvm_s390_gisc_register()
3230 gi->alert.mask |= 0x80 >> gisc; in kvm_s390_gisc_register()
3231 gisa_set_iam(gi->origin, gi->alert.mask); in kvm_s390_gisc_register()
3233 spin_unlock(&gi->alert.ref_lock); in kvm_s390_gisc_register()
3245 * The function reduces the vm specific alert mask to use.
3247 * in case the GISA is not part of the GIB alert list.
3251 * Returns: the nonspecific ISC (NISC) the gib alert mechanism
3267 spin_lock(&gi->alert.ref_lock); in kvm_s390_gisc_unregister()
3268 if (gi->alert.ref_count[gisc] == 0) { in kvm_s390_gisc_unregister()
3272 gi->alert.ref_count[gisc]--; in kvm_s390_gisc_unregister()
3273 if (gi->alert.ref_count[gisc] == 0) { in kvm_s390_gisc_unregister()
3274 gi->alert.mask &= ~(0x80 >> gisc); in kvm_s390_gisc_unregister()
3275 gisa_set_iam(gi->origin, gi->alert.mask); in kvm_s390_gisc_unregister()
3278 spin_unlock(&gi->alert.ref_lock); in kvm_s390_gisc_unregister()
3404 pr_err("Registering the GIB alert interruption handler failed\n"); in kvm_s390_gib_init()