-More enhancements for reventlog based on most recent IPMI markup

git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/trunk@2079 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
This commit is contained in:
jbjohnso 2008-09-06 19:09:49 +00:00
parent d92ffbd000
commit 939f1b91c9
2 changed files with 74 additions and 2 deletions

View File

@ -55,7 +55,20 @@ package xCAT::data::ipmisensorevents;
"0Ch,03h"=>"Memory,Memory Scrub Failed (stuck bit)",
"0Ch,04h"=>"Memory,Memory Device Disabled",
"0Ch,05h"=>"Memory,Correctable ECC (logging limit reached)",
"0Ch,06h"=>"Memory,Presence detected",
"0Ch,07h"=>"Memory,Configuration Error",
"0Ch,08h"=>"Memory,Spare",
"0Ch,09h"=>"Memory,Throttled",
"0Dh,-"=>"Drive Slot,-",
"0Dh,00h"=>"Drive Bay,Present",
"0Dh,01h"=>"Drive Bay,Fault",
"0Dh,02h"=>"Drive Bay,Failure Predicted",
"0Dh,03h"=>"Drive Bay,Hot Spare",
"0Dh,04h"=>"Drive Bay,Consistency Checking",
"0Dh,05h"=>"Drive Bay,Array Critical",
"0Dh,06h"=>"Drive Bay,Array Failed",
"0Dh,07h"=>"Drive Bay,Rebuilding",
"0Dh,08h"=>"Drive Bay,Rebuild aborted",
"0Eh,-"=>"POST Memory Resize,-",
"0Fh,00h"=>"System Firmware Progress,POST Error",
"0Fh,01h"=>"System Firmware Progress,System Firmware Hung",
@ -100,12 +113,17 @@ package xCAT::data::ipmisensorevents;
"19h,-"=>"Chip Set,-",
"1Ah,-"=>"Other FRU,-",
"1Bh,-"=>"Cable / Interconnect,-",
"1Bh,00h"=>"Cable/Interconnect,Connected",
"1Bh,01h"=>"Cable/Interconnect,Incorrect configuration",
"1Ch,-"=>"Terminator,-",
"1Dh,00h"=>"System Boot Initiated,Initiated by power up",
"1Dh,01h"=>"System Boot Initiated,Initiated by hard reset",
"1Dh,02h"=>"System Boot Initiated,Initiated by warm reset",
"1Dh,03h"=>"System Boot Initiated,User requested PXE boot",
"1Dh,04h"=>"System Boot Initiated,Automatic boot to diagnostic",
"1Dh,05h"=>"System Boot Initiated,OS hard reset",
"1Dh,06h"=>"System Boot Initiated,OS warm reset",
"1Dh,07h"=>"System Boot Initiated,Restart",
"1Eh,00h"=>"Boot Error,No bootable media",
"1Eh,01h"=>"Boot Error,Non-bootable diskette left in drive",
"1Eh,02h"=>"Boot Error,PXE Server not found",
@ -118,8 +136,12 @@ package xCAT::data::ipmisensorevents;
"1Fh,04h"=>"OS Boot,CD-ROM boot completed",
"1Fh,05h"=>"OS Boot,ROM boot completed",
"1Fh,06h"=>"OS Boot,Boot completed - boot device not specified",
"20h,00h"=>"OS Critical Stop,Stop during OS load / initialization",
"20h,01h"=>"OS Critical Stop,Run-time Stop",
"20h,00h"=>"OS Stop,Critical Stop during OS load / initialization",
"20h,01h"=>"OS Stop,Run-time critical Stop (panic/BSOD)",
"20h,02h"=>"OS Stop,OS clean shutdown power on",
"20h,03h"=>"OS Stop,OS clean shutdown powered down",
"20h,04h"=>"OS Stop,Soft shutdown by PEF",
"20h,05h"=>"OS Stop,OS Agent not responding to graceful shutdown request",
"21h,00h"=>"Slot / Connector,Fault Status asserted",
"21h,01h"=>"Slot / Connector,Identify Status asserted",
"21h,02h"=>"Slot / Connector,Slot / Connector Device installed/attached",
@ -166,6 +188,8 @@ package xCAT::data::ipmisensorevents;
"28h,01h"=>"Management Subsystem Health,controller access degraded or unavailable",
"28h,02h"=>"Management Subsystem Health,management controller off-line",
"28h,03h"=>"Management Subsystem Health,management controller unavailable",
"28h,04h"=>"Management Subsystem Health,Sensor failure",
"28h,05h"=>"Management Subsystem Health,FRU failure",
"29h,00h"=>"Battery,battery low (predictive failure)",
"29h,01h"=>"Battery,battery failed",
"29h,02h"=>"Battery,battery presense detected",

View File

@ -3124,6 +3124,28 @@ sub getaddsensorevent {
$text =~ s/^, //;
}
}
if ($sensor_type == 0x1d && $offset == 0x07) {
my %causes = (
0 => "Unknown",
1 => "Chassis reset via User command to BMC",
2 => "Reset button",
3 => "Power button",
4 => "Watchdog action",
5 => "OEM",
6 => "AC Power apply force on",
7 => "Restore previous power state on AC",
8 => "PEF initiated reset",
9 => "PEF initiated power cycle",
10 => "Soft reboot",
11 => "RTC Wake",
);
if ($causes{$event_data_2 & 0xf}) {
$text = $causes{$event_data_2};
} else {
$text = "Unrecognized cause ".$event_data_2 & 0xf;
}
$text .= "via channel $event_data_3";
}
if ($sensor_type == 0x21) {
my %extra = (
0 => "PCI slot",
@ -3167,6 +3189,32 @@ sub getaddsensorevent {
}
$text =~ s/^, //;
}
if ($sensor_type == 0x28) {
if ($offset == 0x4) {
$text = "Sensor $event_data_2";
} elsif ($offset == 0x5) {
$text = "";
my $logicalfru=0;
if ($event_data_2 & 128) {
$logicalfru=1;
}
my $intelligent=1;
if ($event_data_2 & 24) {
$text .= "LUN ".($event_data_2&24)>>3;
} else {
$intelligent=0;
}
if ($event_data_2 & 7) {
$text .= "Bus ID ".($event_data_2&7);
}
if ($logicalfru) {
$text .= "FRU ID ".$event_data_3;
} elsif (not $intelligent) {
$text .= "I2C addr ".$event_data_3>>1;
}
}
}
if ($sensor_type == 0x2a) {
$text = sprintf("Channel %d, User %d",$event_data_3&0x0f,$event_data_2&0x3f);
if ($offset == 1) {