ID: 3609473 - Add assertion/deassertion to threshold events

The event data and SDRs support assertions and deassertions for threshold events
as well as discrete events. So print out assertion and deassertion on all
events.

Commit for Corey Minyard
This commit is contained in:
Zdenek Styblik 2013-03-29 18:45:16 +00:00
parent 66fcf484a4
commit 3a383608dd
2 changed files with 27 additions and 25 deletions

View File

@ -1720,16 +1720,16 @@ ipmi_sel_print_std_entry(struct ipmi_intf * intf, struct sel_event_record * evt)
description = NULL;
}
if (evt->sel_type.standard_type.event_type == 0x6f) {
if (csv_output)
printf(",");
else
printf(" | ");
if (csv_output) {
printf(",");
} else {
printf(" | ");
}
if (evt->sel_type.standard_type.event_dir)
printf("Deasserted");
else
printf("Asserted");
if (evt->sel_type.standard_type.event_dir) {
printf("Deasserted");
} else {
printf("Asserted");
}
if (sdr != NULL && evt->sel_type.standard_type.event_type == 1) {

View File

@ -279,11 +279,13 @@ log_event(struct ipmi_event_intf * eintf, struct sel_event_record * evt)
sdr->record.full, evt->sel_type.standard_type.event_data[2]);
}
lprintf(LOG_NOTICE, "%s%s sensor %s %s (Reading %.*f %s Threshold %.*f %s)",
lprintf(LOG_NOTICE, "%s%s sensor %s %s %s (Reading %.*f %s Threshold %.*f %s)",
eintf->prefix,
type,
sdr->record.full->id_string,
desc ? : "",
(evt->sel_type.standard_type.event_dir
? "Deasserted" : "Asserted"),
(trigger_reading==(int)trigger_reading) ? 0 : 2,
trigger_reading,
((evt->sel_type.standard_type.event_data[0] & 0xf) % 2) ? ">" : "<",
@ -299,8 +301,11 @@ log_event(struct ipmi_event_intf * eintf, struct sel_event_record * evt)
/*
* Discrete Event
*/
lprintf(LOG_NOTICE, "%s%s sensor %s %s",
eintf->prefix, type, sdr->record.full->id_string, desc ? : "");
lprintf(LOG_NOTICE, "%s%s sensor %s %s %s",
eintf->prefix, type,
sdr->record.full->id_string, desc ? : "",
(evt->sel_type.standard_type.event_dir
? "Deasserted" : "Asserted"));
if (((evt->sel_type.standard_type.event_data[0] >> 6) & 3) == 1) {
/* previous state and/or severity in event data byte 2 */
}
@ -309,23 +314,20 @@ log_event(struct ipmi_event_intf * eintf, struct sel_event_record * evt)
/*
* OEM Event
*/
lprintf(LOG_NOTICE, "%s%s sensor %s %s",
eintf->prefix, type, sdr->record.full->id_string, desc ? : "");
lprintf(LOG_NOTICE, "%s%s sensor %s %s %s",
eintf->prefix, type,
sdr->record.full->id_string, desc ? : "",
(evt->sel_type.standard_type.event_dir
? "Deasserted" : "Asserted"));
}
break;
case SDR_RECORD_TYPE_COMPACT_SENSOR:
if (evt->sel_type.standard_type.event_type == 0x6f) {
lprintf(LOG_NOTICE, "%s%s sensor %s - %s %s",
eintf->prefix,
type, sdr->record.compact->id_string,
desc ? : "",
evt->sel_type.standard_type.event_dir ? "Deasserted" : "Asserted");
} else {
lprintf(LOG_NOTICE, "%s%s sensor %s - %s",
eintf->prefix, type,
sdr->record.compact->id_string, desc ? : "");
}
lprintf(LOG_NOTICE, "%s%s sensor %s - %s %s",
eintf->prefix, type,
sdr->record.compact->id_string, desc ? : "",
(evt->sel_type.standard_type.event_dir
? "Deasserted" : "Asserted"));
break;
default: