<feed xmlns='http://www.w3.org/2005/Atom'>
<title>phosphor-logging/extensions/openpower-pels, branch master</title>
<subtitle>OpenBMC Phosphor logging library sources (not useful for felling trees)</subtitle>
<id>https://git.raptorcs.com/git/phosphor-logging/atom?h=master</id>
<link rel='self' href='https://git.raptorcs.com/git/phosphor-logging/atom?h=master'/>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/phosphor-logging/'/>
<updated>2020-02-17T17:19:10+00:00</updated>
<entry>
<title>PEL: Sanitize the SRC ASCII string field</title>
<updated>2020-02-17T17:19:10+00:00</updated>
<author>
<name>Matt Spinler</name>
<email>spinler@us.ibm.com</email>
</author>
<published>2020-02-12T22:05:51+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/phosphor-logging/commit/?id=5b56182b9699074dd77551a13069e978e81a9c68'/>
<id>urn:sha1:5b56182b9699074dd77551a13069e978e81a9c68</id>
<content type='text'>
This field may be displayed by things like a web UI and LCD panel, so
on unflattening convert any disallowed characters to a space.

Only allow: alphanumeric, '.', ':', '/', ' '.

When a host PEL is received, the PEL will be unflattened and reflattened
when the commit timestamp and PLID are modified, and this will be fixed
up then.

This matches other service processor implementations that dealt with
PELs.

Signed-off-by: Matt Spinler &lt;spinler@us.ibm.com&gt;
Change-Id: I7afe64e199ebd2448b54e4ba5769de436d30b9ba
</content>
</entry>
<entry>
<title>PEL: Add ESEL event log keyword to README</title>
<updated>2020-02-14T19:15:42+00:00</updated>
<author>
<name>Matt Spinler</name>
<email>spinler@us.ibm.com</email>
</author>
<published>2020-02-06T20:16:09+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/phosphor-logging/commit/?id=945299f077adb1b138b6507d1a3943415d6c2079'/>
<id>urn:sha1:945299f077adb1b138b6507d1a3943415d6c2079</id>
<content type='text'>
Explain how the ESEL keyword can be used in the Additional Data event
log property to send in PEL data.

Signed-off-by: Matt Spinler &lt;spinler@us.ibm.com&gt;
Change-Id: I47fd97c4ee5f756b7d0139a4041f1e395c2859b3
</content>
</entry>
<entry>
<title>PEL: Add PELs from ESELs</title>
<updated>2020-02-14T19:15:42+00:00</updated>
<author>
<name>Matt Spinler</name>
<email>spinler@us.ibm.com</email>
</author>
<published>2020-01-24T17:05:20+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/phosphor-logging/commit/?id=19e729013197be8ba7faccd88004043ac1e7e27f'/>
<id>urn:sha1:19e729013197be8ba7faccd88004043ac1e7e27f</id>
<content type='text'>
When the OpenPower host firmware subsystem hostboot creates PELs, those
PELs get added to OpenBMC event logs in the ESEL entry of the
AdditionalData property.  (Eventually hostboot will update their code to
use PLDM to send down PELs.)

This commit looks for that ESEL keyword on incoming event logs, extracts
the PEL data, and adds it to the PEL repository with all of the other
PELs.

It extracts the PEL data by converting the string value to a vector of
uint8_ts starting after the IPMI data fields contained in that string.

Signed-off-by: Matt Spinler &lt;spinler@us.ibm.com&gt;
Change-Id: I2b7f2915dceb9c306466b8181cae05a3ddd65057
</content>
</entry>
<entry>
<title>PEL: New event log when receiving bad host PEL</title>
<updated>2020-02-14T19:15:42+00:00</updated>
<author>
<name>Matt Spinler</name>
<email>spinler@us.ibm.com</email>
</author>
<published>2020-01-07T18:53:16+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/phosphor-logging/commit/?id=e95fd0154e723813f5d7bf981e97b7ca6f28f7ef'/>
<id>urn:sha1:e95fd0154e723813f5d7bf981e97b7ca6f28f7ef</id>
<content type='text'>
Create a new event log/PEL when a PEL comes in from the host but it
isn't valid.

The PEL subsystem used is 'platform firmware' because the code won't
know which specific host subsystem it came from.  The severity is
unrecoverable as opposed to informational to make it easier to notice.

Signed-off-by: Matt Spinler &lt;spinler@us.ibm.com&gt;
Change-Id: I933e5c82f1ef755c6266604fbdec6d0c1fe5b784
</content>
</entry>
<entry>
<title>PEL: Create error log for 'bad PEL'</title>
<updated>2020-02-14T19:15:42+00:00</updated>
<author>
<name>Matt Spinler</name>
<email>spinler@us.ibm.com</email>
</author>
<published>2019-12-18T20:02:09+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/phosphor-logging/commit/?id=05c2c6c4f7b8904f27ae10af39b63b53dc2c3136'/>
<id>urn:sha1:05c2c6c4f7b8904f27ae10af39b63b53dc2c3136</id>
<content type='text'>
Create an event log (and a PEL) for the case when the host rejects a PEL
because it is malformed.  This requires a new message registry entry for
the error.

Signed-off-by: Matt Spinler &lt;spinler@us.ibm.com&gt;
Change-Id: Ibd52921b5d6020f98b457b9ee0b3bb4f0b95e707
</content>
</entry>
<entry>
<title>PEL: Add ability to create event logs</title>
<updated>2020-02-14T19:15:42+00:00</updated>
<author>
<name>Matt Spinler</name>
<email>spinler@us.ibm.com</email>
</author>
<published>2019-12-18T19:48:08+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/phosphor-logging/commit/?id=f682b40dcde8badb7029a063e299e1bdf1501444'/>
<id>urn:sha1:f682b40dcde8badb7029a063e299e1bdf1501444</id>
<content type='text'>
There are cases where the PEL code wants to be able to create OpenBMC
event logs (and thus PELs) for problems it encounters when trying to
create or import other PELs.  For example, if the host were to send down
a malformed PEL, this code would like to create a new event log and
capture part of that bad PEL in the new PEL for debug purposes, as the
malformed PEL cannot be reported anywhere since it is malformed.

To handle this, create the EventLogger class that provides a log()
function that allows the PEL extension code to create OpenBMC event logs
(and thus PELs) from within.

The underlying function to do the event log creating is passed in via
the constructor so that it can be changed for testing.

The sd_event_add_defer function (wrapped by sdeventplus) is used to
dispatch the creation of a single event, so that the entry point is from
the event loop.  If there are still events left on the queue after that,
then they will be also be scheduled with sd_event_add_defer so that the
events are always created from event loop calls.

EventLogger does not allow events to be added to the queue if it is
being done from within the creation function so that the code can't
get stuck in a loop of creating a new event every time an event is
created.

Signed-off-by: Matt Spinler &lt;spinler@us.ibm.com&gt;
Change-Id: I6a9062074dc62cfb6043139ff0a9f3dfcd06c708
</content>
</entry>
<entry>
<title>PEL: Allow adding to AdditionalData</title>
<updated>2020-02-14T19:15:42+00:00</updated>
<author>
<name>Matt Spinler</name>
<email>spinler@us.ibm.com</email>
</author>
<published>2019-12-18T19:45:05+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/phosphor-logging/commit/?id=7ae2fa69f2bd15cbd22be54aeefbb49d3ad06fc5'/>
<id>urn:sha1:7ae2fa69f2bd15cbd22be54aeefbb49d3ad06fc5</id>
<content type='text'>
Add an interface to add a key/value pair to the data stored in
the AdditionalData class.  Also add an interface to get to the
raw underlying map of data.

Signed-off-by: Matt Spinler &lt;spinler@us.ibm.com&gt;
Change-Id: I61200f92b45be8e86992d3f4888698d6a5bbe251
</content>
</entry>
<entry>
<title>PEL: Print Failing MTMS section into JSON</title>
<updated>2020-02-07T16:02:00+00:00</updated>
<author>
<name>Harisuddin Mohamed Isa</name>
<email>harisuddin@gmail.com</email>
</author>
<published>2020-02-06T09:32:38+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/phosphor-logging/commit/?id=e2d1bf317c0ddf25ddd305aa8f3c6f09118f799c'/>
<id>urn:sha1:e2d1bf317c0ddf25ddd305aa8f3c6f09118f799c</id>
<content type='text'>
Remove any trailing whitespace for serial number.

"Failing MTMS": {
    "Section Version":          "1",
    "Sub-section type":         "0",
    "Created by":               "0x4552",
    "Machine Type Model":       "OPWR-131",
    "Serial Number":            "1318ABA"
},

Testing: Manually run peltool and verified output. All unit tests
passed.
Signed-off-by: Harisuddin Mohamed Isa &lt;harisuddin@gmail.com&gt;
Change-Id: I7a05790bdf406ef6d7946ffae831a45ee6dd5cda
</content>
</entry>
<entry>
<title>PEL: Fix SRC Format and more SRC flags in peltool</title>
<updated>2020-02-06T10:05:21+00:00</updated>
<author>
<name>Harisuddin Mohamed Isa</name>
<email>harisuddin@gmail.com</email>
</author>
<published>2020-02-06T10:05:21+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/phosphor-logging/commit/?id=c32e5516d2aee1a4069574f915f0946e56ff8427'/>
<id>urn:sha1:c32e5516d2aee1a4069574f915f0946e56ff8427</id>
<content type='text'>
"Primary SRC": {
    "Section Version":          "1",
    "Sub-section type":         "0",
    "Created by":               "0x4552",
    "SRC Version":              "0x02",
    "SRC Format":               "0x60",
    "Virtual Progress SRC":     "False",
    "I5/OS Service Event Bit":  "False",
    "Hypervisor Dump Initiated":"False",
    "Power Control Net Fault":  "False",
    "Valid Word Count":         "0x04",
    "Reference Code":           "B700F142",
    "Hex Word 2":               "00000060",
    "Hex Word 3":               "00000001",
    "Hex Word 4":               "00000005"
}

Testing: Manually run peltool and verified output. All unit tests
passed.
Signed-off-by: Harisuddin Mohamed Isa &lt;harisuddin@gmail.com&gt;
Change-Id: Ic510b4bcae5eba0ac3cf52f83a10dfa3fb48e533
</content>
</entry>
<entry>
<title>PEL: Print SRC section into JSON</title>
<updated>2020-02-03T03:56:44+00:00</updated>
<author>
<name>Harisuddin Mohamed Isa</name>
<email>harisuddin@gmail.com</email>
</author>
<published>2020-01-15T12:05:33+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/phosphor-logging/commit/?id=0f717e1063154f0baec62f80e043d4d1c3317ce0'/>
<id>urn:sha1:0f717e1063154f0baec62f80e043d4d1c3317ce0</id>
<content type='text'>
For BMC created errors, look up the reason code in
the message registry for error description and also
meaning of data stored in hexwords 6-9 (if any).

Added registry message field in peltool list output.

"Primary SRC": {
    "Section Version":          "1",
    "Sub-section type":         "1",
    "Created by":               "0x1000",
    "SRC Version":              "0x02",
    "SRC Format":               "0x55",
    "Power Control Net Fault":  "False",
    "Error Details": {
        "Message":              "PS 0x64 had a PGOOD Fault",
        "PS_NUM":               "0x64"
    },
    "Valid Word Count":         "0x09",
    "Reference Code":           "BD8D1001",
    "Hex Word 2":               "00000055",
    "Hex Word 3":               "00000010",
    "Hex Word 4":               "00000000",
    "Hex Word 5":               "00000000",
    "Hex Word 6":               "00000064",
    "Hex Word 7":               "00000000",
    "Hex Word 8":               "00000000",
    "Hex Word 9":               "00000000"
}

"Primary SRC": {
    "Section Version":          "1",
    "Sub-section type":         "0",
    "Created by":               "0x4552",
    "SRC Version":              "0x02",
    "SRC Format":               "0x2008000",
    "Power Control Net Fault":  "False",
    "Valid Word Count":         "0x04",
    "Reference Code":           "B2001020",
    "Hex Word 2":               "02008000",
    "Hex Word 3":               "00000000",
    "Hex Word 4":               "00000012",
    "Callout Section": {
        "Callout Count":        "1",
        "Callouts": [{
            "FRU Type":         "Symbolic FRU",
            "Priority":         "Medium Priority",
            "Part Number":      "NEXTLVL"
        }]
    }
}

Testing: Manually run peltool and verified out. All unit tests passed.
Signed-off-by: Harisuddin Mohamed Isa &lt;harisuddin@gmail.com&gt;
Change-Id: I124627ba785413ebda02305b7d9f95431922e714
</content>
</entry>
</feed>
