PdcChassisLog

From Linux PARISC Wiki
(Difference between revisions)
Jump to: navigation, search
(Created page with "= PDC Chassis Log = == What is PDC Chassis Log == The Chassis Log is a feature of some specific type of PDC: ''PAT PDC'' equipped with a GuardianServiceProcessor (GSP), whic...")
 
m (formatting update)
Line 13: Line 13:
 
=== Accessing the PDC ===
 
=== Accessing the PDC ===
  
First, we had to implement the missing abstraction logic in `firmware.c` to access the Chassis Log. We had to add the required interfaces to PDC_CHASSIS_LOG calls:
+
First, we had to implement the missing abstraction logic in <tt>firmware.c</tt> to access the Chassis Log. We had to add the required interfaces to PDC_CHASSIS_LOG calls:
  
||||<tablewidth="100%">'''Interfaces (`firmware.c`)'''||
+
{| class="wikitable"
|| '''Function''' || '''Role''' ||
+
|-
|| int pdc_pat_chassis_send_log(unsigned long state, unsigned long data) || This call sends the message expressed by `state` and `data` to the PAT PDC logs ||
+
|+ '''Interfaces (<tt>firmware.c</tt>)'''
 +
| '''Function'''
 +
| '''Role'''
 +
|-
 +
| <code>int pdc_pat_chassis_send_log(unsigned long state, unsigned long data)</code>
 +
| This call sends the message expressed by `state` and `data` to the PAT PDC logs
 +
|}
  
 
We are now ready to ''send'' data to the Chassis Log.
 
We are now ready to ''send'' data to the Chassis Log.
Line 23: Line 29:
 
=== Anatomy of the Log messages ===
 
=== Anatomy of the Log messages ===
  
The log messages are sent using two `unsigned long` numbers: `state` and `data`. `state` will actually contain an encoded version of the GSP log message, while `data` will reflect an encoded Front Panel LED status.
+
The log messages are sent using two <tt>unsigned long</tt> numbers: <tt>state</tt> and <tt>data</tt>. <tt>state</tt> will actually contain an encoded version of the GSP log message, while <tt>data</tt> will reflect an encoded Front Panel LED status.
  
These two words are encoded using the logic found in `pdc_chassis.h`, bearing in mind that they have to be consistent with what the PDC ''knows'' as a valid log message/led status. That is to say that you cannot ''invent'' a message, you have to respect existing ones that will be understood by the PDC and the GSP. Hence the '''preformatted messages''' section in `pdc_chassis.h`.
+
These two words are encoded using the logic found in <tt>pdc_chassis.h</tt>, bearing in mind that they have to be consistent with what the PDC ''knows'' as a valid log message/led status. That is to say that you cannot ''invent'' a message, you have to respect existing ones that will be understood by the PDC and the GSP. Hence the '''preformatted messages''' section in <tt>pdc_chassis.h</tt>.

Revision as of 21:36, 29 May 2014

Contents

PDC Chassis Log

What is PDC Chassis Log

The Chassis Log is a feature of some specific type of PDC: PAT PDC equipped with a GuardianServiceProcessor (GSP), which can be found on recent systems (in particular high-end PA``8X00 servers). This feature has two hardware "expression": the VirtualFrontPanel (VFP) and the GSP Logs. The former is the LED panel found on the front bezel of some machines, with Run, Attn, Fault, Power and Remote LEDs; while the latter is about logging special events to the GuardianServiceProcessor logs.

What are we trying to do?

The code takes care of reflecting the current state of the system (and its sudden changes) on the VFP and GSP Logs. That is to say for instance that upon system boot, a message is sent to the PDC to notify it of the boot progress; or if the system is taken down by a kernel panic, to reflect that failure on the front panel and log it on the GSP.

How do we do it?

Accessing the PDC

First, we had to implement the missing abstraction logic in firmware.c to access the Chassis Log. We had to add the required interfaces to PDC_CHASSIS_LOG calls:

Interfaces (firmware.c)
Function Role
int pdc_pat_chassis_send_log(unsigned long state, unsigned long data) This call sends the message expressed by `state` and `data` to the PAT PDC logs

We are now ready to send data to the Chassis Log.

Anatomy of the Log messages

The log messages are sent using two unsigned long numbers: state and data. state will actually contain an encoded version of the GSP log message, while data will reflect an encoded Front Panel LED status.

These two words are encoded using the logic found in pdc_chassis.h, bearing in mind that they have to be consistent with what the PDC knows as a valid log message/led status. That is to say that you cannot invent a message, you have to respect existing ones that will be understood by the PDC and the GSP. Hence the preformatted messages section in pdc_chassis.h.

Personal tools