-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:
		| @@ -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", | ||||
|   | ||||
| @@ -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) { | ||||
|   | ||||
		Reference in New Issue
	
	Block a user