static long salinfo_log_clear_cpu(void *context) { struct salinfo_data *data = context; ia64_sal_clear_state_info(data->type); return 0; }
void clear_state_info_on(void *data) { struct smp_call_args_t *arg = data; arg->ret = ia64_sal_clear_state_info(arg->type); IA64_SAL_DEBUG("SAL_CLEAR_STATE_INFO(%s) on CPU#%d returns %ld.\n", rec_name[arg->type], smp_processor_id(), arg->ret); }
static void salinfo_log_read_cpu(void *context) { struct salinfo_data *data = context; sal_log_record_header_t *rh; data->log_size = ia64_sal_get_state_info(data->type, (u64 *) data->log_buffer); rh = (sal_log_record_header_t *)(data->log_buffer); /* Clear corrected errors as they are read from SAL */ if (rh->severity == sal_log_severity_corrected) ia64_sal_clear_state_info(data->type); }
static void salinfo_log_read_cpu(void *context) { struct salinfo_data *data = context; data->log_size = ia64_sal_get_state_info(data->type, (u64 *) data->log_buffer); if (data->log_size > 0) { if (data->type == SAL_INFO_TYPE_CPE || data->type == SAL_INFO_TYPE_CMC) ia64_sal_clear_state_info(data->type); } }