Lines Matching refs:alert
232 * gisa_set_iam - change the GISA interruption alert mask
237 * Change the IAM atomically with the next alert address and the IPM
238 * of the GISA if the GISA is not part of the GIB alert list. All three
242 * -EBUSY in case the gisa is part of the alert list
263 * Clear the IPM atomically with the next alert address and the IAM
282 * Atomically restores the interruption alert mask if none of the
294 alert_mask = READ_ONCE(gi->alert.mask);
3115 * If the NONE_GISA_ADDR is still stored in the alert list
3117 * been added to the alert list by millicode while processing
3118 * the current alert list.
3122 * Cut off the alert list and store the NONE_GISA_ADDR in the
3123 * alert list origin to avoid further GAL interruptions.
3124 * A new alert list can be build up by millicode in parallel
3125 * for guests not in the yet cut-off alert list. When in the
3132 * Loop through the just cut-off alert list and start the
3167 gi->alert.mask = 0;
3168 spin_lock_init(&gi->alert.ref_lock);
3183 if (gi->alert.mask)
3185 kvm, gi->alert.mask);
3198 * The function extends the vm specific alert mask to use.
3200 * in case the GISA is not part of the GIB alert list.
3204 * Returns: the nonspecific ISC (NISC) the gib alert mechanism
3218 spin_lock(&gi->alert.ref_lock);
3219 gi->alert.ref_count[gisc]++;
3220 if (gi->alert.ref_count[gisc] == 1) {
3221 gi->alert.mask |= 0x80 >> gisc;
3222 gisa_set_iam(gi->origin, gi->alert.mask);
3224 spin_unlock(&gi->alert.ref_lock);
3236 * The function reduces the vm specific alert mask to use.
3238 * in case the GISA is not part of the GIB alert list.
3242 * Returns: the nonspecific ISC (NISC) the gib alert mechanism
3258 spin_lock(&gi->alert.ref_lock);
3259 if (gi->alert.ref_count[gisc] == 0) {
3263 gi->alert.ref_count[gisc]--;
3264 if (gi->alert.ref_count[gisc] == 0) {
3265 gi->alert.mask &= ~(0x80 >> gisc);
3266 gisa_set_iam(gi->origin, gi->alert.mask);
3269 spin_unlock(&gi->alert.ref_lock);
3313 pr_err("Registering the GIB alert interruption handler failed\n");