d408665d | 08-Apr-2020 |
Matt Spinler <spinler@us.ibm.com> |
PEL: Add trusted symbolic FRU support to schema
A trusted symbolic FRU is a symbolic FRU where the location code is also known to be valid.
This commit also changes symbolic FRUs to enums, and adds
PEL: Add trusted symbolic FRU support to schema
A trusted symbolic FRU is a symbolic FRU where the location code is also known to be valid.
This commit also changes symbolic FRUs to enums, and adds in better checking to allow one of the following in a callout: * LocCode * Procedure * SymbolicFRU * SymbolicFRUTrusted and LocCode
Signed-off-by: Matt Spinler <spinler@us.ibm.com> Change-Id: I54a8b81998af2ddb6bf411d4ee1bac00faf5476e
show more ...
|
fe721891 | 02-Apr-2020 |
Matt Spinler <spinler@us.ibm.com> |
PEL: Save invalid host PELs to a file
To aid in debug of when the host sends down an invalid PEL, save the PEL to the file 'badPEL' in the PEL repo path. This only saves a single one at a time to k
PEL: Save invalid host PELs to a file
To aid in debug of when the host sends down an invalid PEL, save the PEL to the file 'badPEL' in the PEL repo path. This only saves a single one at a time to keep things simple.
Signed-off-by: Matt Spinler <spinler@us.ibm.com> Change-Id: I3b630433712d63cadd971aa87a02f76a9a366849
show more ...
|
104e9360 | 02-Apr-2020 |
Matt Spinler <spinler@us.ibm.com> |
PEL: Get new references to the event loop
In the EventLogger and Manager classes, have them acquire their own references to the event loop as opposed to trying to get them from the bus object.
This
PEL: Get new references to the event loop
In the EventLogger and Manager classes, have them acquire their own references to the event loop as opposed to trying to get them from the bus object.
This is because lately in SDK based testcases, when sdbusplus tries to create a new sd_bus object, the creation fails and so it isn't possible to get an sd_event object out of it like the code was trying to do.
Signed-off-by: Matt Spinler <spinler@us.ibm.com> Change-Id: I22811f725d44b8c39e68222f3eddb4e87622674f
show more ...
|
18207145 | 26-Mar-2020 |
Matt Spinler <spinler@us.ibm.com> |
PEL: Support CBOR and Text UserData parsing
In the path where the UserData section contents are converted to JSON so that peltool can print them, add the code to handle UserData sections that contai
PEL: Support CBOR and Text UserData parsing
In the path where the UserData section contents are converted to JSON so that peltool can print them, add the code to handle UserData sections that contain CBOR or text.
Signed-off-by: Matt Spinler <spinler@us.ibm.com> Change-Id: Iced228fdfc1b5e53e4fd864e13927d1c34da9706
show more ...
|
5b289b23 | 26-Mar-2020 |
Matt Spinler <spinler@us.ibm.com> |
PEL: Read FFDC files and create PEL sections
Fill in the makeFFDCuserDataSection() function to read the file descriptor passed into it and create the UserData PEL section with the data.
If the data
PEL: Read FFDC files and create PEL sections
Fill in the makeFFDCuserDataSection() function to read the file descriptor passed into it and create the UserData PEL section with the data.
If the data is in the CBOR format, add in the number of bytes required to pad the section to a 4 byte boundary to the end of the data, so that the parsing code can later remove that number and the padding before parsing the CBOR (it would fail trying to parse pad bytes as CBOR).
Signed-off-by: Matt Spinler <spinler@us.ibm.com> Change-Id: I2c5ba3e6ae14f99da930c01d1139bbbd31a00996
show more ...
|
56ad2a0e | 26-Mar-2020 |
Matt Spinler <spinler@us.ibm.com> |
PEL: Pass FFDC files into PEL
In the case where an OpenBMC event log was created with the 'createWithFFDCFiles' D-Bus method, there needs to be UserData PEL sections created with the contents of the
PEL: Pass FFDC files into PEL
In the case where an OpenBMC event log was created with the 'createWithFFDCFiles' D-Bus method, there needs to be UserData PEL sections created with the contents of these files.
This commit passes these files into the PEL constructor, which then does the creating. If any of this would cause the PEL size to go over 16KB, then that section will be trimmed so it fits in the 16KB, and no more additional sections will be added.
The function that actually reads the FFDC file and creates the UserData section is stubbed out and will be implemented in a future commit.
Signed-off-by: Matt Spinler <spinler@us.ibm.com> Change-Id: Id27802c91326381a4b80fbe78ab62471cefe0286
show more ...
|
c64b7122 | 26-Mar-2020 |
Matt Spinler <spinler@us.ibm.com> |
Implement createWithFFDCFiles
This commit adds support for the createWithFFDCFiles D-Bus method. This method creates a new OpenBMC event log, just like create() does, but it also adds a new paramet
Implement createWithFFDCFiles
This commit adds support for the createWithFFDCFiles D-Bus method. This method creates a new OpenBMC event log, just like create() does, but it also adds a new parameter to pass through information about files containing FFDC (First Failure Data Capture) to any extensions. This FFDC may be stored by the extensions code to provide additional debug information about an error.
The FFDC parameter is a vector of tuples. Each tuple contains: * Format Type - An enumeration describing the format of the data * Subtype - If the format type is custom, then this can be used to provide a format type that is specific to the creator. * Version - If the format type is custom, then this can be used to provide the version of the custom data. * FD - A file descriptor to the file containing the FFDC. This does not need to be closed (an attempt will fail) by phosphor-log-manager.
Signed-off-by: Matt Spinler <spinler@us.ibm.com> Change-Id: I3e8e03d6393dfc145e9fd11bd078595868bb3767
show more ...
|
9b7e94ff | 24-Mar-2020 |
Matt Spinler <spinler@us.ibm.com> |
PEL: Maybe shrink the AdditionalData UD section
If the UserData section created from the AdditionalData event log property would run the PEL over 16KB, shrink that section enough to make the PEL fit
PEL: Maybe shrink the AdditionalData UD section
If the UserData section created from the AdditionalData event log property would run the PEL over 16KB, shrink that section enough to make the PEL fit into 16KB.
Signed-off-by: Matt Spinler <spinler@us.ibm.com> Change-Id: Ie56f61c9c2eb4a264613388464450d595533bc8c
show more ...
|
cbf3c4d4 | 24-Mar-2020 |
Matt Spinler <spinler@us.ibm.com> |
PEL: Allow shrinking of a UserData section
Add a shrink() function to the UserData class (with a virtual version of it in the Section base class) that will shrink the class to a new size.
This is d
PEL: Allow shrinking of a UserData section
Add a shrink() function to the UserData class (with a virtual version of it in the Section base class) that will shrink the class to a new size.
This is done so that when UserData sections are added to PELs the sections can be shrunk if necessary to keep the PEL under the maximum size, which is 16KB.
Signed-off-by: Matt Spinler <spinler@us.ibm.com> Change-Id: Iade52dee8a110f7805c40aa50d6e5df45db050bf
show more ...
|
4bfc908f | 24-Mar-2020 |
Matt Spinler <spinler@us.ibm.com> |
PEL: Change variable name in pel.cpp
There will soon be several calls to log traces to the journal with metadata which means phosphor::logging::entry will be used. Change an existing variable named
PEL: Change variable name in pel.cpp
There will soon be several calls to log traces to the journal with metadata which means phosphor::logging::entry will be used. Change an existing variable named entry to something else so that it doesn't collide with phosphor::logging::entry.
Signed-off-by: Matt Spinler <spinler@us.ibm.com> Change-Id: Iea781046955120e5de2188ea18cc33cb6318c47e
show more ...
|
4220a158 | 26-Mar-2020 |
Matt Spinler <spinler@us.ibm.com> |
PEL: Only hexdump the UserData data, not header
In the case where this is no built in or user defined parser for a UserData PEL section, peltool will hexdump it.
Instead of hexdumping the whole sec
PEL: Only hexdump the UserData data, not header
In the case where this is no built in or user defined parser for a UserData PEL section, peltool will hexdump it.
Instead of hexdumping the whole section, which includes the header, print the component ID, subtype, and version fields from the section header separately, and only hexdump the data:
"User Data 5": { "Section Version": "3", "Sub-section type": "2", "Created by": "0x1000", "Data": [ "01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 22 5C 41 | .............\"\\A", ] }
Signed-off-by: Matt Spinler <spinler@us.ibm.com> Change-Id: Ie6c791fcc5c23565ca55d0bbf8d0cbb643234f66
show more ...
|
0c4d7db9 | 15-Jan-2020 |
Matt Spinler <spinler@us.ibm.com> |
PEL: Document saving FFDC in UserData sections
Describe how FFDC (First Failure Data Capture) data can be placed into UserData sections in PELs via a specific D-Bus creation method.
Signed-off-by:
PEL: Document saving FFDC in UserData sections
Describe how FFDC (First Failure Data Capture) data can be placed into UserData sections in PELs via a specific D-Bus creation method.
Signed-off-by: Matt Spinler <spinler@us.ibm.com> Change-Id: Iecc0acf0f358aec23dd761b5de5198b58127b159
show more ...
|
ead1be21 | 28-Mar-2020 |
Marri Devender Rao <devenrao@in.ibm.com> |
Add error message registry entry for boot failure
Adding error entry in the message registry JSON file for boot related failures.
For any errors during boot, PEL is created with the boot error mess
Add error message registry entry for boot failure
Adding error entry in the message registry JSON file for boot related failures.
For any errors during boot, PEL is created with the boot error message.
Signed-off-by: Marri Devender Rao <devenrao@in.ibm.com> Change-Id: I34f51eee039f680b1c87c0522ce7a68282bfb1ec
show more ...
|
596b325e | 31-Mar-2020 |
Patrick Williams <patrick@stwcx.xyz> |
build: minor python3 updates
Signed-off-by: Patrick Williams <patrick@stwcx.xyz> Change-Id: Idbc9d0b2ff60fad2fff9d013ff19a4208f4d8161 |
0c57a67b | 27-Mar-2020 |
Harisuddin Mohamed Isa <harisuddin@gmail.com> |
PEL: peltool: Exclude info PELs by default
Added default to exclude informational PELs when listing or showing number of PELs.
Added -f, --info option to include them.
./peltool -n { "Number o
PEL: peltool: Exclude info PELs by default
Added default to exclude informational PELs when listing or showing number of PELs.
Added -f, --info option to include them.
./peltool -n { "Number of PELs found": 3 }
./peltool -nf { "Number of PELs found": 10 }
Signed-off-by: Harisuddin Mohamed Isa <harisuddin@gmail.com> Change-Id: I094e197370c123195591a90fd5e68c8664c64b6d
show more ...
|
ed046856 | 13-Mar-2020 |
Matt Spinler <spinler@us.ibm.com> |
PEL: Create SRC FRU callout for inventory path
When a BMC application creates an event log with the CALLOUT_INVENTORY_PATH=<FRU inventory path> entry in the AdditionalData property, create a FRU cal
PEL: Create SRC FRU callout for inventory path
When a BMC application creates an event log with the CALLOUT_INVENTORY_PATH=<FRU inventory path> entry in the AdditionalData property, create a FRU callout section for that FRU in the SRC.
Obtain the location code, part number, serial number, and CCIN VPD keyword for that FRU to add to the callout. If these aren't available, as detected by catching an sdbusplus exception, create a callout with a 'no VPD for FRU' maintenance procedure instead.
Signed-off-by: Matt Spinler <spinler@us.ibm.com> Change-Id: I0d6680d87c325703df9e2a6d2e2715b18498fabc
show more ...
|
60c4e797 | 13-Mar-2020 |
Matt Spinler <spinler@us.ibm.com> |
PEL: Collect information for a FRU callout
Add an API to the DataInterface class to collect the following fields needed to add a FRU callout to a PEL: * Location code * FRU part number (The VINI/FN
PEL: Collect information for a FRU callout
Add an API to the DataInterface class to collect the following fields needed to add a FRU callout to a PEL: * Location code * FRU part number (The VINI/FN keyword) * FRU CCIN (The VINI/CC keyword) * FRU serial number (The VINI/SN keyword)
For now, this code requires that both of the 2 D-Bus interfaces that contain these properties be present on the inventory path being passed in. In the future, some smarts may need to be added to the code for cases when the path isn't a FRU itself, or maybe doesn't have its own VPD. It's also possible there will be community supplied code in the future that could do this mapping, which is why this code isn't trying to do it itself now.
In the cases where one or both of these interfaces don't exist, an exception will be thrown by the underlying sdbusplus code, and the caller of this will handle it appropriately.
Signed-off-by: Matt Spinler <spinler@us.ibm.com> Change-Id: I8eb5752fa25fc0e2107df3c7145355bbb4f12cf4
show more ...
|
e0366f31 | 13-Mar-2020 |
Matt Spinler <spinler@us.ibm.com> |
PEL: Let Callouts class have a Callout added
Add an addCallout() function to the Callouts class to add a new Callout object to it.
Signed-off-by: Matt Spinler <spinler@us.ibm.com> Change-Id: Ib2a35
PEL: Let Callouts class have a Callout added
Add an addCallout() function to the Callouts class to add a new Callout object to it.
Signed-off-by: Matt Spinler <spinler@us.ibm.com> Change-Id: Ib2a352b3b10e2948c4e847d29a456b8de9cb3559
show more ...
|
0a5d10ce | 13-Mar-2020 |
Matt Spinler <spinler@us.ibm.com> |
PEL: Add Callout object constructors
Add constructors to the PEL Callout object to create a FRU callout, either a hardware FRU with PN/SN/CCIN, or a maintenance procedure.
Signed-off-by: Matt Spinl
PEL: Add Callout object constructors
Add constructors to the PEL Callout object to create a FRU callout, either a hardware FRU with PN/SN/CCIN, or a maintenance procedure.
Signed-off-by: Matt Spinler <spinler@us.ibm.com> Change-Id: I015370fbfa4e5522eada316d12c10b130e1de4be
show more ...
|
ba0ee002 | 13-Mar-2020 |
Matt Spinler <spinler@us.ibm.com> |
PEL: Create FRUIdentity with FRUs/procedures
Add constructors to the FRUIdentity structure in the SRC section to take either a hardware callout with PN/SN/CCIN, or a maintenance procedure callout wi
PEL: Create FRUIdentity with FRUs/procedures
Add constructors to the FRUIdentity structure in the SRC section to take either a hardware callout with PN/SN/CCIN, or a maintenance procedure callout with a maintenance procedure enum. Both of these also take callout priority.
These will be used when creating PELs that have callouts.
Signed-off-by: Matt Spinler <spinler@us.ibm.com> Change-Id: I5071d98df38b63ba53224c3f3b853e57234ed74e
show more ...
|
a09354b7 | 13-Mar-2020 |
Matt Spinler <spinler@us.ibm.com> |
PEL: Make FRUIdentity::flattenedSize() calc size
This function was just returning the _size property, but in the future _size will instead be set to what this function returns.
Signed-off-by: Matt
PEL: Make FRUIdentity::flattenedSize() calc size
This function was just returning the _size property, but in the future _size will instead be set to what this function returns.
Signed-off-by: Matt Spinler <spinler@us.ibm.com> Change-Id: I5e5c2cefb595aa07c55c7d32de66372037f79c77
show more ...
|
578e070f | 13-Mar-2020 |
Matt Spinler <spinler@us.ibm.com> |
PEL: Maintenance procedure callout definitions
A maintenance procedure is a short string that resides in the FRU identity structure in the SRC section of a PEL that maps to a service procedure in th
PEL: Maintenance procedure callout definitions
A maintenance procedure is a short string that resides in the FRU identity structure in the SRC section of a PEL that maps to a service procedure in the service documentation.
This commit adds the initial framework for dealing with these by adding an enum type to specify them, and a pel_values.hpp function to get the actual string value of the maintenance procedure based on its enum.
A single procedure is created in this commit, NoVPDforFRU, which will be used in a future commit when the location code, part number, etc, aren't available when trying to do a callout and so this procedure will be used instead.
Signed-off-by: Matt Spinler <spinler@us.ibm.com> Change-Id: I45f366e98794462c70d851f743e4f497c0af77b4
show more ...
|
446d2b90 | 05-Mar-2020 |
Matt Spinler <spinler@us.ibm.com> |
PEL: Update process_registry.py for python3
The 2to3 program found the places to change, but I didn't use its suggestions as this is a cleaner way to do it.
Note that this doesn't run during a bitb
PEL: Update process_registry.py for python3
The 2to3 program found the places to change, but I didn't use its suggestions as this is a cleaner way to do it.
Note that this doesn't run during a bitbake or SDK build, but it does run during CI.
Signed-off-by: Matt Spinler <spinler@us.ibm.com> Change-Id: I0c62a832b3249f7dcf4dc67fd0e56ad76367b10a
show more ...
|
bebeb948 | 12-Mar-2020 |
Harisuddin Mohamed Isa <harisuddin@gmail.com> |
PEL: peltool: Add const strings for section header
Added "Section Version", "Sub-section type" and "Created by" constant strings.
Updated all getJSON() functions to use the new constants.
Signed-o
PEL: peltool: Add const strings for section header
Added "Section Version", "Sub-section type" and "Created by" constant strings.
Updated all getJSON() functions to use the new constants.
Signed-off-by: Harisuddin Mohamed Isa <harisuddin@gmail.com> Change-Id: I434192afed929972845c3cfb8876cc5ef784eec2
show more ...
|
fecaa57c | 11-Mar-2020 |
Harisuddin Mohamed Isa <harisuddin@gmail.com> |
PEL: peltool: Print Extended Reference Code field
Some refcodes span multiple words such as "B2001020 LP 32769". This is to split the first and subsequent words as separate fields.
"Primary SRC": {
PEL: peltool: Print Extended Reference Code field
Some refcodes span multiple words such as "B2001020 LP 32769". This is to split the first and subsequent words as separate fields.
"Primary SRC": { "Section Version": "1", "Sub-section type": "0", "Created by": "0x4552", "SRC Version": "0x02", "SRC Format": "0x00", "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": "B2001020", "Extended Reference Code": "LP 32769", "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" }] } }
Signed-off-by: Harisuddin Mohamed Isa <harisuddin@gmail.com> Change-Id: Id189014aa7269ef257fd706c3c2677cc4b587580
show more ...
|