diff mbox series

olog:olog.json: Update OPAL skiboot errors to check on olog scan

Message ID 1520982814-19110-1-git-send-email-debmc@linux.vnet.ibm.com
State Accepted
Headers show
Series olog:olog.json: Update OPAL skiboot errors to check on olog scan | expand

Commit Message

Deb McLemore March 13, 2018, 11:13 p.m. UTC
This is a periodic refresh of the OPAL olog.json data which
is produced by running the generate-fwts-olog tool against
the skiboot source tree to update the conditions to test
for in the OPAL firmware stack using FWTS olog tests.

Signed-off-by: Deb McLemore <debmc@linux.vnet.ibm.com>
---
 data/olog.json | 386 ++++++++++++++++++++++++++++++++-------------------------
 1 file changed, 217 insertions(+), 169 deletions(-)

Comments

Colin Ian King March 13, 2018, 11:18 p.m. UTC | #1
On 13/03/18 23:13, Deb McLemore wrote:
> This is a periodic refresh of the OPAL olog.json data which
> is produced by running the generate-fwts-olog tool against
> the skiboot source tree to update the conditions to test
> for in the OPAL firmware stack using FWTS olog tests.
> 
> Signed-off-by: Deb McLemore <debmc@linux.vnet.ibm.com>
> ---
>  data/olog.json | 386 ++++++++++++++++++++++++++++++++-------------------------
>  1 file changed, 217 insertions(+), 169 deletions(-)
> 
> diff --git a/data/olog.json b/data/olog.json
> index 3084300..86892da 100644
> --- a/data/olog.json
> +++ b/data/olog.json
> @@ -1,10 +1,50 @@
>  {
>   "olog_error_warning_patterns": [
>    {
> +   "advice": "The NPU fence status did not update as expected. This could be the result of a firmware or hardware bug. OpenCAPI functionality could be broken.",
> +   "compare_mode": "regex",
> +   "label": "OCAPIFenceStatusTimeout",
> +   "last_tag": "v5.10",
> +   "log_level": "LOG_LEVEL_CRITICAL",
> +   "pattern": "OCAPI: Fence status for brick [0-9]+ stuck: expected 0x[0-9a-f]+, got 0x[0-9a-f]+"
> +  },
> +  {
> +   "advice": "There was an error attempting to send a reset signal over I2C to the OpenCAPI device.",
> +   "compare_mode": "regex",
> +   "label": "OCAPIDeviceResetFailed",
> +   "last_tag": "v5.10",
> +   "log_level": "LOG_LEVEL_CRITICAL",
> +   "pattern": "OCAPI: Error writing I2C reset signal: [0-9]+"
> +  },
> +  {
> +   "advice": "OpenCAPI IRQ setup failed. This is probably a firmware bug. OpenCAPI functionality will be broken.",
> +   "compare_mode": "string",
> +   "label": "OCAPIIRQAllocationFailed",
> +   "last_tag": "v5.10",
> +   "log_level": "LOG_LEVEL_CRITICAL",
> +   "pattern": "OCAPI: Couldn't allocate interrupts for NPU"
> +  },
> +  {
> +   "advice": "The OpenCAPI link training procedure failed. This indicates a hardware or firmware bug. OpenCAPI functionality will not be available on this link.",
> +   "compare_mode": "regex",
> +   "label": "OCAPILinkTrainingFailed",
> +   "last_tag": "v5.10",
> +   "log_level": "LOG_LEVEL_CRITICAL",
> +   "pattern": "OCAPI: Link [0-9]+ on chip [0-9]+ failed to train"
> +  },
> +  {
> +   "advice": "Firmware probably ran out of memory creating NPU slot. OpenCAPI functionality could be broken.",
> +   "compare_mode": "string",
> +   "label": "OCAPICannotCreatePHBSlot",
> +   "last_tag": "v5.10",
> +   "log_level": "LOG_LEVEL_CRITICAL",
> +   "pattern": "OCAPI: Cannot create PHB slot"
> +  },
> +  {
>     "advice": "NVLink not functional",
>     "compare_mode": "regex",
>     "label": "NPUisnInvalid",
> -   "last_tag": "skiboot-5.6.0",
> +   "last_tag": "v5.10",
>     "log_level": "LOG_LEVEL_CRITICAL",
>     "pattern": "NPU[0-9]+: isn 0x[0-9a-f]+ not valid for this NPU"
>    },
> @@ -12,7 +52,7 @@
>     "advice": "Firmware probably ran out of memory creating NPU slot. NVLink functionality could be broken.",
>     "compare_mode": "string",
>     "label": "NPUCannotCreatePHBSlot",
> -   "last_tag": "skiboot-5.6.0",
> +   "last_tag": "v5.10",
>     "log_level": "LOG_LEVEL_CRITICAL",
>     "pattern": "NPU: Cannot create PHB slot"
>    },
> @@ -20,7 +60,7 @@
>     "advice": "OPAL failed to add the power-mgt device tree node. This could mean that firmware ran out of memory, or there's a bug somewhere.",
>     "compare_mode": "string",
>     "label": "CreateDTPowerMgtNodeFail",
> -   "last_tag": "skiboot-5.6.0",
> +   "last_tag": "v5.10",
>     "log_level": "LOG_LEVEL_CRITICAL",
>     "pattern": "creating dt node /ibm,opal/power-mgt failed"
>    },
> @@ -28,7 +68,7 @@
>     "advice": "An error condition occurred in sleep/winkle engines timer state machine. Dumping debug information to root-cause. OPAL/skiboot may be stuck on some operation that requires SLW timer state machine (e.g. core powersaving)",
>     "compare_mode": "string",
>     "label": "SLWRegisterDump",
> -   "last_tag": "skiboot-5.6.0",
> +   "last_tag": "v5.10",
>     "log_level": "LOG_LEVEL_LOW",
>     "pattern": "SLW: Register state:"
>    },
> @@ -36,31 +76,31 @@
>     "advice": "The SLeep/Winkle Engine (SLW) failed to increment the generation number within our timeout period (it *should* have done so within ~10us, not >1ms. OPAL uses the SLW timer to schedule some operations, but can fall back to the (much less frequent OPAL poller, which although does not affect functionality, runs *much* less frequently. This could have the effect of slow I2C operations (for example). It may also mean that you *had* an increase in jitter, due to slow interactions with SLW. This error may also occur if the machine is connected to via soft FSI.",
>     "compare_mode": "string",
>     "label": "SLWTimerStuck",
> -   "last_tag": "skiboot-5.6.0",
> +   "last_tag": "v5.10",
>     "log_level": "LOG_LEVEL_CRITICAL",
>     "pattern": "SLW: timer stuck, falling back to OPAL pollers. You will likely have slower I2C and may have experienced increased jitter."
>    },
>    {
> -   "advice": "No GPU/NPU slot information was found. NVLink2 functionality will not work.",
> +   "advice": "No GPU/NPU2 slot information was found. NVLink2 functionality will not work.",
>     "compare_mode": "string",
>     "label": "NPUNoPHBSlotLabel",
> -   "last_tag": "skiboot-5.6.0",
> +   "last_tag": "v5.10",
>     "log_level": "LOG_LEVEL_CRITICAL",
> -   "pattern": "NPU: Cannot find GPU slot information"
> +   "pattern": "NPU2: Cannot find GPU slot information"
>    },
>    {
> -   "advice": "Firmware probably ran out of memory creating NPU slot. NVLink functionality could be broken.",
> +   "advice": "Firmware probably ran out of memory creating NPU2 slot. NVLink functionality could be broken.",
>     "compare_mode": "string",
>     "label": "NPUCannotCreatePHBSlot",
> -   "last_tag": "skiboot-5.6.0",
> +   "last_tag": "v5.10",
>     "log_level": "LOG_LEVEL_CRITICAL",
> -   "pattern": "NPU: Cannot create PHB slot"
> +   "pattern": "NPU2: Cannot create PHB slot"
>    },
>    {
>     "advice": "OPAL marked a Centaur (memory buffer) as offline due to CENTAUR_ERR_OFFLINE_THRESHOLD (10) consecutive errors on XSCOMs to this centaur. OPAL will now return OPAL_XSCOM_CTR_OFFLINED and not try any further XSCOMs. This is likely caused by some hardware issue or PRD recovery issue.",
>     "compare_mode": "regex",
>     "label": "CentaurOfflinedTooManyErrors",
> -   "last_tag": "skiboot-5.6.0",
> +   "last_tag": "v5.10",
>     "log_level": "LOG_LEVEL_CRITICAL",
>     "pattern": "CENTAUR: Offlined [0-9a-f]+ due to > [0-9]+ consecutive XSCOM errors. No more XSCOMs to this centaur."
>    },
> @@ -68,7 +108,7 @@
>     "advice": "xscom_read was called with an invalid partid. There's likely a bug somewhere in the stack that's causing someone to try an xscom_read on something that isn't a processor, Centaur or EX chiplet.",
>     "compare_mode": "regex",
>     "label": "XSCOMReadInvalidPartID",
> -   "last_tag": "skiboot-5.6.0",
> +   "last_tag": "v5.10",
>     "log_level": "LOG_LEVEL_CRITICAL",
>     "pattern": ".*: invalid XSCOM partid 0x[0-9a-f]+"
>    },
> @@ -76,7 +116,7 @@
>     "advice": "xscom_write was called with an invalid partid. There's likely a bug somewhere in the stack that's causing someone to try an xscom_write on something that isn't a processor, Centaur or EX chiplet.",
>     "compare_mode": "regex",
>     "label": "XSCOMWriteInvalidPartID",
> -   "last_tag": "skiboot-5.6.0",
> +   "last_tag": "v5.10",
>     "log_level": "LOG_LEVEL_CRITICAL",
>     "pattern": ".*: invalid XSCOM partid 0x[0-9a-f]+"
>    },
> @@ -84,7 +124,7 @@
>     "advice": "The HOMER base address for a chip was not valid. This means that OCC (On Chip Controller) will be non-functional and CPU frequency scaling will not be functional. CPU may be set to a safe, low frequency. Power savings in CPU idle or CPU hotplug may be impacted.",
>     "compare_mode": "regex",
>     "label": "OCCInvalidHomerBase",
> -   "last_tag": "skiboot-5.6.0",
> +   "last_tag": "v5.10",
>     "log_level": "LOG_LEVEL_CRITICAL",
>     "pattern": "OCC: Chip: [0-9a-f]+ homer_base is not valid"
>    },
> @@ -92,7 +132,7 @@
>     "advice": "The pstate table for a chip was not valid. This means that OCC (On Chip Controller) will be non-functional and CPU frequency scaling will not be functional. CPU may be set to a low, safe frequency. This means that CPU idle states and CPU frequency scaling may not be functional.",
>     "compare_mode": "regex",
>     "label": "OCCInvalidPStateTable",
> -   "last_tag": "skiboot-5.6.0",
> +   "last_tag": "v5.10",
>     "log_level": "LOG_LEVEL_CRITICAL",
>     "pattern": "OCC: Chip: [0-9a-f]+ PState table is not valid"
>    },
> @@ -100,7 +140,7 @@
>     "advice": "The pstate table for the first chip was not valid. This means that OCC (On Chip Controller) will be non-functional. This means that CPU idle states and CPU frequency scaling will not be functional as OPAL doesn't populate the device tree with pstates in this case.",
>     "compare_mode": "string",
>     "label": "OCCInvalidPStateTableDT",
> -   "last_tag": "skiboot-5.6.0",
> +   "last_tag": "v5.10",
>     "log_level": "LOG_LEVEL_CRITICAL",
>     "pattern": "OCC: PState table is not valid"
>    },
> @@ -108,7 +148,7 @@
>     "advice": "The PState table layout version is not supported in P9. So OPAL will not parse the PState table. CPU frequency scaling will not be functional as frequency and pstate-ids are not added to DT.",
>     "compare_mode": "regex",
>     "label": "OCCInvalidVersion02",
> -   "last_tag": "skiboot-5.6.0",
> +   "last_tag": "v5.10",
>     "log_level": "LOG_LEVEL_CRITICAL",
>     "pattern": "OCC: Version [0-9a-f]+ is not supported in P9"
>    },
> @@ -116,7 +156,7 @@
>     "advice": "The PState table layout version is not supported in P8. So OPAL will not parse the PState table. CPU frequency scaling will not be functional as frequency and pstate-ids are not added to DT.",
>     "compare_mode": "regex",
>     "label": "OCCInvalidVersion90",
> -   "last_tag": "skiboot-5.6.0",
> +   "last_tag": "v5.10",
>     "log_level": "LOG_LEVEL_CRITICAL",
>     "pattern": "OCC: Version [0-9a-f]+ is not supported in P8"
>    },
> @@ -124,7 +164,7 @@
>     "advice": "The PState table layout version is not supported. So OPAL will not parse the PState table. CPU frequency scaling will not be functional as OPAL doesn't populate the device tree with pstates.",
>     "compare_mode": "regex",
>     "label": "OCCUnsupportedVersion",
> -   "last_tag": "skiboot-5.6.0",
> +   "last_tag": "v5.10",
>     "log_level": "LOG_LEVEL_CRITICAL",
>     "pattern": "OCC: Unsupported pstate table layout version [0-9]+"
>    },
> @@ -132,7 +172,7 @@
>     "advice": "The min pstate is greater than the max pstate, this could be due to corrupted/invalid data in OCC-OPAL shared memory region. So OPAL has not added pstates to device tree. This means that CPU Frequency management will not be functional in the host.",
>     "compare_mode": "regex",
>     "label": "OCCInvalidPStateLimits",
> -   "last_tag": "skiboot-5.6.0",
> +   "last_tag": "v5.10",
>     "log_level": "LOG_LEVEL_CRITICAL",
>     "pattern": "OCC: Invalid pstate limits. Pmin([0-9]+) > Pmax ([0-9]+)"
>    },
> @@ -140,15 +180,15 @@
>     "advice": "The nominal pstate is greater than the max pstate, this could be due to corrupted/invalid data in OCC-OPAL shared memory region. So OPAL has limited the nominal pstate to max pstate.",
>     "compare_mode": "regex",
>     "label": "OCCInvalidNominalPState",
> -   "last_tag": "skiboot-5.6.0",
> +   "last_tag": "v5.10",
>     "log_level": "LOG_LEVEL_CRITICAL",
>     "pattern": "OCC: Clipping nominal pstate([0-9]+) to Pmax([0-9]+)"
>    },
>    {
> -   "advice": "The number of pstates is outside the valid range (currently <=1 or > 128), so OPAL has not added pstates to the device tree. This means that OCC (On Chip Controller) will be non-functional. This means that CPU idle states and CPU frequency scaling will not be functional.",
> +   "advice": "The number of pstates is outside the valid range (currently <=1 or > 128 on p8, >255 on P9), so OPAL has not added pstates to the device tree. This means that OCC (On Chip Controller) will be non-functional. This means that CPU idle states and CPU frequency scaling will not be functional.",
>     "compare_mode": "regex",
>     "label": "OCCInvalidPStateRange",
> -   "last_tag": "skiboot-5.6.0",
> +   "last_tag": "v5.10",
>     "log_level": "LOG_LEVEL_CRITICAL",
>     "pattern": "OCC: OCC range is not valid; No of pstates = [0-9]+"
>    },
> @@ -156,7 +196,7 @@
>     "advice": "Device tree node /ibm,opal/power-mgt not found. OPAL didn't add pstate information to device tree. Probably a firmware bug.",
>     "compare_mode": "string",
>     "label": "OCCDTNodeNotFound",
> -   "last_tag": "skiboot-5.6.0",
> +   "last_tag": "v5.10",
>     "log_level": "LOG_LEVEL_CRITICAL",
>     "pattern": "OCC: dt node /ibm,opal/power-mgt not found"
>    },
> @@ -164,7 +204,7 @@
>     "advice": "Failed to create /ibm,opal/power-mgt/occ. Per-chip pstate properties are not added to Device Tree.",
>     "compare_mode": "regex",
>     "label": "OCCDTFailedNodeCreation",
> -   "last_tag": "skiboot-5.6.0",
> +   "last_tag": "v5.10",
>     "log_level": "LOG_LEVEL_CRITICAL",
>     "pattern": "OCC: Failed to create /ibm,opal/power-mgt/occ@[0-9a-f]+"
>    },
> @@ -172,7 +212,7 @@
>     "advice": "ENOMEM while allocating OCC load message. OCCs not started, consequently no power/frequency scaling will be functional.",
>     "compare_mode": "string",
>     "label": "OCCload_reqENOMEM",
> -   "last_tag": "skiboot-5.6.0",
> +   "last_tag": "v5.10",
>     "log_level": "LOG_LEVEL_CRITICAL",
>     "pattern": "OCC: Could not allocate occ_load_req"
>    },
> @@ -180,7 +220,7 @@
>     "advice": "Invalid request for loading OCCs. Power and frequency management not functional",
>     "compare_mode": "regex",
>     "label": "OCCLoadInvalidScope",
> -   "last_tag": "skiboot-5.6.0",
> +   "last_tag": "v5.10",
>     "log_level": "LOG_LEVEL_CRITICAL",
>     "pattern": "OCC: Load message with invalid scope 0x[0-9a-f]+"
>    },
> @@ -188,7 +228,7 @@
>     "advice": "Invalid request for resetting OCCs. Power and frequency management not functional",
>     "compare_mode": "regex",
>     "label": "OCCResetInvalidScope",
> -   "last_tag": "skiboot-5.6.0",
> +   "last_tag": "v5.10",
>     "log_level": "LOG_LEVEL_CRITICAL",
>     "pattern": "OCC: Reset message with invalid scope 0x[0-9a-f]+"
>    },
> @@ -196,7 +236,7 @@
>     "advice": "OPAL had trouble creating the sensor nodes in the device tree as there was already one there. This indicates either the device tree from Hostboot already filled in sensors or an OPAL bug.",
>     "compare_mode": "regex",
>     "label": "OPALSensorNodeExists",
> -   "last_tag": "skiboot-5.6.0",
> +   "last_tag": "v5.10",
>     "log_level": "LOG_LEVEL_CRITICAL",
>     "pattern": "SENSOR: node .* exists"
>    },
> @@ -204,7 +244,7 @@
>     "advice": "Failed to update System Attention Indicator. Likely means some bug with OPAL interacting with FSP.",
>     "compare_mode": "regex",
>     "label": "FSPSAIFailed",
> -   "last_tag": "skiboot-5.6.0",
> +   "last_tag": "v5.10",
>     "log_level": "LOG_LEVEL_CRITICAL",
>     "pattern": "Update SAI cmd failed [rc=[0-9]+]."
>    },
> @@ -212,7 +252,7 @@
>     "advice": "OPAL ran out of memory while trying to allocate an FSP message in SAI code path. This indicates an OPAL bug that caused OPAL to run out of memory.",
>     "compare_mode": "regex",
>     "label": "SAIMallocFail",
> -   "last_tag": "skiboot-5.6.0",
> +   "last_tag": "v5.10",
>     "log_level": "LOG_LEVEL_CRITICAL",
>     "pattern": ".*: Memory allocation failed."
>    },
> @@ -220,7 +260,7 @@
>     "advice": "Error in queueing message to FSP in SAI code path. Likely an OPAL bug.",
>     "compare_mode": "regex",
>     "label": "SAIQueueFail",
> -   "last_tag": "skiboot-5.6.0",
> +   "last_tag": "v5.10",
>     "log_level": "LOG_LEVEL_CRITICAL",
>     "pattern": ".*: Failed to queue the message"
>    },
> @@ -228,7 +268,7 @@
>     "advice": "Possibly an error on FSP side, OPAL failed to read state from FSP.",
>     "compare_mode": "regex",
>     "label": "FSPSAIGetFailed",
> -   "last_tag": "skiboot-5.6.0",
> +   "last_tag": "v5.10",
>     "log_level": "LOG_LEVEL_CRITICAL",
>     "pattern": "Read real SAI cmd failed [rc = 0x[0-9a-f]+]."
>    },
> @@ -236,7 +276,7 @@
>     "advice": "OPAL ran out of memory: OPAL bug.",
>     "compare_mode": "regex",
>     "label": "FSPGetSAIMallocFail",
> -   "last_tag": "skiboot-5.6.0",
> +   "last_tag": "v5.10",
>     "log_level": "LOG_LEVEL_CRITICAL",
>     "pattern": ".*: Memory allocation failed."
>    },
> @@ -244,7 +284,7 @@
>     "advice": "Failed to queue message to FSP: OPAL bug",
>     "compare_mode": "regex",
>     "label": "FSPGetSAIQueueFail",
> -   "last_tag": "skiboot-5.6.0",
> +   "last_tag": "v5.10",
>     "log_level": "LOG_LEVEL_CRITICAL",
>     "pattern": ".*: Failed to queue the message"
>    },
> @@ -252,7 +292,7 @@
>     "advice": "OPAL failed to allocate memory for FSP LED command. Likely an OPAL bug led to out of memory.",
>     "compare_mode": "string",
>     "label": "FSPLEDRequestMallocFail",
> -   "last_tag": "skiboot-5.6.0",
> +   "last_tag": "v5.10",
>     "log_level": "LOG_LEVEL_CRITICAL",
>     "pattern": "SPCN set command node allocation failed"
>    },
> @@ -260,7 +300,7 @@
>     "advice": "Inconsistent state between OPAL and FSP in code path for handling failure of fetching error log from FSP. Likely a bug in interaction between FSP and OPAL.",
>     "compare_mode": "regex",
>     "label": "ElogFetchFailureInconsistent",
> -   "last_tag": "skiboot-5.6.0",
> +   "last_tag": "v5.10",
>     "log_level": "LOG_LEVEL_CRITICAL",
>     "pattern": ".*: Inconsistent internal list state !"
>    },
> @@ -268,7 +308,7 @@
>     "advice": "Bug in interaction between FSP and OPAL. We expected there to be a pending read from FSP but the list was empty.",
>     "compare_mode": "regex",
>     "label": "ElogQueueInconsistent",
> -   "last_tag": "skiboot-5.6.0",
> +   "last_tag": "v5.10",
>     "log_level": "LOG_LEVEL_CRITICAL",
>     "pattern": ".*: Inconsistent internal list state !"
>    },
> @@ -276,7 +316,7 @@
>     "advice": "We expected there to be an entry in the list of error logs for the error log we're fetching information for. There wasn't. This means there's a bug.",
>     "compare_mode": "regex",
>     "label": "ElogInfoInconsistentState",
> -   "last_tag": "skiboot-5.6.0",
> +   "last_tag": "v5.10",
>     "log_level": "LOG_LEVEL_CRITICAL",
>     "pattern": ".*: Inconsistent internal list state !"
>    },
> @@ -284,7 +324,7 @@
>     "advice": "Inconsistent state while reading error log from FSP. Bug in OPAL and FSP interaction.",
>     "compare_mode": "regex",
>     "label": "ElogReadInconsistentState",
> -   "last_tag": "skiboot-5.6.0",
> +   "last_tag": "v5.10",
>     "log_level": "LOG_LEVEL_CRITICAL",
>     "pattern": ".*: Inconsistent internal list state !"
>    },
> @@ -292,7 +332,7 @@
>     "advice": "Error in acknowledging heartbeat to FSP. This could mean the FSP has gone away or it may mean the FSP may kill us for missing too many heartbeats.",
>     "compare_mode": "string",
>     "label": "FSPHeartbeatAckError",
> -   "last_tag": "skiboot-5.6.0",
> +   "last_tag": "v5.10",
>     "log_level": "LOG_LEVEL_CRITICAL",
>     "pattern": "SURV: Heartbeat Acknowledgment error from FSP"
>    },
> @@ -300,7 +340,7 @@
>     "advice": "Bug in interaction between FSP and OPAL. The state maintained by OPAL didn't match what the FSP sent.",
>     "compare_mode": "regex",
>     "label": "ElogListInconsistent",
> -   "last_tag": "skiboot-5.6.0",
> +   "last_tag": "v5.10",
>     "log_level": "LOG_LEVEL_CRITICAL",
>     "pattern": ".*: Inconsistent internal list state !"
>    },
> @@ -308,7 +348,7 @@
>     "advice": "Bug in skiboot/FSP code for EPOW event handling",
>     "compare_mode": "string",
>     "label": "EPOWSignatureMismatch",
> -   "last_tag": "skiboot-5.6.0",
> +   "last_tag": "v5.10",
>     "log_level": "LOG_LEVEL_CRITICAL",
>     "pattern": "Signature mismatch"
>    },
> @@ -316,7 +356,7 @@
>     "advice": "Queueing a message from OPAL to FSP failed. This is likely due to either an OPAL bug or the FSP going away.",
>     "compare_mode": "string",
>     "label": "EPOWMessageQueueFailed",
> -   "last_tag": "skiboot-5.6.0",
> +   "last_tag": "v5.10",
>     "log_level": "LOG_LEVEL_CRITICAL",
>     "pattern": "OPAL EPOW message queuing failed"
>    },
> @@ -324,7 +364,7 @@
>     "advice": "OPAL doesn't know that the BMC supports PNOR access commands. This will be a bug in the OPAL support for this BMC.",
>     "compare_mode": "string",
>     "label": "PNORAccessYeahButNoBut",
> -   "last_tag": "skiboot-5.6.0",
> +   "last_tag": "v5.10",
>     "log_level": "LOG_LEVEL_CRITICAL",
>     "pattern": "PNOR BUG: access requested but BMC doesn't support request"
>    },
> @@ -332,7 +372,7 @@
>     "advice": "In negotiating PNOR access with BMC, we got an odd/invalid request from the BMC. Likely a bug in OPAL/BMC interaction.",
>     "compare_mode": "regex",
>     "label": "InvalidPNORAccessRequest",
> -   "last_tag": "skiboot-5.6.0",
> +   "last_tag": "v5.10",
>     "log_level": "LOG_LEVEL_CRITICAL",
>     "pattern": "invalid PNOR access requested: [0-9a-f]+"
>    },
> @@ -340,119 +380,127 @@
>     "advice": "Likely bug in what sent us the OCC reset.",
>     "compare_mode": "regex",
>     "label": "SELUnknownOCCReset",
> -   "last_tag": "skiboot-5.6.0",
> +   "last_tag": "v5.10",
>     "log_level": "LOG_LEVEL_CRITICAL",
>     "pattern": "SEL message to reset an unknown OCC (sensor ID 0x[0-9a-f]+)"
>    },
>    {
> -   "advice": "The resource is not registered in the resource_map[] array, but it should be otherwise the resource cannot be measured if trusted mode is on.",
> +   "advice": "Compatible secureboot driver not found. Probably, hostboot/mambo/skiboot has updated the /ibm,secureboot/compatible without adding a driver that supports it.",
>     "compare_mode": "regex",
> -   "label": "STBMeasureResourceNotMapped",
> -   "last_tag": "skiboot-5.6.0",
> +   "label": "SecureBootNotCompatible",
> +   "last_tag": "v5.10",
>     "log_level": "LOG_LEVEL_CRITICAL",
> -   "pattern": "STB: .* failed, resource [0-9]+ not mapped"
> +   "pattern": ".* FAILED, /ibm,secureboot not compatible."
>    },
>    {
> -   "advice": "Null resource passed to tb_measure. This has come from the resource load framework and likely indicates a bug in the framework.",
> +   "advice": "Hash algorithm invalid, secureboot containers version 1 requires sha512. If you're running the latest POWER firmware, so probably there is a bug in the device tree received from hostboot.",
>     "compare_mode": "regex",
> -   "label": "STBNullResourceReceived",
> -   "last_tag": "skiboot-5.6.0",
> -   "log_level": "LOG_LEVEL_CRITICAL",
> -   "pattern": "STB: .* failed: resource .*, buf null"
> +   "label": "HashAlgoInvalid",
> +   "last_tag": "v5.10",
> +   "log_level": "LOG_LEVEL_LOW",
> +   "pattern": "secureboot init FAILED, hash-algo=.* not supported"
>    },
>    {
> -   "advice": "Unregistered resources can be verified, but not measured. The resource should be registered in the resource_map[] array, otherwise the resource cannot be measured if trusted mode is on.",
> +   "advice": "Compatible CVC driver not found. Probably, hostboot/mambo/skiboot has updated the /ibm,secureboot/compatible without adding a driver that supports it.",
>     "compare_mode": "regex",
> -   "label": "STBVerifyResourceNotMapped",
> -   "last_tag": "skiboot-5.6.0",
> -   "log_level": "LOG_LEVEL_HIGH",
> -   "pattern": "STB: verifying the non-expected resource [0-9]+"
> +   "label": "CVCNotCompatible",
> +   "last_tag": "v5.10",
> +   "log_level": "LOG_LEVEL_CRITICAL",
> +   "pattern": ".* FAILED, /ibm,secureboot not compatible."
>    },
>    {
>     "advice": "STB_DEBUG should not be enabled in production. PCR read operation failed. This TSS implementation is part of hostboot, but the source code is shared with skiboot. 1) The hostboot TSS may have been updated. 2) This may be caused by the short I2C timeout and can be fixed by increasing the timeout. Otherwise this indicates a bug in the TSS or the TPM device driver. Each one has local debug macros that can help.",
>     "compare_mode": "regex",
>     "label": "STBPCRReadFailed",
> -   "last_tag": "skiboot-5.6.0",
> +   "last_tag": "v5.10",
>     "log_level": "LOG_LEVEL_CRITICAL",
> -   "pattern": "STB: tpmCmdPcrRead() failed: tpm[0-9]+, alg=[0-9a-f]+, pcr[0-9]+, rc=[0-9]+"
> +   "pattern": "tpmCmdPcrRead() failed: tpm[0-9]+, alg=[0-9a-f]+, pcr[0-9]+, rc=[0-9]+"
>    },
>    {
>     "advice": "TPM node already registered. The same node is being registered twice or there is a tpm node duplicate in the device tree",
>     "compare_mode": "regex",
>     "label": "TPMAlreadyRegistered",
> -   "last_tag": "skiboot-5.6.0",
> +   "last_tag": "v5.10",
>     "log_level": "LOG_LEVEL_HIGH",
> -   "pattern": "TPM: tpm[0-9]+ already registered"
> +   "pattern": "tpm[0-9]+ already registered"
>    },
>    {
>     "advice": "linux,sml-base property not found. This indicates a Hostboot bug if the property really doesn't exist in the tpm node.",
>     "compare_mode": "regex",
>     "label": "TPMSmlBaseNotFound",
> -   "last_tag": "skiboot-5.6.0",
> +   "last_tag": "v5.10",
>     "log_level": "LOG_LEVEL_CRITICAL",
> -   "pattern": "TPM: linux,sml-base property not found tpm node (0x[0-9a-f]+|nil)"
> +   "pattern": "linux,sml-base property not found tpm node (0x[0-9a-f]+|nil)"
>    },
>    {
>     "advice": "linux,sml-size property not found. This indicates a Hostboot bug if the property really doesn't exist in the tpm node.",
>     "compare_mode": "regex",
>     "label": "TPMSmlSizeNotFound",
> -   "last_tag": "skiboot-5.6.0",
> +   "last_tag": "v5.10",
>     "log_level": "LOG_LEVEL_CRITICAL",
> -   "pattern": "TPM: linux,sml-size property not found, tpm node (0x[0-9a-f]+|nil)"
> +   "pattern": "linux,sml-size property not found, tpm node (0x[0-9a-f]+|nil)"
>    },
>    {
>     "advice": "Hostboot creates and adds entries to the event log. The failed init function is part of hostboot, but the source code is shared with skiboot. If the hostboot TpmLogMgr code (or friends) has been updated, the changes need to be applied to skiboot as well.",
>     "compare_mode": "regex",
>     "label": "TPMInitEventLogFailed",
> -   "last_tag": "skiboot-5.6.0",
> +   "last_tag": "v5.10",
>     "log_level": "LOG_LEVEL_CRITICAL",
> -   "pattern": "TPM: eventlog init failed: tpm[0-9]+ rc=[0-9]+"
> +   "pattern": "eventlog init failed: tpm[0-9]+ rc=[0-9]+"
>    },
>    {
> -   "advice": "TPM already initialized. Check if tpm is being initialized more than once.",
> -   "compare_mode": "string",
> -   "label": "TPMAlreadyInitialized",
> -   "last_tag": "skiboot-5.6.0",
> -   "log_level": "LOG_LEVEL_HIGH",
> -   "pattern": "TPM: tpm device(s) already initialized"
> +   "advice": "TpmLogMgr failed to add a new event to the event log. TpmLogMgr is part of hostboot, but the source code is shared with skiboot. 1) The hostboot TpmLogMgr code may have been updated. 2) Check that max event log size was not reached and log marshall executed with no error. Enabling the trace routines in trustedbootUtils.H may help.",
> +   "compare_mode": "regex",
> +   "label": "STBAddEventFailed",
> +   "last_tag": "v5.10",
> +   "log_level": "LOG_LEVEL_CRITICAL",
> +   "pattern": ".* -> evLog[0-9]+ FAILED: pcr[0-9]+ evType=0x[0-9a-f]+ rc=[0-9]+"
>    },
>    {
> -   "advice": "No TPM chip has been initialized. We may not have a compatible tpm driver or there is no tpm node in the device tree with the expected bindings.",
> -   "compare_mode": "string",
> -   "label": "NoTPMRegistered",
> -   "last_tag": "skiboot-5.6.0",
> +   "advice": "PCR extend operation failed. This TSS implementation is part of hostboot, but the source code is shared with skiboot. 1) The hostboot TSS may have been updated. 2) This may be caused by the short I2C timeout and can be fixed by increasing the timeout. Otherwise, this indicates a bug in the TSS or the TPM device driver. Each one has local debug macros that can help.",
> +   "compare_mode": "regex",
> +   "label": "STBPCRExtendFailed",
> +   "last_tag": "v5.10",
>     "log_level": "LOG_LEVEL_CRITICAL",
> -   "pattern": "TPM: no tpm chip registered"
> +   "pattern": ".* -> tpm[0-9]+ FAILED: pcr[0-9]+ rc=[0-9]+"
>    },
>    {
> -   "advice": "TpmLogMgr failed to add a new event to the event log. TpmLogMgr is part of hostboot, but the source code is shared with skiboot. 1) The hostboot TpmLogMgr code may have been updated. 2) Check that max event log size was not reached and log marshall executed with no error. Enabling the trace routines in trustedbootUtils.H may help.",
> +   "advice": "Compatible trustedboot driver not found. Probably, hostboot/mambo/skiboot has updated the /ibm,secureboot/compatible without adding a driver that supports it.",
>     "compare_mode": "regex",
> -   "label": "STBAddEventFailed",
> -   "last_tag": "skiboot-5.6.0",
> +   "label": "TrustedBootNotCompatible",
> +   "last_tag": "v5.10",
>     "log_level": "LOG_LEVEL_CRITICAL",
> -   "pattern": "TPM: .* -> elog[0-9]+ FAILED: pcr[0-9]+ et=[0-9a-f]+ rc=[0-9]+"
> +   "pattern": "trustedboot init FAILED, '.*' node not compatible."
>    },
>    {
> -   "advice": "PCR extend operation failed. This TSS implementation is part of hostboot, but the source code is shared with skiboot. 1) The hostboot TSS may have been updated. 2) This may be caused by the short I2C timeout and can be fixed by increasing the timeout. Otherwise, this indicates a bug in the TSS or the TPM device driver. Each one has local debug macros that can help.",
> +   "advice": "This is a bug in the trustedboot_measure() caller, which is passing an unknown resource_id.",
>     "compare_mode": "regex",
> -   "label": "STBPCRExtendFailed",
> -   "last_tag": "skiboot-5.6.0",
> +   "label": "ResourceNotMeasuredUnknown",
> +   "last_tag": "v5.10",
>     "log_level": "LOG_LEVEL_CRITICAL",
> -   "pattern": "TPM: .* -> tpm[0-9]+ FAILED: pcr[0-9]+ rc=[0-9]+"
> +   "pattern": "resource NOT MEASURED, resource_id=[0-9]+ unknown"
>    },
>    {
> -   "advice": "ibm,secureboot already registered. Check if rom_init called twice or the same driver is probed twice",
> +   "advice": "This is a bug. The resource cannot be measured because it is not mapped to a PCR in the resources[] array.",
>     "compare_mode": "regex",
> -   "label": "ROMAlreadyRegistered",
> -   "last_tag": "skiboot-5.6.0",
> -   "log_level": "LOG_LEVEL_HIGH",
> -   "pattern": "ROM: .* driver already registered"
> +   "label": "ResourceNotMappedToPCR",
> +   "last_tag": "v5.10",
> +   "log_level": "LOG_LEVEL_CRITICAL",
> +   "pattern": ".* NOT MEASURED, it's not mapped to a PCR"
> +  },
> +  {
> +   "advice": "This is a bug. The trustedboot_measure() caller provided a NULL container.",
> +   "compare_mode": "regex",
> +   "label": "ResourceNotMeasuredNull",
> +   "last_tag": "v5.10",
> +   "log_level": "LOG_LEVEL_CRITICAL",
> +   "pattern": ".* NOT MEASURED, it's null"
>    },
>    {
>     "advice": "Either the tpm device or the tpm-i2c interface doesn't seem to be working properly. Check the return code (rc) for further details.",
>     "compare_mode": "regex",
>     "label": "TPMReadCmdReady",
> -   "last_tag": "skiboot-5.6.0",
> +   "last_tag": "v5.10",
>     "log_level": "LOG_LEVEL_CRITICAL",
>     "pattern": "NUVOTON: fail to read sts.commandReady, rc=[0-9]+"
>    },
> @@ -460,7 +508,7 @@
>     "advice": "Either the tpm device or the tpm-i2c interface doesn't seem to be working properly. Check the return code (rc) for further details.",
>     "compare_mode": "regex",
>     "label": "TPMWriteCmdReady",
> -   "last_tag": "skiboot-5.6.0",
> +   "last_tag": "v5.10",
>     "log_level": "LOG_LEVEL_CRITICAL",
>     "pattern": "NUVOTON: fail to write sts.commandReady, rc=[0-9]+"
>    },
> @@ -468,7 +516,7 @@
>     "advice": "The command ready bit of the tpm status register is taking longer to be settled. Either the wait time need to be increased or the TPM device is not functional.",
>     "compare_mode": "regex",
>     "label": "TPMCmdReadyTimeout",
> -   "last_tag": "skiboot-5.6.0",
> +   "last_tag": "v5.10",
>     "log_level": "LOG_LEVEL_CRITICAL",
>     "pattern": "NUVOTON: timeout on sts.commandReady, delay > [0-9]+"
>    },
> @@ -476,7 +524,7 @@
>     "advice": "Either the tpm device or the tpm-i2c interface doesn't seem to be working properly. Check the return code (rc) for further details.",
>     "compare_mode": "regex",
>     "label": "TPMReadFifoStatus",
> -   "last_tag": "skiboot-5.6.0",
> +   "last_tag": "v5.10",
>     "log_level": "LOG_LEVEL_CRITICAL",
>     "pattern": "NUVOTON: fail to read fifo status: mask [0-9a-f]+, expected [0-9a-f]+, rc=[0-9]+"
>    },
> @@ -484,7 +532,7 @@
>     "advice": "Either the tpm device or the tpm-i2c interface doesn't seem to be working properly. Check the return code (rc) for further details.",
>     "compare_mode": "regex",
>     "label": "TPMReadDataAvail",
> -   "last_tag": "skiboot-5.6.0",
> +   "last_tag": "v5.10",
>     "log_level": "LOG_LEVEL_CRITICAL",
>     "pattern": "NUVOTON: fail to read sts.dataAvail, rc=[0-9]+"
>    },
> @@ -492,7 +540,7 @@
>     "advice": "The data avail bit of the tpm status register is taking longer to be settled. Either the wait time need to be increased or the TPM device is not functional.",
>     "compare_mode": "regex",
>     "label": "TPMDataAvailBitTimeout",
> -   "last_tag": "skiboot-5.6.0",
> +   "last_tag": "v5.10",
>     "log_level": "LOG_LEVEL_CRITICAL",
>     "pattern": "NUVOTON: timeout on sts.dataAvail, delay=[0-9]+/[0-9]+"
>    },
> @@ -500,7 +548,7 @@
>     "advice": "Either the tpm device or the tpm-i2c interface doesn't seem to be working properly. Check the return code (rc) for further details.",
>     "compare_mode": "regex",
>     "label": "TPMReadBurstCount",
> -   "last_tag": "skiboot-5.6.0",
> +   "last_tag": "v5.10",
>     "log_level": "LOG_LEVEL_CRITICAL",
>     "pattern": "NUVOTON: fail to read sts.burstCount, rc=[0-9]+"
>    },
> @@ -508,7 +556,7 @@
>     "advice": "The burstcount bit of the tpm status register is taking longer to be settled. Either the wait time need to be increased or the TPM device is not functional.",
>     "compare_mode": "regex",
>     "label": "TPMBurstCountTimeout",
> -   "last_tag": "skiboot-5.6.0",
> +   "last_tag": "v5.10",
>     "log_level": "LOG_LEVEL_CRITICAL",
>     "pattern": "NUVOTON: timeout on sts.burstCount, delay=[0-9]+/[0-9]+"
>    },
> @@ -516,7 +564,7 @@
>     "advice": "Either the tpm device or the tpm-i2c interface doesn't seem to be working properly. Check the return code (rc) for further details.",
>     "compare_mode": "regex",
>     "label": "TPMWriteFifo",
> -   "last_tag": "skiboot-5.6.0",
> +   "last_tag": "v5.10",
>     "log_level": "LOG_LEVEL_CRITICAL",
>     "pattern": "NUVOTON: fail to write fifo, count=[0-9]+, rc=[0-9]+"
>    },
> @@ -524,7 +572,7 @@
>     "advice": "The write to the TPM FIFO overflowed, the TPM is not expecting more data. This indicates a bug in the TPM device driver.",
>     "compare_mode": "string",
>     "label": "TPMWriteFifoNotExpecting",
> -   "last_tag": "skiboot-5.6.0",
> +   "last_tag": "v5.10",
>     "log_level": "LOG_LEVEL_CRITICAL",
>     "pattern": "NUVOTON: write FIFO overflow, not expecting more data"
>    },
> @@ -532,7 +580,7 @@
>     "advice": "Either the tpm device or the tpm-i2c interface doesn't seem to be working properly. Check the return code (rc) for further details.",
>     "compare_mode": "regex",
>     "label": "TPMWriteFifoLastByte",
> -   "last_tag": "skiboot-5.6.0",
> +   "last_tag": "v5.10",
>     "log_level": "LOG_LEVEL_CRITICAL",
>     "pattern": "NUVOTON: fail to write fifo (last byte), count=[0-9]+, rc=[0-9]+"
>    },
> @@ -540,7 +588,7 @@
>     "advice": "The write to the TPM FIFO overflowed. It is expecting more data even though we think we are done. This indicates a bug in the TPM device driver.",
>     "compare_mode": "string",
>     "label": "TPMWriteFifoExpecting",
> -   "last_tag": "skiboot-5.6.0",
> +   "last_tag": "v5.10",
>     "log_level": "LOG_LEVEL_CRITICAL",
>     "pattern": "TPM: write FIFO overflow, expecting more data"
>    },
> @@ -548,7 +596,7 @@
>     "advice": "The read from TPM FIFO overflowed. It is expecting more data even though we think we are done. This indicates a bug in the TPM device driver.",
>     "compare_mode": "regex",
>     "label": "TPMReadFifoOverflow",
> -   "last_tag": "skiboot-5.6.0",
> +   "last_tag": "v5.10",
>     "log_level": "LOG_LEVEL_CRITICAL",
>     "pattern": "NUVOTON: overflow on fifo read, c=[0-9]+, bc=[0-9]+, bl=[0-9]+"
>    },
> @@ -556,7 +604,7 @@
>     "advice": "Either the tpm device or the tpm-i2c interface doesn't seem to be working properly. Check the return code (rc) for further details.",
>     "compare_mode": "regex",
>     "label": "TPMReadFifo",
> -   "last_tag": "skiboot-5.6.0",
> +   "last_tag": "v5.10",
>     "log_level": "LOG_LEVEL_CRITICAL",
>     "pattern": "NUVOTON: fail to read fifo, count=[0-9]+, rc=[0-9]+"
>    },
> @@ -564,7 +612,7 @@
>     "advice": "TPM device is not initialized. This indicates a bug in the tpm_transmit() caller",
>     "compare_mode": "string",
>     "label": "TPMDeviceNotInitialized",
> -   "last_tag": "skiboot-5.6.0",
> +   "last_tag": "v5.10",
>     "log_level": "LOG_LEVEL_CRITICAL",
>     "pattern": "TPM: tpm device not initialized"
>    },
> @@ -572,7 +620,7 @@
>     "advice": "Either the tpm device or the tpm-i2c interface doesn't seem to be working properly. Check the return code (rc) for further details.",
>     "compare_mode": "regex",
>     "label": "TPMWriteGo",
> -   "last_tag": "skiboot-5.6.0",
> +   "last_tag": "v5.10",
>     "log_level": "LOG_LEVEL_CRITICAL",
>     "pattern": "NUVOTON: fail to write sts.go, rc=[0-9]+"
>    },
> @@ -580,63 +628,47 @@
>     "advice": "Either the tpm device or the tpm-i2c interface doesn't seem to be working properly. Check the return code (rc) for further details.",
>     "compare_mode": "regex",
>     "label": "TPMReleaseTpm",
> -   "last_tag": "skiboot-5.6.0",
> +   "last_tag": "v5.10",
>     "log_level": "LOG_LEVEL_CRITICAL",
>     "pattern": "NUVOTON: fail to release tpm, rc=[0-9]+"
>    },
>    {
> -   "advice": "Hostboot creates the ibm,secureboot node and the hash-algo property. Check that the ibm,secureboot node layout has not changed.",
> -   "compare_mode": "regex",
> -   "label": "ROMHashAlgorithmInvalid",
> -   "last_tag": "skiboot-5.6.0",
> -   "log_level": "LOG_LEVEL_CRITICAL",
> -   "pattern": "ROM: hash-algo=.* not expected"
> -  },
> -  {
> -   "advice": "tpm_i2c_request_send was passed an invalid bus ID. This indicates a tb_init() bug.",
> -   "compare_mode": "regex",
> -   "label": "TPMI2CInvalidBusID",
> -   "last_tag": "skiboot-5.6.0",
> +   "advice": "opal_i2c_request was passed an invalid bus ID. This has likely come from the OS rather than OPAL and thus could indicate an OS bug rather than an OPAL bug.",
> +   "compare_mode": "string",
> +   "label": "I2CInvalidBusID",
> +   "last_tag": "v5.10",
>     "log_level": "LOG_LEVEL_CRITICAL",
> -   "pattern": "TPM: Invalid bus_id=[0-9a-f]+"
> +   "pattern": "I2C: Invalid 'bus_id' passed to the OPAL"
>    },
>    {
> -   "advice": "OPAL failed to allocate memory for an i2c_request. This points to an OPAL bug as OPAL run out of memory and this should never happen.",
> +   "advice": "OPAL failed to allocate memory for an i2c_request. This points to an OPAL bug as OPAL ran out of memory and this should never happen.",
>     "compare_mode": "string",
> -   "label": "TPMI2CAllocationFailed",
> -   "last_tag": "skiboot-5.6.0",
> +   "label": "I2CFailedAllocation",
> +   "last_tag": "v5.10",
>     "log_level": "LOG_LEVEL_CRITICAL",
> -   "pattern": "TPM: i2c_alloc_req failed"
> +   "pattern": "I2C: Failed to allocate 'i2c_request'"
>    },
>    {
> -   "advice": "Hostboot creates the ibm,secureboot node and the hash-algo property. Check that the ibm,secureboot node layout has not changed.",
> +   "advice": "i2c_request_send was passed an invalid bus ID. This indicates a bug.",
>     "compare_mode": "regex",
> -   "label": "ROMHashAlgorithmInvalid",
> -   "last_tag": "skiboot-5.6.0",
> -   "log_level": "LOG_LEVEL_CRITICAL",
> -   "pattern": "ROM: hash-algo=.* not expected"
> -  },
> -  {
> -   "advice": "opal_i2c_request was passed an invalid bus ID. This has likely come from the OS rather than OPAL and thus could indicate an OS bug rather than an OPAL bug.",
> -   "compare_mode": "string",
>     "label": "I2CInvalidBusID",
> -   "last_tag": "skiboot-5.6.0",
> +   "last_tag": "v5.10",
>     "log_level": "LOG_LEVEL_CRITICAL",
> -   "pattern": "I2C: Invalid 'bus_id' passed to the OPAL"
> +   "pattern": "I2C: Invalid bus_id=[0-9a-f]+"
>    },
>    {
> -   "advice": "OPAL failed to allocate memory for an i2c_request. This points to an OPAL bug as OPAL ran out of memory and this should never happen.",
> +   "advice": "OPAL failed to allocate memory for an i2c_request. This points to an OPAL bug as OPAL run out of memory and this should never happen.",
>     "compare_mode": "string",
> -   "label": "I2CFailedAllocation",
> -   "last_tag": "skiboot-5.6.0",
> +   "label": "I2CAllocationFailed",
> +   "last_tag": "v5.10",
>     "log_level": "LOG_LEVEL_CRITICAL",
> -   "pattern": "I2C: Failed to allocate 'i2c_request'"
> +   "pattern": "I2C: i2c_alloc_req failed"
>    },
>    {
>     "advice": "HBRT triggered assert: you need to debug HBRT",
>     "compare_mode": "string",
>     "label": "HBRTassert",
> -   "last_tag": "skiboot-5.6.0",
> +   "last_tag": "v5.10",
>     "log_level": "LOG_LEVEL_CRITICAL",
>     "pattern": "HBRT: Assertion from hostservices"
>    },
> @@ -644,7 +676,7 @@
>     "advice": "Firmware should have aborted boot",
>     "compare_mode": "string",
>     "label": "HBRTlidLoadFail",
> -   "last_tag": "skiboot-5.6.0",
> +   "last_tag": "v5.10",
>     "log_level": "LOG_LEVEL_CRITICAL",
>     "pattern": "HBRT: LID Load failed"
>    },
> @@ -652,7 +684,7 @@
>     "advice": "You are running in manufacturing mode. This mode should only be enabled in a factory during manufacturing.",
>     "compare_mode": "string",
>     "label": "ManufacturingMode",
> -   "last_tag": "skiboot-5.6.0",
> +   "last_tag": "v5.10",
>     "log_level": "LOG_LEVEL_MEDIUM",
>     "pattern": "PLAT: Manufacturing mode ON"
>    },
> @@ -660,7 +692,7 @@
>     "advice": "OPAL could not find an NVRAM partition on the system flash. Check that the system flash has a valid partition table, and that the firmware build process has added a NVRAM partition.",
>     "compare_mode": "string",
>     "label": "NVRAMNoPartition",
> -   "last_tag": "skiboot-5.6.0",
> +   "last_tag": "v5.10",
>     "log_level": "LOG_LEVEL_CRITICAL",
>     "pattern": "FLASH: Can't parse ffs info for NVRAM"
>    },
> @@ -668,7 +700,7 @@
>     "advice": "OPAL Found multiple system flash. Since we've already found a system flash we are going to use that one but this ordering is not guaranteed so may change in future.",
>     "compare_mode": "regex",
>     "label": "SystemFlashMultiple",
> -   "last_tag": "skiboot-5.6.0",
> +   "last_tag": "v5.10",
>     "log_level": "LOG_LEVEL_HIGH",
>     "pattern": "FLASH: Attempted to register multiple system flash: .*"
>    },
> @@ -676,7 +708,7 @@
>     "advice": "System flash isn't formatted as expected. This could mean several OPAL utilities do not function as expected. e.g. gard, pflash.",
>     "compare_mode": "string",
>     "label": "NoFFS",
> -   "last_tag": "skiboot-5.6.0",
> +   "last_tag": "v5.10",
>     "log_level": "LOG_LEVEL_HIGH",
>     "pattern": "FLASH: No ffs info; using raw device only"
>    },
> @@ -684,7 +716,7 @@
>     "advice": "No system flash was found. Check for missing calls flash_register(...).",
>     "compare_mode": "regex",
>     "label": "SystemFlashNotFound",
> -   "last_tag": "skiboot-5.6.0",
> +   "last_tag": "v5.10",
>     "log_level": "LOG_LEVEL_HIGH",
>     "pattern": "FLASH: Can't load resource id:[0-9]+. No system flash found"
>    },
> @@ -692,7 +724,7 @@
>     "advice": "OPAL was called with a bad token. On POWER8 and earlier, Linux kernels had a bug where they wouldn't check if firmware supported particular OPAL calls before making them. It is, in fact, harmless for these cases. On systems newer than POWER8, this should never happen and indicates a kernel bug where OPAL_CHECK_TOKEN isn't being called where it should be.",
>     "compare_mode": "regex",
>     "label": "OPALBadToken",
> -   "last_tag": "skiboot-5.6.0",
> +   "last_tag": "v5.10",
>     "log_level": "LOG_LEVEL_CRITICAL",
>     "pattern": "OPAL: Called with bad token [0-9]+ !"
>    },
> @@ -700,7 +732,7 @@
>     "advice": "Currently removing a poller is DANGEROUS and MUST NOT be done in production firmware.",
>     "compare_mode": "string",
>     "label": "UnsupportedOPALdelpoller",
> -   "last_tag": "skiboot-5.6.0",
> +   "last_tag": "v5.10",
>     "log_level": "LOG_LEVEL_CRITICAL",
>     "pattern": "WARNING: Unsupported opal_del_poller. Interesting locking issues, don't call this."
>    },
> @@ -708,7 +740,7 @@
>     "advice": "Recursion detected in opal_run_pollers(). This indicates a bug in OPAL where a poller ended up running pollers, which doesn't lead anywhere good.",
>     "compare_mode": "string",
>     "label": "OPALPollerRecursion",
> -   "last_tag": "skiboot-5.6.0",
> +   "last_tag": "v5.10",
>     "log_level": "LOG_LEVEL_CRITICAL",
>     "pattern": "OPAL: Poller recursion detected."
>    },
> @@ -716,7 +748,7 @@
>     "advice": "opal_run_pollers() was called with a lock held, which could lead to deadlock if not excessively lucky/careful.",
>     "compare_mode": "string",
>     "label": "OPALPollerWithLock",
> -   "last_tag": "skiboot-5.6.0",
> +   "last_tag": "v5.10",
>     "log_level": "LOG_LEVEL_CRITICAL",
>     "pattern": "Running pollers with lock held !"
>    },
> @@ -724,7 +756,7 @@
>     "advice": "Your firmware is buggy, see the 64 messages complaining about opal_run_pollers with lock held.",
>     "compare_mode": "string",
>     "label": "OPALPollerWithLock64",
> -   "last_tag": "skiboot-5.6.0",
> +   "last_tag": "v5.10",
>     "log_level": "LOG_LEVEL_CRITICAL",
>     "pattern": "opal_run_pollers with lock run 64 times, disabling warning."
>    },
> @@ -732,7 +764,7 @@
>     "advice": "OPAL will parse the Flattened Device Tree(FDT), which can be generated from different firmware sources. During expansion of FDT, OPAL observed a node assigned multiple times (a duplicate). This indicates either a Hostboot bug *OR*, more likely, a bug in the platform XML. Check the platform XML for duplicate IDs for this type of device. Because of this duplicate node, OPAL won't add the hardware device found with a duplicate node ID into DT, rendering the corresponding device not functional.",
>     "compare_mode": "regex",
>     "label": "DTHasDuplicateNodeID",
> -   "last_tag": "skiboot-5.6.0",
> +   "last_tag": "v5.10",
>     "log_level": "LOG_LEVEL_CRITICAL",
>     "pattern": "DT: Found duplicate node: .*"
>    },
> @@ -740,7 +772,7 @@
>     "advice": "OPAL hit an assert(). During normal usage (even testing) we should never hit an assert. There are other code paths for controlled shutdown/panic in the event of catastrophic errors.",
>     "compare_mode": "regex",
>     "label": "FailedAssert",
> -   "last_tag": "skiboot-5.6.0",
> +   "last_tag": "v5.10",
>     "log_level": "LOG_LEVEL_CRITICAL",
>     "pattern": "Assert fail: .*"
>    },
> @@ -748,7 +780,7 @@
>     "advice": "Device tree didn't contain enough information to correctly report back PCI inventory. Service processor is likely to be missing information about what hardware is physically present in the machine.",
>     "compare_mode": "regex",
>     "label": "FirenzePCIInventory",
> -   "last_tag": "skiboot-5.6.0",
> +   "last_tag": "v5.10",
>     "log_level": "LOG_LEVEL_CRITICAL",
>     "pattern": "No chip device node for PHB[0-9a-f]+"
>    },
> @@ -756,7 +788,7 @@
>     "advice": "More PCI inventory than we can send to service processor. The service processor will have an incomplete view of the world.",
>     "compare_mode": "regex",
>     "label": "FirenzePCIInventoryTooLarge",
> -   "last_tag": "skiboot-5.6.0",
> +   "last_tag": "v5.10",
>     "log_level": "LOG_LEVEL_CRITICAL",
>     "pattern": "Inventory ([0-9]+ bytes) too large"
>    },
> @@ -764,7 +796,7 @@
>     "advice": "Error communicating with service processor when sending PCI Inventory.",
>     "compare_mode": "regex",
>     "label": "FirenzePCIInventoryError",
> -   "last_tag": "skiboot-5.6.0",
> +   "last_tag": "v5.10",
>     "log_level": "LOG_LEVEL_CRITICAL",
>     "pattern": "Error [0-9]+ sending inventory"
>    },
> @@ -772,7 +804,7 @@
>     "advice": "On Firenze platforms, I2C is used to control power to PCI slots. Errors here mean we may be in trouble in regards to PCI slot power on/off.",
>     "compare_mode": "regex",
>     "label": "FirenzePCII2CError",
> -   "last_tag": "skiboot-5.6.0",
> +   "last_tag": "v5.10",
>     "log_level": "LOG_LEVEL_CRITICAL",
>     "pattern": "Error [0-9]+ from I2C request on slot [0-9a-f]+"
>    },
> @@ -780,7 +812,7 @@
>     "advice": "Likely a coding error: invalid I2C request.",
>     "compare_mode": "regex",
>     "label": "FirenzePCII2CInvalid",
> -   "last_tag": "skiboot-5.6.0",
> +   "last_tag": "v5.10",
>     "log_level": "LOG_LEVEL_CRITICAL",
>     "pattern": "Invalid I2C request [0-9]+ on slot [0-9a-f]+"
>    },
> @@ -788,7 +820,7 @@
>     "advice": "The Firenze platform uses I2C to control power to PCI slots. Something went wrong in the state machine controlling that. Slots may/may not have power.",
>     "compare_mode": "regex",
>     "label": "FirenzePCISlotI2CStateError",
> -   "last_tag": "skiboot-5.6.0",
> +   "last_tag": "v5.10",
>     "log_level": "LOG_LEVEL_CRITICAL",
>     "pattern": "Wrong state [0-9a-f]+ on slot [0-9a-f]+"
>    },
> @@ -796,7 +828,7 @@
>     "advice": "Unexpected state in the FIRENZE PCI Slot state machine. This could mean PCI is not functioning correctly.",
>     "compare_mode": "regex",
>     "label": "FirenzePCISlotGPowerState",
> -   "last_tag": "skiboot-5.6.0",
> +   "last_tag": "v5.10",
>     "log_level": "LOG_LEVEL_CRITICAL",
>     "pattern": "[0-9a-f]+ GPOWER: Unexpected state [0-9a-f]+"
>    },
> @@ -804,7 +836,7 @@
>     "advice": "Unexpected state in the FIRENZE PCI Slot state machine. This could mean PCI is not functioning correctly.",
>     "compare_mode": "regex",
>     "label": "FirenzePCISlotSPowerState",
> -   "last_tag": "skiboot-5.6.0",
> +   "last_tag": "v5.10",
>     "log_level": "LOG_LEVEL_CRITICAL",
>     "pattern": "[0-9a-f]+ SPOWER: Unexpected state [0-9a-f]+"
>    },
> @@ -812,15 +844,31 @@
>     "advice": "AST BMC is likely to be non-functional when accessed from host.",
>     "compare_mode": "string",
>     "label": "ASTBMCFailedSetEnables",
> -   "last_tag": "skiboot-5.6.0",
> +   "last_tag": "v5.10",
>     "log_level": "LOG_LEVEL_CRITICAL",
>     "pattern": "ASTBMC: failed to set enables"
>    },
>    {
> +   "advice": "HDAT secureboot_tpm_info structure described a chip id, but no tpm node was found under that xscom chip id. This is most certainly a hostboot bug.",
> +   "compare_mode": "regex",
> +   "label": "HDATNoTpmForChipId",
> +   "last_tag": "v5.10",
> +   "log_level": "LOG_LEVEL_CRITICAL",
> +   "pattern": "TPM node not found for chip_id=[0-9]+ (HB bug)"
> +  },
> +  {
> +   "advice": "HDAT secureboot_tpm_info structure described a chip id, but the xscom node for the chip_id was not found. This is most certainly a firmware bug.",
> +   "compare_mode": "regex",
> +   "label": "HDATBadChipIdForTPM",
> +   "last_tag": "v5.10",
> +   "log_level": "LOG_LEVEL_CRITICAL",
> +   "pattern": "xscom node not found for chip_id=[0-9]+"
> +  },
> +  {
>     "advice": "HDAT described an invalid size for timebase, which means there's a disagreement between HDAT and OPAL. This is most certainly a firmware bug.",
>     "compare_mode": "regex",
>     "label": "HDATBadTimebaseSize",
> -   "last_tag": "skiboot-5.6.0",
> +   "last_tag": "v5.10",
>     "log_level": "LOG_LEVEL_CRITICAL",
>     "pattern": "HDAT: Bad timebase size [0-9]+ @ (0x[0-9a-f]+|nil)"
>    }
> 
Thanks for the update.

Acked-by: Colin Ian King <colin.king@canonical.com>
Alex Hung March 14, 2018, 1:04 a.m. UTC | #2
On 2018-03-13 04:13 PM, Deb McLemore wrote:
> This is a periodic refresh of the OPAL olog.json data which
> is produced by running the generate-fwts-olog tool against
> the skiboot source tree to update the conditions to test
> for in the OPAL firmware stack using FWTS olog tests.
> 
> Signed-off-by: Deb McLemore <debmc@linux.vnet.ibm.com>
> ---
>   data/olog.json | 386 ++++++++++++++++++++++++++++++++-------------------------
>   1 file changed, 217 insertions(+), 169 deletions(-)
> 
> diff --git a/data/olog.json b/data/olog.json
> index 3084300..86892da 100644
> --- a/data/olog.json
> +++ b/data/olog.json
> @@ -1,10 +1,50 @@
>   {
>    "olog_error_warning_patterns": [
>     {
> +   "advice": "The NPU fence status did not update as expected. This could be the result of a firmware or hardware bug. OpenCAPI functionality could be broken.",
> +   "compare_mode": "regex",
> +   "label": "OCAPIFenceStatusTimeout",
> +   "last_tag": "v5.10",
> +   "log_level": "LOG_LEVEL_CRITICAL",
> +   "pattern": "OCAPI: Fence status for brick [0-9]+ stuck: expected 0x[0-9a-f]+, got 0x[0-9a-f]+"
> +  },
> +  {
> +   "advice": "There was an error attempting to send a reset signal over I2C to the OpenCAPI device.",
> +   "compare_mode": "regex",
> +   "label": "OCAPIDeviceResetFailed",
> +   "last_tag": "v5.10",
> +   "log_level": "LOG_LEVEL_CRITICAL",
> +   "pattern": "OCAPI: Error writing I2C reset signal: [0-9]+"
> +  },
> +  {
> +   "advice": "OpenCAPI IRQ setup failed. This is probably a firmware bug. OpenCAPI functionality will be broken.",
> +   "compare_mode": "string",
> +   "label": "OCAPIIRQAllocationFailed",
> +   "last_tag": "v5.10",
> +   "log_level": "LOG_LEVEL_CRITICAL",
> +   "pattern": "OCAPI: Couldn't allocate interrupts for NPU"
> +  },
> +  {
> +   "advice": "The OpenCAPI link training procedure failed. This indicates a hardware or firmware bug. OpenCAPI functionality will not be available on this link.",
> +   "compare_mode": "regex",
> +   "label": "OCAPILinkTrainingFailed",
> +   "last_tag": "v5.10",
> +   "log_level": "LOG_LEVEL_CRITICAL",
> +   "pattern": "OCAPI: Link [0-9]+ on chip [0-9]+ failed to train"
> +  },
> +  {
> +   "advice": "Firmware probably ran out of memory creating NPU slot. OpenCAPI functionality could be broken.",
> +   "compare_mode": "string",
> +   "label": "OCAPICannotCreatePHBSlot",
> +   "last_tag": "v5.10",
> +   "log_level": "LOG_LEVEL_CRITICAL",
> +   "pattern": "OCAPI: Cannot create PHB slot"
> +  },
> +  {
>      "advice": "NVLink not functional",
>      "compare_mode": "regex",
>      "label": "NPUisnInvalid",
> -   "last_tag": "skiboot-5.6.0",
> +   "last_tag": "v5.10",
>      "log_level": "LOG_LEVEL_CRITICAL",
>      "pattern": "NPU[0-9]+: isn 0x[0-9a-f]+ not valid for this NPU"
>     },
> @@ -12,7 +52,7 @@
>      "advice": "Firmware probably ran out of memory creating NPU slot. NVLink functionality could be broken.",
>      "compare_mode": "string",
>      "label": "NPUCannotCreatePHBSlot",
> -   "last_tag": "skiboot-5.6.0",
> +   "last_tag": "v5.10",
>      "log_level": "LOG_LEVEL_CRITICAL",
>      "pattern": "NPU: Cannot create PHB slot"
>     },
> @@ -20,7 +60,7 @@
>      "advice": "OPAL failed to add the power-mgt device tree node. This could mean that firmware ran out of memory, or there's a bug somewhere.",
>      "compare_mode": "string",
>      "label": "CreateDTPowerMgtNodeFail",
> -   "last_tag": "skiboot-5.6.0",
> +   "last_tag": "v5.10",
>      "log_level": "LOG_LEVEL_CRITICAL",
>      "pattern": "creating dt node /ibm,opal/power-mgt failed"
>     },
> @@ -28,7 +68,7 @@
>      "advice": "An error condition occurred in sleep/winkle engines timer state machine. Dumping debug information to root-cause. OPAL/skiboot may be stuck on some operation that requires SLW timer state machine (e.g. core powersaving)",
>      "compare_mode": "string",
>      "label": "SLWRegisterDump",
> -   "last_tag": "skiboot-5.6.0",
> +   "last_tag": "v5.10",
>      "log_level": "LOG_LEVEL_LOW",
>      "pattern": "SLW: Register state:"
>     },
> @@ -36,31 +76,31 @@
>      "advice": "The SLeep/Winkle Engine (SLW) failed to increment the generation number within our timeout period (it *should* have done so within ~10us, not >1ms. OPAL uses the SLW timer to schedule some operations, but can fall back to the (much less frequent OPAL poller, which although does not affect functionality, runs *much* less frequently. This could have the effect of slow I2C operations (for example). It may also mean that you *had* an increase in jitter, due to slow interactions with SLW. This error may also occur if the machine is connected to via soft FSI.",
>      "compare_mode": "string",
>      "label": "SLWTimerStuck",
> -   "last_tag": "skiboot-5.6.0",
> +   "last_tag": "v5.10",
>      "log_level": "LOG_LEVEL_CRITICAL",
>      "pattern": "SLW: timer stuck, falling back to OPAL pollers. You will likely have slower I2C and may have experienced increased jitter."
>     },
>     {
> -   "advice": "No GPU/NPU slot information was found. NVLink2 functionality will not work.",
> +   "advice": "No GPU/NPU2 slot information was found. NVLink2 functionality will not work.",
>      "compare_mode": "string",
>      "label": "NPUNoPHBSlotLabel",
> -   "last_tag": "skiboot-5.6.0",
> +   "last_tag": "v5.10",
>      "log_level": "LOG_LEVEL_CRITICAL",
> -   "pattern": "NPU: Cannot find GPU slot information"
> +   "pattern": "NPU2: Cannot find GPU slot information"
>     },
>     {
> -   "advice": "Firmware probably ran out of memory creating NPU slot. NVLink functionality could be broken.",
> +   "advice": "Firmware probably ran out of memory creating NPU2 slot. NVLink functionality could be broken.",
>      "compare_mode": "string",
>      "label": "NPUCannotCreatePHBSlot",
> -   "last_tag": "skiboot-5.6.0",
> +   "last_tag": "v5.10",
>      "log_level": "LOG_LEVEL_CRITICAL",
> -   "pattern": "NPU: Cannot create PHB slot"
> +   "pattern": "NPU2: Cannot create PHB slot"
>     },
>     {
>      "advice": "OPAL marked a Centaur (memory buffer) as offline due to CENTAUR_ERR_OFFLINE_THRESHOLD (10) consecutive errors on XSCOMs to this centaur. OPAL will now return OPAL_XSCOM_CTR_OFFLINED and not try any further XSCOMs. This is likely caused by some hardware issue or PRD recovery issue.",
>      "compare_mode": "regex",
>      "label": "CentaurOfflinedTooManyErrors",
> -   "last_tag": "skiboot-5.6.0",
> +   "last_tag": "v5.10",
>      "log_level": "LOG_LEVEL_CRITICAL",
>      "pattern": "CENTAUR: Offlined [0-9a-f]+ due to > [0-9]+ consecutive XSCOM errors. No more XSCOMs to this centaur."
>     },
> @@ -68,7 +108,7 @@
>      "advice": "xscom_read was called with an invalid partid. There's likely a bug somewhere in the stack that's causing someone to try an xscom_read on something that isn't a processor, Centaur or EX chiplet.",
>      "compare_mode": "regex",
>      "label": "XSCOMReadInvalidPartID",
> -   "last_tag": "skiboot-5.6.0",
> +   "last_tag": "v5.10",
>      "log_level": "LOG_LEVEL_CRITICAL",
>      "pattern": ".*: invalid XSCOM partid 0x[0-9a-f]+"
>     },
> @@ -76,7 +116,7 @@
>      "advice": "xscom_write was called with an invalid partid. There's likely a bug somewhere in the stack that's causing someone to try an xscom_write on something that isn't a processor, Centaur or EX chiplet.",
>      "compare_mode": "regex",
>      "label": "XSCOMWriteInvalidPartID",
> -   "last_tag": "skiboot-5.6.0",
> +   "last_tag": "v5.10",
>      "log_level": "LOG_LEVEL_CRITICAL",
>      "pattern": ".*: invalid XSCOM partid 0x[0-9a-f]+"
>     },
> @@ -84,7 +124,7 @@
>      "advice": "The HOMER base address for a chip was not valid. This means that OCC (On Chip Controller) will be non-functional and CPU frequency scaling will not be functional. CPU may be set to a safe, low frequency. Power savings in CPU idle or CPU hotplug may be impacted.",
>      "compare_mode": "regex",
>      "label": "OCCInvalidHomerBase",
> -   "last_tag": "skiboot-5.6.0",
> +   "last_tag": "v5.10",
>      "log_level": "LOG_LEVEL_CRITICAL",
>      "pattern": "OCC: Chip: [0-9a-f]+ homer_base is not valid"
>     },
> @@ -92,7 +132,7 @@
>      "advice": "The pstate table for a chip was not valid. This means that OCC (On Chip Controller) will be non-functional and CPU frequency scaling will not be functional. CPU may be set to a low, safe frequency. This means that CPU idle states and CPU frequency scaling may not be functional.",
>      "compare_mode": "regex",
>      "label": "OCCInvalidPStateTable",
> -   "last_tag": "skiboot-5.6.0",
> +   "last_tag": "v5.10",
>      "log_level": "LOG_LEVEL_CRITICAL",
>      "pattern": "OCC: Chip: [0-9a-f]+ PState table is not valid"
>     },
> @@ -100,7 +140,7 @@
>      "advice": "The pstate table for the first chip was not valid. This means that OCC (On Chip Controller) will be non-functional. This means that CPU idle states and CPU frequency scaling will not be functional as OPAL doesn't populate the device tree with pstates in this case.",
>      "compare_mode": "string",
>      "label": "OCCInvalidPStateTableDT",
> -   "last_tag": "skiboot-5.6.0",
> +   "last_tag": "v5.10",
>      "log_level": "LOG_LEVEL_CRITICAL",
>      "pattern": "OCC: PState table is not valid"
>     },
> @@ -108,7 +148,7 @@
>      "advice": "The PState table layout version is not supported in P9. So OPAL will not parse the PState table. CPU frequency scaling will not be functional as frequency and pstate-ids are not added to DT.",
>      "compare_mode": "regex",
>      "label": "OCCInvalidVersion02",
> -   "last_tag": "skiboot-5.6.0",
> +   "last_tag": "v5.10",
>      "log_level": "LOG_LEVEL_CRITICAL",
>      "pattern": "OCC: Version [0-9a-f]+ is not supported in P9"
>     },
> @@ -116,7 +156,7 @@
>      "advice": "The PState table layout version is not supported in P8. So OPAL will not parse the PState table. CPU frequency scaling will not be functional as frequency and pstate-ids are not added to DT.",
>      "compare_mode": "regex",
>      "label": "OCCInvalidVersion90",
> -   "last_tag": "skiboot-5.6.0",
> +   "last_tag": "v5.10",
>      "log_level": "LOG_LEVEL_CRITICAL",
>      "pattern": "OCC: Version [0-9a-f]+ is not supported in P8"
>     },
> @@ -124,7 +164,7 @@
>      "advice": "The PState table layout version is not supported. So OPAL will not parse the PState table. CPU frequency scaling will not be functional as OPAL doesn't populate the device tree with pstates.",
>      "compare_mode": "regex",
>      "label": "OCCUnsupportedVersion",
> -   "last_tag": "skiboot-5.6.0",
> +   "last_tag": "v5.10",
>      "log_level": "LOG_LEVEL_CRITICAL",
>      "pattern": "OCC: Unsupported pstate table layout version [0-9]+"
>     },
> @@ -132,7 +172,7 @@
>      "advice": "The min pstate is greater than the max pstate, this could be due to corrupted/invalid data in OCC-OPAL shared memory region. So OPAL has not added pstates to device tree. This means that CPU Frequency management will not be functional in the host.",
>      "compare_mode": "regex",
>      "label": "OCCInvalidPStateLimits",
> -   "last_tag": "skiboot-5.6.0",
> +   "last_tag": "v5.10",
>      "log_level": "LOG_LEVEL_CRITICAL",
>      "pattern": "OCC: Invalid pstate limits. Pmin([0-9]+) > Pmax ([0-9]+)"
>     },
> @@ -140,15 +180,15 @@
>      "advice": "The nominal pstate is greater than the max pstate, this could be due to corrupted/invalid data in OCC-OPAL shared memory region. So OPAL has limited the nominal pstate to max pstate.",
>      "compare_mode": "regex",
>      "label": "OCCInvalidNominalPState",
> -   "last_tag": "skiboot-5.6.0",
> +   "last_tag": "v5.10",
>      "log_level": "LOG_LEVEL_CRITICAL",
>      "pattern": "OCC: Clipping nominal pstate([0-9]+) to Pmax([0-9]+)"
>     },
>     {
> -   "advice": "The number of pstates is outside the valid range (currently <=1 or > 128), so OPAL has not added pstates to the device tree. This means that OCC (On Chip Controller) will be non-functional. This means that CPU idle states and CPU frequency scaling will not be functional.",
> +   "advice": "The number of pstates is outside the valid range (currently <=1 or > 128 on p8, >255 on P9), so OPAL has not added pstates to the device tree. This means that OCC (On Chip Controller) will be non-functional. This means that CPU idle states and CPU frequency scaling will not be functional.",
>      "compare_mode": "regex",
>      "label": "OCCInvalidPStateRange",
> -   "last_tag": "skiboot-5.6.0",
> +   "last_tag": "v5.10",
>      "log_level": "LOG_LEVEL_CRITICAL",
>      "pattern": "OCC: OCC range is not valid; No of pstates = [0-9]+"
>     },
> @@ -156,7 +196,7 @@
>      "advice": "Device tree node /ibm,opal/power-mgt not found. OPAL didn't add pstate information to device tree. Probably a firmware bug.",
>      "compare_mode": "string",
>      "label": "OCCDTNodeNotFound",
> -   "last_tag": "skiboot-5.6.0",
> +   "last_tag": "v5.10",
>      "log_level": "LOG_LEVEL_CRITICAL",
>      "pattern": "OCC: dt node /ibm,opal/power-mgt not found"
>     },
> @@ -164,7 +204,7 @@
>      "advice": "Failed to create /ibm,opal/power-mgt/occ. Per-chip pstate properties are not added to Device Tree.",
>      "compare_mode": "regex",
>      "label": "OCCDTFailedNodeCreation",
> -   "last_tag": "skiboot-5.6.0",
> +   "last_tag": "v5.10",
>      "log_level": "LOG_LEVEL_CRITICAL",
>      "pattern": "OCC: Failed to create /ibm,opal/power-mgt/occ@[0-9a-f]+"
>     },
> @@ -172,7 +212,7 @@
>      "advice": "ENOMEM while allocating OCC load message. OCCs not started, consequently no power/frequency scaling will be functional.",
>      "compare_mode": "string",
>      "label": "OCCload_reqENOMEM",
> -   "last_tag": "skiboot-5.6.0",
> +   "last_tag": "v5.10",
>      "log_level": "LOG_LEVEL_CRITICAL",
>      "pattern": "OCC: Could not allocate occ_load_req"
>     },
> @@ -180,7 +220,7 @@
>      "advice": "Invalid request for loading OCCs. Power and frequency management not functional",
>      "compare_mode": "regex",
>      "label": "OCCLoadInvalidScope",
> -   "last_tag": "skiboot-5.6.0",
> +   "last_tag": "v5.10",
>      "log_level": "LOG_LEVEL_CRITICAL",
>      "pattern": "OCC: Load message with invalid scope 0x[0-9a-f]+"
>     },
> @@ -188,7 +228,7 @@
>      "advice": "Invalid request for resetting OCCs. Power and frequency management not functional",
>      "compare_mode": "regex",
>      "label": "OCCResetInvalidScope",
> -   "last_tag": "skiboot-5.6.0",
> +   "last_tag": "v5.10",
>      "log_level": "LOG_LEVEL_CRITICAL",
>      "pattern": "OCC: Reset message with invalid scope 0x[0-9a-f]+"
>     },
> @@ -196,7 +236,7 @@
>      "advice": "OPAL had trouble creating the sensor nodes in the device tree as there was already one there. This indicates either the device tree from Hostboot already filled in sensors or an OPAL bug.",
>      "compare_mode": "regex",
>      "label": "OPALSensorNodeExists",
> -   "last_tag": "skiboot-5.6.0",
> +   "last_tag": "v5.10",
>      "log_level": "LOG_LEVEL_CRITICAL",
>      "pattern": "SENSOR: node .* exists"
>     },
> @@ -204,7 +244,7 @@
>      "advice": "Failed to update System Attention Indicator. Likely means some bug with OPAL interacting with FSP.",
>      "compare_mode": "regex",
>      "label": "FSPSAIFailed",
> -   "last_tag": "skiboot-5.6.0",
> +   "last_tag": "v5.10",
>      "log_level": "LOG_LEVEL_CRITICAL",
>      "pattern": "Update SAI cmd failed [rc=[0-9]+]."
>     },
> @@ -212,7 +252,7 @@
>      "advice": "OPAL ran out of memory while trying to allocate an FSP message in SAI code path. This indicates an OPAL bug that caused OPAL to run out of memory.",
>      "compare_mode": "regex",
>      "label": "SAIMallocFail",
> -   "last_tag": "skiboot-5.6.0",
> +   "last_tag": "v5.10",
>      "log_level": "LOG_LEVEL_CRITICAL",
>      "pattern": ".*: Memory allocation failed."
>     },
> @@ -220,7 +260,7 @@
>      "advice": "Error in queueing message to FSP in SAI code path. Likely an OPAL bug.",
>      "compare_mode": "regex",
>      "label": "SAIQueueFail",
> -   "last_tag": "skiboot-5.6.0",
> +   "last_tag": "v5.10",
>      "log_level": "LOG_LEVEL_CRITICAL",
>      "pattern": ".*: Failed to queue the message"
>     },
> @@ -228,7 +268,7 @@
>      "advice": "Possibly an error on FSP side, OPAL failed to read state from FSP.",
>      "compare_mode": "regex",
>      "label": "FSPSAIGetFailed",
> -   "last_tag": "skiboot-5.6.0",
> +   "last_tag": "v5.10",
>      "log_level": "LOG_LEVEL_CRITICAL",
>      "pattern": "Read real SAI cmd failed [rc = 0x[0-9a-f]+]."
>     },
> @@ -236,7 +276,7 @@
>      "advice": "OPAL ran out of memory: OPAL bug.",
>      "compare_mode": "regex",
>      "label": "FSPGetSAIMallocFail",
> -   "last_tag": "skiboot-5.6.0",
> +   "last_tag": "v5.10",
>      "log_level": "LOG_LEVEL_CRITICAL",
>      "pattern": ".*: Memory allocation failed."
>     },
> @@ -244,7 +284,7 @@
>      "advice": "Failed to queue message to FSP: OPAL bug",
>      "compare_mode": "regex",
>      "label": "FSPGetSAIQueueFail",
> -   "last_tag": "skiboot-5.6.0",
> +   "last_tag": "v5.10",
>      "log_level": "LOG_LEVEL_CRITICAL",
>      "pattern": ".*: Failed to queue the message"
>     },
> @@ -252,7 +292,7 @@
>      "advice": "OPAL failed to allocate memory for FSP LED command. Likely an OPAL bug led to out of memory.",
>      "compare_mode": "string",
>      "label": "FSPLEDRequestMallocFail",
> -   "last_tag": "skiboot-5.6.0",
> +   "last_tag": "v5.10",
>      "log_level": "LOG_LEVEL_CRITICAL",
>      "pattern": "SPCN set command node allocation failed"
>     },
> @@ -260,7 +300,7 @@
>      "advice": "Inconsistent state between OPAL and FSP in code path for handling failure of fetching error log from FSP. Likely a bug in interaction between FSP and OPAL.",
>      "compare_mode": "regex",
>      "label": "ElogFetchFailureInconsistent",
> -   "last_tag": "skiboot-5.6.0",
> +   "last_tag": "v5.10",
>      "log_level": "LOG_LEVEL_CRITICAL",
>      "pattern": ".*: Inconsistent internal list state !"
>     },
> @@ -268,7 +308,7 @@
>      "advice": "Bug in interaction between FSP and OPAL. We expected there to be a pending read from FSP but the list was empty.",
>      "compare_mode": "regex",
>      "label": "ElogQueueInconsistent",
> -   "last_tag": "skiboot-5.6.0",
> +   "last_tag": "v5.10",
>      "log_level": "LOG_LEVEL_CRITICAL",
>      "pattern": ".*: Inconsistent internal list state !"
>     },
> @@ -276,7 +316,7 @@
>      "advice": "We expected there to be an entry in the list of error logs for the error log we're fetching information for. There wasn't. This means there's a bug.",
>      "compare_mode": "regex",
>      "label": "ElogInfoInconsistentState",
> -   "last_tag": "skiboot-5.6.0",
> +   "last_tag": "v5.10",
>      "log_level": "LOG_LEVEL_CRITICAL",
>      "pattern": ".*: Inconsistent internal list state !"
>     },
> @@ -284,7 +324,7 @@
>      "advice": "Inconsistent state while reading error log from FSP. Bug in OPAL and FSP interaction.",
>      "compare_mode": "regex",
>      "label": "ElogReadInconsistentState",
> -   "last_tag": "skiboot-5.6.0",
> +   "last_tag": "v5.10",
>      "log_level": "LOG_LEVEL_CRITICAL",
>      "pattern": ".*: Inconsistent internal list state !"
>     },
> @@ -292,7 +332,7 @@
>      "advice": "Error in acknowledging heartbeat to FSP. This could mean the FSP has gone away or it may mean the FSP may kill us for missing too many heartbeats.",
>      "compare_mode": "string",
>      "label": "FSPHeartbeatAckError",
> -   "last_tag": "skiboot-5.6.0",
> +   "last_tag": "v5.10",
>      "log_level": "LOG_LEVEL_CRITICAL",
>      "pattern": "SURV: Heartbeat Acknowledgment error from FSP"
>     },
> @@ -300,7 +340,7 @@
>      "advice": "Bug in interaction between FSP and OPAL. The state maintained by OPAL didn't match what the FSP sent.",
>      "compare_mode": "regex",
>      "label": "ElogListInconsistent",
> -   "last_tag": "skiboot-5.6.0",
> +   "last_tag": "v5.10",
>      "log_level": "LOG_LEVEL_CRITICAL",
>      "pattern": ".*: Inconsistent internal list state !"
>     },
> @@ -308,7 +348,7 @@
>      "advice": "Bug in skiboot/FSP code for EPOW event handling",
>      "compare_mode": "string",
>      "label": "EPOWSignatureMismatch",
> -   "last_tag": "skiboot-5.6.0",
> +   "last_tag": "v5.10",
>      "log_level": "LOG_LEVEL_CRITICAL",
>      "pattern": "Signature mismatch"
>     },
> @@ -316,7 +356,7 @@
>      "advice": "Queueing a message from OPAL to FSP failed. This is likely due to either an OPAL bug or the FSP going away.",
>      "compare_mode": "string",
>      "label": "EPOWMessageQueueFailed",
> -   "last_tag": "skiboot-5.6.0",
> +   "last_tag": "v5.10",
>      "log_level": "LOG_LEVEL_CRITICAL",
>      "pattern": "OPAL EPOW message queuing failed"
>     },
> @@ -324,7 +364,7 @@
>      "advice": "OPAL doesn't know that the BMC supports PNOR access commands. This will be a bug in the OPAL support for this BMC.",
>      "compare_mode": "string",
>      "label": "PNORAccessYeahButNoBut",
> -   "last_tag": "skiboot-5.6.0",
> +   "last_tag": "v5.10",
>      "log_level": "LOG_LEVEL_CRITICAL",
>      "pattern": "PNOR BUG: access requested but BMC doesn't support request"
>     },
> @@ -332,7 +372,7 @@
>      "advice": "In negotiating PNOR access with BMC, we got an odd/invalid request from the BMC. Likely a bug in OPAL/BMC interaction.",
>      "compare_mode": "regex",
>      "label": "InvalidPNORAccessRequest",
> -   "last_tag": "skiboot-5.6.0",
> +   "last_tag": "v5.10",
>      "log_level": "LOG_LEVEL_CRITICAL",
>      "pattern": "invalid PNOR access requested: [0-9a-f]+"
>     },
> @@ -340,119 +380,127 @@
>      "advice": "Likely bug in what sent us the OCC reset.",
>      "compare_mode": "regex",
>      "label": "SELUnknownOCCReset",
> -   "last_tag": "skiboot-5.6.0",
> +   "last_tag": "v5.10",
>      "log_level": "LOG_LEVEL_CRITICAL",
>      "pattern": "SEL message to reset an unknown OCC (sensor ID 0x[0-9a-f]+)"
>     },
>     {
> -   "advice": "The resource is not registered in the resource_map[] array, but it should be otherwise the resource cannot be measured if trusted mode is on.",
> +   "advice": "Compatible secureboot driver not found. Probably, hostboot/mambo/skiboot has updated the /ibm,secureboot/compatible without adding a driver that supports it.",
>      "compare_mode": "regex",
> -   "label": "STBMeasureResourceNotMapped",
> -   "last_tag": "skiboot-5.6.0",
> +   "label": "SecureBootNotCompatible",
> +   "last_tag": "v5.10",
>      "log_level": "LOG_LEVEL_CRITICAL",
> -   "pattern": "STB: .* failed, resource [0-9]+ not mapped"
> +   "pattern": ".* FAILED, /ibm,secureboot not compatible."
>     },
>     {
> -   "advice": "Null resource passed to tb_measure. This has come from the resource load framework and likely indicates a bug in the framework.",
> +   "advice": "Hash algorithm invalid, secureboot containers version 1 requires sha512. If you're running the latest POWER firmware, so probably there is a bug in the device tree received from hostboot.",
>      "compare_mode": "regex",
> -   "label": "STBNullResourceReceived",
> -   "last_tag": "skiboot-5.6.0",
> -   "log_level": "LOG_LEVEL_CRITICAL",
> -   "pattern": "STB: .* failed: resource .*, buf null"
> +   "label": "HashAlgoInvalid",
> +   "last_tag": "v5.10",
> +   "log_level": "LOG_LEVEL_LOW",
> +   "pattern": "secureboot init FAILED, hash-algo=.* not supported"
>     },
>     {
> -   "advice": "Unregistered resources can be verified, but not measured. The resource should be registered in the resource_map[] array, otherwise the resource cannot be measured if trusted mode is on.",
> +   "advice": "Compatible CVC driver not found. Probably, hostboot/mambo/skiboot has updated the /ibm,secureboot/compatible without adding a driver that supports it.",
>      "compare_mode": "regex",
> -   "label": "STBVerifyResourceNotMapped",
> -   "last_tag": "skiboot-5.6.0",
> -   "log_level": "LOG_LEVEL_HIGH",
> -   "pattern": "STB: verifying the non-expected resource [0-9]+"
> +   "label": "CVCNotCompatible",
> +   "last_tag": "v5.10",
> +   "log_level": "LOG_LEVEL_CRITICAL",
> +   "pattern": ".* FAILED, /ibm,secureboot not compatible."
>     },
>     {
>      "advice": "STB_DEBUG should not be enabled in production. PCR read operation failed. This TSS implementation is part of hostboot, but the source code is shared with skiboot. 1) The hostboot TSS may have been updated. 2) This may be caused by the short I2C timeout and can be fixed by increasing the timeout. Otherwise this indicates a bug in the TSS or the TPM device driver. Each one has local debug macros that can help.",
>      "compare_mode": "regex",
>      "label": "STBPCRReadFailed",
> -   "last_tag": "skiboot-5.6.0",
> +   "last_tag": "v5.10",
>      "log_level": "LOG_LEVEL_CRITICAL",
> -   "pattern": "STB: tpmCmdPcrRead() failed: tpm[0-9]+, alg=[0-9a-f]+, pcr[0-9]+, rc=[0-9]+"
> +   "pattern": "tpmCmdPcrRead() failed: tpm[0-9]+, alg=[0-9a-f]+, pcr[0-9]+, rc=[0-9]+"
>     },
>     {
>      "advice": "TPM node already registered. The same node is being registered twice or there is a tpm node duplicate in the device tree",
>      "compare_mode": "regex",
>      "label": "TPMAlreadyRegistered",
> -   "last_tag": "skiboot-5.6.0",
> +   "last_tag": "v5.10",
>      "log_level": "LOG_LEVEL_HIGH",
> -   "pattern": "TPM: tpm[0-9]+ already registered"
> +   "pattern": "tpm[0-9]+ already registered"
>     },
>     {
>      "advice": "linux,sml-base property not found. This indicates a Hostboot bug if the property really doesn't exist in the tpm node.",
>      "compare_mode": "regex",
>      "label": "TPMSmlBaseNotFound",
> -   "last_tag": "skiboot-5.6.0",
> +   "last_tag": "v5.10",
>      "log_level": "LOG_LEVEL_CRITICAL",
> -   "pattern": "TPM: linux,sml-base property not found tpm node (0x[0-9a-f]+|nil)"
> +   "pattern": "linux,sml-base property not found tpm node (0x[0-9a-f]+|nil)"
>     },
>     {
>      "advice": "linux,sml-size property not found. This indicates a Hostboot bug if the property really doesn't exist in the tpm node.",
>      "compare_mode": "regex",
>      "label": "TPMSmlSizeNotFound",
> -   "last_tag": "skiboot-5.6.0",
> +   "last_tag": "v5.10",
>      "log_level": "LOG_LEVEL_CRITICAL",
> -   "pattern": "TPM: linux,sml-size property not found, tpm node (0x[0-9a-f]+|nil)"
> +   "pattern": "linux,sml-size property not found, tpm node (0x[0-9a-f]+|nil)"
>     },
>     {
>      "advice": "Hostboot creates and adds entries to the event log. The failed init function is part of hostboot, but the source code is shared with skiboot. If the hostboot TpmLogMgr code (or friends) has been updated, the changes need to be applied to skiboot as well.",
>      "compare_mode": "regex",
>      "label": "TPMInitEventLogFailed",
> -   "last_tag": "skiboot-5.6.0",
> +   "last_tag": "v5.10",
>      "log_level": "LOG_LEVEL_CRITICAL",
> -   "pattern": "TPM: eventlog init failed: tpm[0-9]+ rc=[0-9]+"
> +   "pattern": "eventlog init failed: tpm[0-9]+ rc=[0-9]+"
>     },
>     {
> -   "advice": "TPM already initialized. Check if tpm is being initialized more than once.",
> -   "compare_mode": "string",
> -   "label": "TPMAlreadyInitialized",
> -   "last_tag": "skiboot-5.6.0",
> -   "log_level": "LOG_LEVEL_HIGH",
> -   "pattern": "TPM: tpm device(s) already initialized"
> +   "advice": "TpmLogMgr failed to add a new event to the event log. TpmLogMgr is part of hostboot, but the source code is shared with skiboot. 1) The hostboot TpmLogMgr code may have been updated. 2) Check that max event log size was not reached and log marshall executed with no error. Enabling the trace routines in trustedbootUtils.H may help.",
> +   "compare_mode": "regex",
> +   "label": "STBAddEventFailed",
> +   "last_tag": "v5.10",
> +   "log_level": "LOG_LEVEL_CRITICAL",
> +   "pattern": ".* -> evLog[0-9]+ FAILED: pcr[0-9]+ evType=0x[0-9a-f]+ rc=[0-9]+"
>     },
>     {
> -   "advice": "No TPM chip has been initialized. We may not have a compatible tpm driver or there is no tpm node in the device tree with the expected bindings.",
> -   "compare_mode": "string",
> -   "label": "NoTPMRegistered",
> -   "last_tag": "skiboot-5.6.0",
> +   "advice": "PCR extend operation failed. This TSS implementation is part of hostboot, but the source code is shared with skiboot. 1) The hostboot TSS may have been updated. 2) This may be caused by the short I2C timeout and can be fixed by increasing the timeout. Otherwise, this indicates a bug in the TSS or the TPM device driver. Each one has local debug macros that can help.",
> +   "compare_mode": "regex",
> +   "label": "STBPCRExtendFailed",
> +   "last_tag": "v5.10",
>      "log_level": "LOG_LEVEL_CRITICAL",
> -   "pattern": "TPM: no tpm chip registered"
> +   "pattern": ".* -> tpm[0-9]+ FAILED: pcr[0-9]+ rc=[0-9]+"
>     },
>     {
> -   "advice": "TpmLogMgr failed to add a new event to the event log. TpmLogMgr is part of hostboot, but the source code is shared with skiboot. 1) The hostboot TpmLogMgr code may have been updated. 2) Check that max event log size was not reached and log marshall executed with no error. Enabling the trace routines in trustedbootUtils.H may help.",
> +   "advice": "Compatible trustedboot driver not found. Probably, hostboot/mambo/skiboot has updated the /ibm,secureboot/compatible without adding a driver that supports it.",
>      "compare_mode": "regex",
> -   "label": "STBAddEventFailed",
> -   "last_tag": "skiboot-5.6.0",
> +   "label": "TrustedBootNotCompatible",
> +   "last_tag": "v5.10",
>      "log_level": "LOG_LEVEL_CRITICAL",
> -   "pattern": "TPM: .* -> elog[0-9]+ FAILED: pcr[0-9]+ et=[0-9a-f]+ rc=[0-9]+"
> +   "pattern": "trustedboot init FAILED, '.*' node not compatible."
>     },
>     {
> -   "advice": "PCR extend operation failed. This TSS implementation is part of hostboot, but the source code is shared with skiboot. 1) The hostboot TSS may have been updated. 2) This may be caused by the short I2C timeout and can be fixed by increasing the timeout. Otherwise, this indicates a bug in the TSS or the TPM device driver. Each one has local debug macros that can help.",
> +   "advice": "This is a bug in the trustedboot_measure() caller, which is passing an unknown resource_id.",
>      "compare_mode": "regex",
> -   "label": "STBPCRExtendFailed",
> -   "last_tag": "skiboot-5.6.0",
> +   "label": "ResourceNotMeasuredUnknown",
> +   "last_tag": "v5.10",
>      "log_level": "LOG_LEVEL_CRITICAL",
> -   "pattern": "TPM: .* -> tpm[0-9]+ FAILED: pcr[0-9]+ rc=[0-9]+"
> +   "pattern": "resource NOT MEASURED, resource_id=[0-9]+ unknown"
>     },
>     {
> -   "advice": "ibm,secureboot already registered. Check if rom_init called twice or the same driver is probed twice",
> +   "advice": "This is a bug. The resource cannot be measured because it is not mapped to a PCR in the resources[] array.",
>      "compare_mode": "regex",
> -   "label": "ROMAlreadyRegistered",
> -   "last_tag": "skiboot-5.6.0",
> -   "log_level": "LOG_LEVEL_HIGH",
> -   "pattern": "ROM: .* driver already registered"
> +   "label": "ResourceNotMappedToPCR",
> +   "last_tag": "v5.10",
> +   "log_level": "LOG_LEVEL_CRITICAL",
> +   "pattern": ".* NOT MEASURED, it's not mapped to a PCR"
> +  },
> +  {
> +   "advice": "This is a bug. The trustedboot_measure() caller provided a NULL container.",
> +   "compare_mode": "regex",
> +   "label": "ResourceNotMeasuredNull",
> +   "last_tag": "v5.10",
> +   "log_level": "LOG_LEVEL_CRITICAL",
> +   "pattern": ".* NOT MEASURED, it's null"
>     },
>     {
>      "advice": "Either the tpm device or the tpm-i2c interface doesn't seem to be working properly. Check the return code (rc) for further details.",
>      "compare_mode": "regex",
>      "label": "TPMReadCmdReady",
> -   "last_tag": "skiboot-5.6.0",
> +   "last_tag": "v5.10",
>      "log_level": "LOG_LEVEL_CRITICAL",
>      "pattern": "NUVOTON: fail to read sts.commandReady, rc=[0-9]+"
>     },
> @@ -460,7 +508,7 @@
>      "advice": "Either the tpm device or the tpm-i2c interface doesn't seem to be working properly. Check the return code (rc) for further details.",
>      "compare_mode": "regex",
>      "label": "TPMWriteCmdReady",
> -   "last_tag": "skiboot-5.6.0",
> +   "last_tag": "v5.10",
>      "log_level": "LOG_LEVEL_CRITICAL",
>      "pattern": "NUVOTON: fail to write sts.commandReady, rc=[0-9]+"
>     },
> @@ -468,7 +516,7 @@
>      "advice": "The command ready bit of the tpm status register is taking longer to be settled. Either the wait time need to be increased or the TPM device is not functional.",
>      "compare_mode": "regex",
>      "label": "TPMCmdReadyTimeout",
> -   "last_tag": "skiboot-5.6.0",
> +   "last_tag": "v5.10",
>      "log_level": "LOG_LEVEL_CRITICAL",
>      "pattern": "NUVOTON: timeout on sts.commandReady, delay > [0-9]+"
>     },
> @@ -476,7 +524,7 @@
>      "advice": "Either the tpm device or the tpm-i2c interface doesn't seem to be working properly. Check the return code (rc) for further details.",
>      "compare_mode": "regex",
>      "label": "TPMReadFifoStatus",
> -   "last_tag": "skiboot-5.6.0",
> +   "last_tag": "v5.10",
>      "log_level": "LOG_LEVEL_CRITICAL",
>      "pattern": "NUVOTON: fail to read fifo status: mask [0-9a-f]+, expected [0-9a-f]+, rc=[0-9]+"
>     },
> @@ -484,7 +532,7 @@
>      "advice": "Either the tpm device or the tpm-i2c interface doesn't seem to be working properly. Check the return code (rc) for further details.",
>      "compare_mode": "regex",
>      "label": "TPMReadDataAvail",
> -   "last_tag": "skiboot-5.6.0",
> +   "last_tag": "v5.10",
>      "log_level": "LOG_LEVEL_CRITICAL",
>      "pattern": "NUVOTON: fail to read sts.dataAvail, rc=[0-9]+"
>     },
> @@ -492,7 +540,7 @@
>      "advice": "The data avail bit of the tpm status register is taking longer to be settled. Either the wait time need to be increased or the TPM device is not functional.",
>      "compare_mode": "regex",
>      "label": "TPMDataAvailBitTimeout",
> -   "last_tag": "skiboot-5.6.0",
> +   "last_tag": "v5.10",
>      "log_level": "LOG_LEVEL_CRITICAL",
>      "pattern": "NUVOTON: timeout on sts.dataAvail, delay=[0-9]+/[0-9]+"
>     },
> @@ -500,7 +548,7 @@
>      "advice": "Either the tpm device or the tpm-i2c interface doesn't seem to be working properly. Check the return code (rc) for further details.",
>      "compare_mode": "regex",
>      "label": "TPMReadBurstCount",
> -   "last_tag": "skiboot-5.6.0",
> +   "last_tag": "v5.10",
>      "log_level": "LOG_LEVEL_CRITICAL",
>      "pattern": "NUVOTON: fail to read sts.burstCount, rc=[0-9]+"
>     },
> @@ -508,7 +556,7 @@
>      "advice": "The burstcount bit of the tpm status register is taking longer to be settled. Either the wait time need to be increased or the TPM device is not functional.",
>      "compare_mode": "regex",
>      "label": "TPMBurstCountTimeout",
> -   "last_tag": "skiboot-5.6.0",
> +   "last_tag": "v5.10",
>      "log_level": "LOG_LEVEL_CRITICAL",
>      "pattern": "NUVOTON: timeout on sts.burstCount, delay=[0-9]+/[0-9]+"
>     },
> @@ -516,7 +564,7 @@
>      "advice": "Either the tpm device or the tpm-i2c interface doesn't seem to be working properly. Check the return code (rc) for further details.",
>      "compare_mode": "regex",
>      "label": "TPMWriteFifo",
> -   "last_tag": "skiboot-5.6.0",
> +   "last_tag": "v5.10",
>      "log_level": "LOG_LEVEL_CRITICAL",
>      "pattern": "NUVOTON: fail to write fifo, count=[0-9]+, rc=[0-9]+"
>     },
> @@ -524,7 +572,7 @@
>      "advice": "The write to the TPM FIFO overflowed, the TPM is not expecting more data. This indicates a bug in the TPM device driver.",
>      "compare_mode": "string",
>      "label": "TPMWriteFifoNotExpecting",
> -   "last_tag": "skiboot-5.6.0",
> +   "last_tag": "v5.10",
>      "log_level": "LOG_LEVEL_CRITICAL",
>      "pattern": "NUVOTON: write FIFO overflow, not expecting more data"
>     },
> @@ -532,7 +580,7 @@
>      "advice": "Either the tpm device or the tpm-i2c interface doesn't seem to be working properly. Check the return code (rc) for further details.",
>      "compare_mode": "regex",
>      "label": "TPMWriteFifoLastByte",
> -   "last_tag": "skiboot-5.6.0",
> +   "last_tag": "v5.10",
>      "log_level": "LOG_LEVEL_CRITICAL",
>      "pattern": "NUVOTON: fail to write fifo (last byte), count=[0-9]+, rc=[0-9]+"
>     },
> @@ -540,7 +588,7 @@
>      "advice": "The write to the TPM FIFO overflowed. It is expecting more data even though we think we are done. This indicates a bug in the TPM device driver.",
>      "compare_mode": "string",
>      "label": "TPMWriteFifoExpecting",
> -   "last_tag": "skiboot-5.6.0",
> +   "last_tag": "v5.10",
>      "log_level": "LOG_LEVEL_CRITICAL",
>      "pattern": "TPM: write FIFO overflow, expecting more data"
>     },
> @@ -548,7 +596,7 @@
>      "advice": "The read from TPM FIFO overflowed. It is expecting more data even though we think we are done. This indicates a bug in the TPM device driver.",
>      "compare_mode": "regex",
>      "label": "TPMReadFifoOverflow",
> -   "last_tag": "skiboot-5.6.0",
> +   "last_tag": "v5.10",
>      "log_level": "LOG_LEVEL_CRITICAL",
>      "pattern": "NUVOTON: overflow on fifo read, c=[0-9]+, bc=[0-9]+, bl=[0-9]+"
>     },
> @@ -556,7 +604,7 @@
>      "advice": "Either the tpm device or the tpm-i2c interface doesn't seem to be working properly. Check the return code (rc) for further details.",
>      "compare_mode": "regex",
>      "label": "TPMReadFifo",
> -   "last_tag": "skiboot-5.6.0",
> +   "last_tag": "v5.10",
>      "log_level": "LOG_LEVEL_CRITICAL",
>      "pattern": "NUVOTON: fail to read fifo, count=[0-9]+, rc=[0-9]+"
>     },
> @@ -564,7 +612,7 @@
>      "advice": "TPM device is not initialized. This indicates a bug in the tpm_transmit() caller",
>      "compare_mode": "string",
>      "label": "TPMDeviceNotInitialized",
> -   "last_tag": "skiboot-5.6.0",
> +   "last_tag": "v5.10",
>      "log_level": "LOG_LEVEL_CRITICAL",
>      "pattern": "TPM: tpm device not initialized"
>     },
> @@ -572,7 +620,7 @@
>      "advice": "Either the tpm device or the tpm-i2c interface doesn't seem to be working properly. Check the return code (rc) for further details.",
>      "compare_mode": "regex",
>      "label": "TPMWriteGo",
> -   "last_tag": "skiboot-5.6.0",
> +   "last_tag": "v5.10",
>      "log_level": "LOG_LEVEL_CRITICAL",
>      "pattern": "NUVOTON: fail to write sts.go, rc=[0-9]+"
>     },
> @@ -580,63 +628,47 @@
>      "advice": "Either the tpm device or the tpm-i2c interface doesn't seem to be working properly. Check the return code (rc) for further details.",
>      "compare_mode": "regex",
>      "label": "TPMReleaseTpm",
> -   "last_tag": "skiboot-5.6.0",
> +   "last_tag": "v5.10",
>      "log_level": "LOG_LEVEL_CRITICAL",
>      "pattern": "NUVOTON: fail to release tpm, rc=[0-9]+"
>     },
>     {
> -   "advice": "Hostboot creates the ibm,secureboot node and the hash-algo property. Check that the ibm,secureboot node layout has not changed.",
> -   "compare_mode": "regex",
> -   "label": "ROMHashAlgorithmInvalid",
> -   "last_tag": "skiboot-5.6.0",
> -   "log_level": "LOG_LEVEL_CRITICAL",
> -   "pattern": "ROM: hash-algo=.* not expected"
> -  },
> -  {
> -   "advice": "tpm_i2c_request_send was passed an invalid bus ID. This indicates a tb_init() bug.",
> -   "compare_mode": "regex",
> -   "label": "TPMI2CInvalidBusID",
> -   "last_tag": "skiboot-5.6.0",
> +   "advice": "opal_i2c_request was passed an invalid bus ID. This has likely come from the OS rather than OPAL and thus could indicate an OS bug rather than an OPAL bug.",
> +   "compare_mode": "string",
> +   "label": "I2CInvalidBusID",
> +   "last_tag": "v5.10",
>      "log_level": "LOG_LEVEL_CRITICAL",
> -   "pattern": "TPM: Invalid bus_id=[0-9a-f]+"
> +   "pattern": "I2C: Invalid 'bus_id' passed to the OPAL"
>     },
>     {
> -   "advice": "OPAL failed to allocate memory for an i2c_request. This points to an OPAL bug as OPAL run out of memory and this should never happen.",
> +   "advice": "OPAL failed to allocate memory for an i2c_request. This points to an OPAL bug as OPAL ran out of memory and this should never happen.",
>      "compare_mode": "string",
> -   "label": "TPMI2CAllocationFailed",
> -   "last_tag": "skiboot-5.6.0",
> +   "label": "I2CFailedAllocation",
> +   "last_tag": "v5.10",
>      "log_level": "LOG_LEVEL_CRITICAL",
> -   "pattern": "TPM: i2c_alloc_req failed"
> +   "pattern": "I2C: Failed to allocate 'i2c_request'"
>     },
>     {
> -   "advice": "Hostboot creates the ibm,secureboot node and the hash-algo property. Check that the ibm,secureboot node layout has not changed.",
> +   "advice": "i2c_request_send was passed an invalid bus ID. This indicates a bug.",
>      "compare_mode": "regex",
> -   "label": "ROMHashAlgorithmInvalid",
> -   "last_tag": "skiboot-5.6.0",
> -   "log_level": "LOG_LEVEL_CRITICAL",
> -   "pattern": "ROM: hash-algo=.* not expected"
> -  },
> -  {
> -   "advice": "opal_i2c_request was passed an invalid bus ID. This has likely come from the OS rather than OPAL and thus could indicate an OS bug rather than an OPAL bug.",
> -   "compare_mode": "string",
>      "label": "I2CInvalidBusID",
> -   "last_tag": "skiboot-5.6.0",
> +   "last_tag": "v5.10",
>      "log_level": "LOG_LEVEL_CRITICAL",
> -   "pattern": "I2C: Invalid 'bus_id' passed to the OPAL"
> +   "pattern": "I2C: Invalid bus_id=[0-9a-f]+"
>     },
>     {
> -   "advice": "OPAL failed to allocate memory for an i2c_request. This points to an OPAL bug as OPAL ran out of memory and this should never happen.",
> +   "advice": "OPAL failed to allocate memory for an i2c_request. This points to an OPAL bug as OPAL run out of memory and this should never happen.",
>      "compare_mode": "string",
> -   "label": "I2CFailedAllocation",
> -   "last_tag": "skiboot-5.6.0",
> +   "label": "I2CAllocationFailed",
> +   "last_tag": "v5.10",
>      "log_level": "LOG_LEVEL_CRITICAL",
> -   "pattern": "I2C: Failed to allocate 'i2c_request'"
> +   "pattern": "I2C: i2c_alloc_req failed"
>     },
>     {
>      "advice": "HBRT triggered assert: you need to debug HBRT",
>      "compare_mode": "string",
>      "label": "HBRTassert",
> -   "last_tag": "skiboot-5.6.0",
> +   "last_tag": "v5.10",
>      "log_level": "LOG_LEVEL_CRITICAL",
>      "pattern": "HBRT: Assertion from hostservices"
>     },
> @@ -644,7 +676,7 @@
>      "advice": "Firmware should have aborted boot",
>      "compare_mode": "string",
>      "label": "HBRTlidLoadFail",
> -   "last_tag": "skiboot-5.6.0",
> +   "last_tag": "v5.10",
>      "log_level": "LOG_LEVEL_CRITICAL",
>      "pattern": "HBRT: LID Load failed"
>     },
> @@ -652,7 +684,7 @@
>      "advice": "You are running in manufacturing mode. This mode should only be enabled in a factory during manufacturing.",
>      "compare_mode": "string",
>      "label": "ManufacturingMode",
> -   "last_tag": "skiboot-5.6.0",
> +   "last_tag": "v5.10",
>      "log_level": "LOG_LEVEL_MEDIUM",
>      "pattern": "PLAT: Manufacturing mode ON"
>     },
> @@ -660,7 +692,7 @@
>      "advice": "OPAL could not find an NVRAM partition on the system flash. Check that the system flash has a valid partition table, and that the firmware build process has added a NVRAM partition.",
>      "compare_mode": "string",
>      "label": "NVRAMNoPartition",
> -   "last_tag": "skiboot-5.6.0",
> +   "last_tag": "v5.10",
>      "log_level": "LOG_LEVEL_CRITICAL",
>      "pattern": "FLASH: Can't parse ffs info for NVRAM"
>     },
> @@ -668,7 +700,7 @@
>      "advice": "OPAL Found multiple system flash. Since we've already found a system flash we are going to use that one but this ordering is not guaranteed so may change in future.",
>      "compare_mode": "regex",
>      "label": "SystemFlashMultiple",
> -   "last_tag": "skiboot-5.6.0",
> +   "last_tag": "v5.10",
>      "log_level": "LOG_LEVEL_HIGH",
>      "pattern": "FLASH: Attempted to register multiple system flash: .*"
>     },
> @@ -676,7 +708,7 @@
>      "advice": "System flash isn't formatted as expected. This could mean several OPAL utilities do not function as expected. e.g. gard, pflash.",
>      "compare_mode": "string",
>      "label": "NoFFS",
> -   "last_tag": "skiboot-5.6.0",
> +   "last_tag": "v5.10",
>      "log_level": "LOG_LEVEL_HIGH",
>      "pattern": "FLASH: No ffs info; using raw device only"
>     },
> @@ -684,7 +716,7 @@
>      "advice": "No system flash was found. Check for missing calls flash_register(...).",
>      "compare_mode": "regex",
>      "label": "SystemFlashNotFound",
> -   "last_tag": "skiboot-5.6.0",
> +   "last_tag": "v5.10",
>      "log_level": "LOG_LEVEL_HIGH",
>      "pattern": "FLASH: Can't load resource id:[0-9]+. No system flash found"
>     },
> @@ -692,7 +724,7 @@
>      "advice": "OPAL was called with a bad token. On POWER8 and earlier, Linux kernels had a bug where they wouldn't check if firmware supported particular OPAL calls before making them. It is, in fact, harmless for these cases. On systems newer than POWER8, this should never happen and indicates a kernel bug where OPAL_CHECK_TOKEN isn't being called where it should be.",
>      "compare_mode": "regex",
>      "label": "OPALBadToken",
> -   "last_tag": "skiboot-5.6.0",
> +   "last_tag": "v5.10",
>      "log_level": "LOG_LEVEL_CRITICAL",
>      "pattern": "OPAL: Called with bad token [0-9]+ !"
>     },
> @@ -700,7 +732,7 @@
>      "advice": "Currently removing a poller is DANGEROUS and MUST NOT be done in production firmware.",
>      "compare_mode": "string",
>      "label": "UnsupportedOPALdelpoller",
> -   "last_tag": "skiboot-5.6.0",
> +   "last_tag": "v5.10",
>      "log_level": "LOG_LEVEL_CRITICAL",
>      "pattern": "WARNING: Unsupported opal_del_poller. Interesting locking issues, don't call this."
>     },
> @@ -708,7 +740,7 @@
>      "advice": "Recursion detected in opal_run_pollers(). This indicates a bug in OPAL where a poller ended up running pollers, which doesn't lead anywhere good.",
>      "compare_mode": "string",
>      "label": "OPALPollerRecursion",
> -   "last_tag": "skiboot-5.6.0",
> +   "last_tag": "v5.10",
>      "log_level": "LOG_LEVEL_CRITICAL",
>      "pattern": "OPAL: Poller recursion detected."
>     },
> @@ -716,7 +748,7 @@
>      "advice": "opal_run_pollers() was called with a lock held, which could lead to deadlock if not excessively lucky/careful.",
>      "compare_mode": "string",
>      "label": "OPALPollerWithLock",
> -   "last_tag": "skiboot-5.6.0",
> +   "last_tag": "v5.10",
>      "log_level": "LOG_LEVEL_CRITICAL",
>      "pattern": "Running pollers with lock held !"
>     },
> @@ -724,7 +756,7 @@
>      "advice": "Your firmware is buggy, see the 64 messages complaining about opal_run_pollers with lock held.",
>      "compare_mode": "string",
>      "label": "OPALPollerWithLock64",
> -   "last_tag": "skiboot-5.6.0",
> +   "last_tag": "v5.10",
>      "log_level": "LOG_LEVEL_CRITICAL",
>      "pattern": "opal_run_pollers with lock run 64 times, disabling warning."
>     },
> @@ -732,7 +764,7 @@
>      "advice": "OPAL will parse the Flattened Device Tree(FDT), which can be generated from different firmware sources. During expansion of FDT, OPAL observed a node assigned multiple times (a duplicate). This indicates either a Hostboot bug *OR*, more likely, a bug in the platform XML. Check the platform XML for duplicate IDs for this type of device. Because of this duplicate node, OPAL won't add the hardware device found with a duplicate node ID into DT, rendering the corresponding device not functional.",
>      "compare_mode": "regex",
>      "label": "DTHasDuplicateNodeID",
> -   "last_tag": "skiboot-5.6.0",
> +   "last_tag": "v5.10",
>      "log_level": "LOG_LEVEL_CRITICAL",
>      "pattern": "DT: Found duplicate node: .*"
>     },
> @@ -740,7 +772,7 @@
>      "advice": "OPAL hit an assert(). During normal usage (even testing) we should never hit an assert. There are other code paths for controlled shutdown/panic in the event of catastrophic errors.",
>      "compare_mode": "regex",
>      "label": "FailedAssert",
> -   "last_tag": "skiboot-5.6.0",
> +   "last_tag": "v5.10",
>      "log_level": "LOG_LEVEL_CRITICAL",
>      "pattern": "Assert fail: .*"
>     },
> @@ -748,7 +780,7 @@
>      "advice": "Device tree didn't contain enough information to correctly report back PCI inventory. Service processor is likely to be missing information about what hardware is physically present in the machine.",
>      "compare_mode": "regex",
>      "label": "FirenzePCIInventory",
> -   "last_tag": "skiboot-5.6.0",
> +   "last_tag": "v5.10",
>      "log_level": "LOG_LEVEL_CRITICAL",
>      "pattern": "No chip device node for PHB[0-9a-f]+"
>     },
> @@ -756,7 +788,7 @@
>      "advice": "More PCI inventory than we can send to service processor. The service processor will have an incomplete view of the world.",
>      "compare_mode": "regex",
>      "label": "FirenzePCIInventoryTooLarge",
> -   "last_tag": "skiboot-5.6.0",
> +   "last_tag": "v5.10",
>      "log_level": "LOG_LEVEL_CRITICAL",
>      "pattern": "Inventory ([0-9]+ bytes) too large"
>     },
> @@ -764,7 +796,7 @@
>      "advice": "Error communicating with service processor when sending PCI Inventory.",
>      "compare_mode": "regex",
>      "label": "FirenzePCIInventoryError",
> -   "last_tag": "skiboot-5.6.0",
> +   "last_tag": "v5.10",
>      "log_level": "LOG_LEVEL_CRITICAL",
>      "pattern": "Error [0-9]+ sending inventory"
>     },
> @@ -772,7 +804,7 @@
>      "advice": "On Firenze platforms, I2C is used to control power to PCI slots. Errors here mean we may be in trouble in regards to PCI slot power on/off.",
>      "compare_mode": "regex",
>      "label": "FirenzePCII2CError",
> -   "last_tag": "skiboot-5.6.0",
> +   "last_tag": "v5.10",
>      "log_level": "LOG_LEVEL_CRITICAL",
>      "pattern": "Error [0-9]+ from I2C request on slot [0-9a-f]+"
>     },
> @@ -780,7 +812,7 @@
>      "advice": "Likely a coding error: invalid I2C request.",
>      "compare_mode": "regex",
>      "label": "FirenzePCII2CInvalid",
> -   "last_tag": "skiboot-5.6.0",
> +   "last_tag": "v5.10",
>      "log_level": "LOG_LEVEL_CRITICAL",
>      "pattern": "Invalid I2C request [0-9]+ on slot [0-9a-f]+"
>     },
> @@ -788,7 +820,7 @@
>      "advice": "The Firenze platform uses I2C to control power to PCI slots. Something went wrong in the state machine controlling that. Slots may/may not have power.",
>      "compare_mode": "regex",
>      "label": "FirenzePCISlotI2CStateError",
> -   "last_tag": "skiboot-5.6.0",
> +   "last_tag": "v5.10",
>      "log_level": "LOG_LEVEL_CRITICAL",
>      "pattern": "Wrong state [0-9a-f]+ on slot [0-9a-f]+"
>     },
> @@ -796,7 +828,7 @@
>      "advice": "Unexpected state in the FIRENZE PCI Slot state machine. This could mean PCI is not functioning correctly.",
>      "compare_mode": "regex",
>      "label": "FirenzePCISlotGPowerState",
> -   "last_tag": "skiboot-5.6.0",
> +   "last_tag": "v5.10",
>      "log_level": "LOG_LEVEL_CRITICAL",
>      "pattern": "[0-9a-f]+ GPOWER: Unexpected state [0-9a-f]+"
>     },
> @@ -804,7 +836,7 @@
>      "advice": "Unexpected state in the FIRENZE PCI Slot state machine. This could mean PCI is not functioning correctly.",
>      "compare_mode": "regex",
>      "label": "FirenzePCISlotSPowerState",
> -   "last_tag": "skiboot-5.6.0",
> +   "last_tag": "v5.10",
>      "log_level": "LOG_LEVEL_CRITICAL",
>      "pattern": "[0-9a-f]+ SPOWER: Unexpected state [0-9a-f]+"
>     },
> @@ -812,15 +844,31 @@
>      "advice": "AST BMC is likely to be non-functional when accessed from host.",
>      "compare_mode": "string",
>      "label": "ASTBMCFailedSetEnables",
> -   "last_tag": "skiboot-5.6.0",
> +   "last_tag": "v5.10",
>      "log_level": "LOG_LEVEL_CRITICAL",
>      "pattern": "ASTBMC: failed to set enables"
>     },
>     {
> +   "advice": "HDAT secureboot_tpm_info structure described a chip id, but no tpm node was found under that xscom chip id. This is most certainly a hostboot bug.",
> +   "compare_mode": "regex",
> +   "label": "HDATNoTpmForChipId",
> +   "last_tag": "v5.10",
> +   "log_level": "LOG_LEVEL_CRITICAL",
> +   "pattern": "TPM node not found for chip_id=[0-9]+ (HB bug)"
> +  },
> +  {
> +   "advice": "HDAT secureboot_tpm_info structure described a chip id, but the xscom node for the chip_id was not found. This is most certainly a firmware bug.",
> +   "compare_mode": "regex",
> +   "label": "HDATBadChipIdForTPM",
> +   "last_tag": "v5.10",
> +   "log_level": "LOG_LEVEL_CRITICAL",
> +   "pattern": "xscom node not found for chip_id=[0-9]+"
> +  },
> +  {
>      "advice": "HDAT described an invalid size for timebase, which means there's a disagreement between HDAT and OPAL. This is most certainly a firmware bug.",
>      "compare_mode": "regex",
>      "label": "HDATBadTimebaseSize",
> -   "last_tag": "skiboot-5.6.0",
> +   "last_tag": "v5.10",
>      "log_level": "LOG_LEVEL_CRITICAL",
>      "pattern": "HDAT: Bad timebase size [0-9]+ @ (0x[0-9a-f]+|nil)"
>     }
> 

Acked-by: Alex Hung <alex.hung@canonical.com>
diff mbox series

Patch

diff --git a/data/olog.json b/data/olog.json
index 3084300..86892da 100644
--- a/data/olog.json
+++ b/data/olog.json
@@ -1,10 +1,50 @@ 
 {
  "olog_error_warning_patterns": [
   {
+   "advice": "The NPU fence status did not update as expected. This could be the result of a firmware or hardware bug. OpenCAPI functionality could be broken.",
+   "compare_mode": "regex",
+   "label": "OCAPIFenceStatusTimeout",
+   "last_tag": "v5.10",
+   "log_level": "LOG_LEVEL_CRITICAL",
+   "pattern": "OCAPI: Fence status for brick [0-9]+ stuck: expected 0x[0-9a-f]+, got 0x[0-9a-f]+"
+  },
+  {
+   "advice": "There was an error attempting to send a reset signal over I2C to the OpenCAPI device.",
+   "compare_mode": "regex",
+   "label": "OCAPIDeviceResetFailed",
+   "last_tag": "v5.10",
+   "log_level": "LOG_LEVEL_CRITICAL",
+   "pattern": "OCAPI: Error writing I2C reset signal: [0-9]+"
+  },
+  {
+   "advice": "OpenCAPI IRQ setup failed. This is probably a firmware bug. OpenCAPI functionality will be broken.",
+   "compare_mode": "string",
+   "label": "OCAPIIRQAllocationFailed",
+   "last_tag": "v5.10",
+   "log_level": "LOG_LEVEL_CRITICAL",
+   "pattern": "OCAPI: Couldn't allocate interrupts for NPU"
+  },
+  {
+   "advice": "The OpenCAPI link training procedure failed. This indicates a hardware or firmware bug. OpenCAPI functionality will not be available on this link.",
+   "compare_mode": "regex",
+   "label": "OCAPILinkTrainingFailed",
+   "last_tag": "v5.10",
+   "log_level": "LOG_LEVEL_CRITICAL",
+   "pattern": "OCAPI: Link [0-9]+ on chip [0-9]+ failed to train"
+  },
+  {
+   "advice": "Firmware probably ran out of memory creating NPU slot. OpenCAPI functionality could be broken.",
+   "compare_mode": "string",
+   "label": "OCAPICannotCreatePHBSlot",
+   "last_tag": "v5.10",
+   "log_level": "LOG_LEVEL_CRITICAL",
+   "pattern": "OCAPI: Cannot create PHB slot"
+  },
+  {
    "advice": "NVLink not functional",
    "compare_mode": "regex",
    "label": "NPUisnInvalid",
-   "last_tag": "skiboot-5.6.0",
+   "last_tag": "v5.10",
    "log_level": "LOG_LEVEL_CRITICAL",
    "pattern": "NPU[0-9]+: isn 0x[0-9a-f]+ not valid for this NPU"
   },
@@ -12,7 +52,7 @@ 
    "advice": "Firmware probably ran out of memory creating NPU slot. NVLink functionality could be broken.",
    "compare_mode": "string",
    "label": "NPUCannotCreatePHBSlot",
-   "last_tag": "skiboot-5.6.0",
+   "last_tag": "v5.10",
    "log_level": "LOG_LEVEL_CRITICAL",
    "pattern": "NPU: Cannot create PHB slot"
   },
@@ -20,7 +60,7 @@ 
    "advice": "OPAL failed to add the power-mgt device tree node. This could mean that firmware ran out of memory, or there's a bug somewhere.",
    "compare_mode": "string",
    "label": "CreateDTPowerMgtNodeFail",
-   "last_tag": "skiboot-5.6.0",
+   "last_tag": "v5.10",
    "log_level": "LOG_LEVEL_CRITICAL",
    "pattern": "creating dt node /ibm,opal/power-mgt failed"
   },
@@ -28,7 +68,7 @@ 
    "advice": "An error condition occurred in sleep/winkle engines timer state machine. Dumping debug information to root-cause. OPAL/skiboot may be stuck on some operation that requires SLW timer state machine (e.g. core powersaving)",
    "compare_mode": "string",
    "label": "SLWRegisterDump",
-   "last_tag": "skiboot-5.6.0",
+   "last_tag": "v5.10",
    "log_level": "LOG_LEVEL_LOW",
    "pattern": "SLW: Register state:"
   },
@@ -36,31 +76,31 @@ 
    "advice": "The SLeep/Winkle Engine (SLW) failed to increment the generation number within our timeout period (it *should* have done so within ~10us, not >1ms. OPAL uses the SLW timer to schedule some operations, but can fall back to the (much less frequent OPAL poller, which although does not affect functionality, runs *much* less frequently. This could have the effect of slow I2C operations (for example). It may also mean that you *had* an increase in jitter, due to slow interactions with SLW. This error may also occur if the machine is connected to via soft FSI.",
    "compare_mode": "string",
    "label": "SLWTimerStuck",
-   "last_tag": "skiboot-5.6.0",
+   "last_tag": "v5.10",
    "log_level": "LOG_LEVEL_CRITICAL",
    "pattern": "SLW: timer stuck, falling back to OPAL pollers. You will likely have slower I2C and may have experienced increased jitter."
   },
   {
-   "advice": "No GPU/NPU slot information was found. NVLink2 functionality will not work.",
+   "advice": "No GPU/NPU2 slot information was found. NVLink2 functionality will not work.",
    "compare_mode": "string",
    "label": "NPUNoPHBSlotLabel",
-   "last_tag": "skiboot-5.6.0",
+   "last_tag": "v5.10",
    "log_level": "LOG_LEVEL_CRITICAL",
-   "pattern": "NPU: Cannot find GPU slot information"
+   "pattern": "NPU2: Cannot find GPU slot information"
   },
   {
-   "advice": "Firmware probably ran out of memory creating NPU slot. NVLink functionality could be broken.",
+   "advice": "Firmware probably ran out of memory creating NPU2 slot. NVLink functionality could be broken.",
    "compare_mode": "string",
    "label": "NPUCannotCreatePHBSlot",
-   "last_tag": "skiboot-5.6.0",
+   "last_tag": "v5.10",
    "log_level": "LOG_LEVEL_CRITICAL",
-   "pattern": "NPU: Cannot create PHB slot"
+   "pattern": "NPU2: Cannot create PHB slot"
   },
   {
    "advice": "OPAL marked a Centaur (memory buffer) as offline due to CENTAUR_ERR_OFFLINE_THRESHOLD (10) consecutive errors on XSCOMs to this centaur. OPAL will now return OPAL_XSCOM_CTR_OFFLINED and not try any further XSCOMs. This is likely caused by some hardware issue or PRD recovery issue.",
    "compare_mode": "regex",
    "label": "CentaurOfflinedTooManyErrors",
-   "last_tag": "skiboot-5.6.0",
+   "last_tag": "v5.10",
    "log_level": "LOG_LEVEL_CRITICAL",
    "pattern": "CENTAUR: Offlined [0-9a-f]+ due to > [0-9]+ consecutive XSCOM errors. No more XSCOMs to this centaur."
   },
@@ -68,7 +108,7 @@ 
    "advice": "xscom_read was called with an invalid partid. There's likely a bug somewhere in the stack that's causing someone to try an xscom_read on something that isn't a processor, Centaur or EX chiplet.",
    "compare_mode": "regex",
    "label": "XSCOMReadInvalidPartID",
-   "last_tag": "skiboot-5.6.0",
+   "last_tag": "v5.10",
    "log_level": "LOG_LEVEL_CRITICAL",
    "pattern": ".*: invalid XSCOM partid 0x[0-9a-f]+"
   },
@@ -76,7 +116,7 @@ 
    "advice": "xscom_write was called with an invalid partid. There's likely a bug somewhere in the stack that's causing someone to try an xscom_write on something that isn't a processor, Centaur or EX chiplet.",
    "compare_mode": "regex",
    "label": "XSCOMWriteInvalidPartID",
-   "last_tag": "skiboot-5.6.0",
+   "last_tag": "v5.10",
    "log_level": "LOG_LEVEL_CRITICAL",
    "pattern": ".*: invalid XSCOM partid 0x[0-9a-f]+"
   },
@@ -84,7 +124,7 @@ 
    "advice": "The HOMER base address for a chip was not valid. This means that OCC (On Chip Controller) will be non-functional and CPU frequency scaling will not be functional. CPU may be set to a safe, low frequency. Power savings in CPU idle or CPU hotplug may be impacted.",
    "compare_mode": "regex",
    "label": "OCCInvalidHomerBase",
-   "last_tag": "skiboot-5.6.0",
+   "last_tag": "v5.10",
    "log_level": "LOG_LEVEL_CRITICAL",
    "pattern": "OCC: Chip: [0-9a-f]+ homer_base is not valid"
   },
@@ -92,7 +132,7 @@ 
    "advice": "The pstate table for a chip was not valid. This means that OCC (On Chip Controller) will be non-functional and CPU frequency scaling will not be functional. CPU may be set to a low, safe frequency. This means that CPU idle states and CPU frequency scaling may not be functional.",
    "compare_mode": "regex",
    "label": "OCCInvalidPStateTable",
-   "last_tag": "skiboot-5.6.0",
+   "last_tag": "v5.10",
    "log_level": "LOG_LEVEL_CRITICAL",
    "pattern": "OCC: Chip: [0-9a-f]+ PState table is not valid"
   },
@@ -100,7 +140,7 @@ 
    "advice": "The pstate table for the first chip was not valid. This means that OCC (On Chip Controller) will be non-functional. This means that CPU idle states and CPU frequency scaling will not be functional as OPAL doesn't populate the device tree with pstates in this case.",
    "compare_mode": "string",
    "label": "OCCInvalidPStateTableDT",
-   "last_tag": "skiboot-5.6.0",
+   "last_tag": "v5.10",
    "log_level": "LOG_LEVEL_CRITICAL",
    "pattern": "OCC: PState table is not valid"
   },
@@ -108,7 +148,7 @@ 
    "advice": "The PState table layout version is not supported in P9. So OPAL will not parse the PState table. CPU frequency scaling will not be functional as frequency and pstate-ids are not added to DT.",
    "compare_mode": "regex",
    "label": "OCCInvalidVersion02",
-   "last_tag": "skiboot-5.6.0",
+   "last_tag": "v5.10",
    "log_level": "LOG_LEVEL_CRITICAL",
    "pattern": "OCC: Version [0-9a-f]+ is not supported in P9"
   },
@@ -116,7 +156,7 @@ 
    "advice": "The PState table layout version is not supported in P8. So OPAL will not parse the PState table. CPU frequency scaling will not be functional as frequency and pstate-ids are not added to DT.",
    "compare_mode": "regex",
    "label": "OCCInvalidVersion90",
-   "last_tag": "skiboot-5.6.0",
+   "last_tag": "v5.10",
    "log_level": "LOG_LEVEL_CRITICAL",
    "pattern": "OCC: Version [0-9a-f]+ is not supported in P8"
   },
@@ -124,7 +164,7 @@ 
    "advice": "The PState table layout version is not supported. So OPAL will not parse the PState table. CPU frequency scaling will not be functional as OPAL doesn't populate the device tree with pstates.",
    "compare_mode": "regex",
    "label": "OCCUnsupportedVersion",
-   "last_tag": "skiboot-5.6.0",
+   "last_tag": "v5.10",
    "log_level": "LOG_LEVEL_CRITICAL",
    "pattern": "OCC: Unsupported pstate table layout version [0-9]+"
   },
@@ -132,7 +172,7 @@ 
    "advice": "The min pstate is greater than the max pstate, this could be due to corrupted/invalid data in OCC-OPAL shared memory region. So OPAL has not added pstates to device tree. This means that CPU Frequency management will not be functional in the host.",
    "compare_mode": "regex",
    "label": "OCCInvalidPStateLimits",
-   "last_tag": "skiboot-5.6.0",
+   "last_tag": "v5.10",
    "log_level": "LOG_LEVEL_CRITICAL",
    "pattern": "OCC: Invalid pstate limits. Pmin([0-9]+) > Pmax ([0-9]+)"
   },
@@ -140,15 +180,15 @@ 
    "advice": "The nominal pstate is greater than the max pstate, this could be due to corrupted/invalid data in OCC-OPAL shared memory region. So OPAL has limited the nominal pstate to max pstate.",
    "compare_mode": "regex",
    "label": "OCCInvalidNominalPState",
-   "last_tag": "skiboot-5.6.0",
+   "last_tag": "v5.10",
    "log_level": "LOG_LEVEL_CRITICAL",
    "pattern": "OCC: Clipping nominal pstate([0-9]+) to Pmax([0-9]+)"
   },
   {
-   "advice": "The number of pstates is outside the valid range (currently <=1 or > 128), so OPAL has not added pstates to the device tree. This means that OCC (On Chip Controller) will be non-functional. This means that CPU idle states and CPU frequency scaling will not be functional.",
+   "advice": "The number of pstates is outside the valid range (currently <=1 or > 128 on p8, >255 on P9), so OPAL has not added pstates to the device tree. This means that OCC (On Chip Controller) will be non-functional. This means that CPU idle states and CPU frequency scaling will not be functional.",
    "compare_mode": "regex",
    "label": "OCCInvalidPStateRange",
-   "last_tag": "skiboot-5.6.0",
+   "last_tag": "v5.10",
    "log_level": "LOG_LEVEL_CRITICAL",
    "pattern": "OCC: OCC range is not valid; No of pstates = [0-9]+"
   },
@@ -156,7 +196,7 @@ 
    "advice": "Device tree node /ibm,opal/power-mgt not found. OPAL didn't add pstate information to device tree. Probably a firmware bug.",
    "compare_mode": "string",
    "label": "OCCDTNodeNotFound",
-   "last_tag": "skiboot-5.6.0",
+   "last_tag": "v5.10",
    "log_level": "LOG_LEVEL_CRITICAL",
    "pattern": "OCC: dt node /ibm,opal/power-mgt not found"
   },
@@ -164,7 +204,7 @@ 
    "advice": "Failed to create /ibm,opal/power-mgt/occ. Per-chip pstate properties are not added to Device Tree.",
    "compare_mode": "regex",
    "label": "OCCDTFailedNodeCreation",
-   "last_tag": "skiboot-5.6.0",
+   "last_tag": "v5.10",
    "log_level": "LOG_LEVEL_CRITICAL",
    "pattern": "OCC: Failed to create /ibm,opal/power-mgt/occ@[0-9a-f]+"
   },
@@ -172,7 +212,7 @@ 
    "advice": "ENOMEM while allocating OCC load message. OCCs not started, consequently no power/frequency scaling will be functional.",
    "compare_mode": "string",
    "label": "OCCload_reqENOMEM",
-   "last_tag": "skiboot-5.6.0",
+   "last_tag": "v5.10",
    "log_level": "LOG_LEVEL_CRITICAL",
    "pattern": "OCC: Could not allocate occ_load_req"
   },
@@ -180,7 +220,7 @@ 
    "advice": "Invalid request for loading OCCs. Power and frequency management not functional",
    "compare_mode": "regex",
    "label": "OCCLoadInvalidScope",
-   "last_tag": "skiboot-5.6.0",
+   "last_tag": "v5.10",
    "log_level": "LOG_LEVEL_CRITICAL",
    "pattern": "OCC: Load message with invalid scope 0x[0-9a-f]+"
   },
@@ -188,7 +228,7 @@ 
    "advice": "Invalid request for resetting OCCs. Power and frequency management not functional",
    "compare_mode": "regex",
    "label": "OCCResetInvalidScope",
-   "last_tag": "skiboot-5.6.0",
+   "last_tag": "v5.10",
    "log_level": "LOG_LEVEL_CRITICAL",
    "pattern": "OCC: Reset message with invalid scope 0x[0-9a-f]+"
   },
@@ -196,7 +236,7 @@ 
    "advice": "OPAL had trouble creating the sensor nodes in the device tree as there was already one there. This indicates either the device tree from Hostboot already filled in sensors or an OPAL bug.",
    "compare_mode": "regex",
    "label": "OPALSensorNodeExists",
-   "last_tag": "skiboot-5.6.0",
+   "last_tag": "v5.10",
    "log_level": "LOG_LEVEL_CRITICAL",
    "pattern": "SENSOR: node .* exists"
   },
@@ -204,7 +244,7 @@ 
    "advice": "Failed to update System Attention Indicator. Likely means some bug with OPAL interacting with FSP.",
    "compare_mode": "regex",
    "label": "FSPSAIFailed",
-   "last_tag": "skiboot-5.6.0",
+   "last_tag": "v5.10",
    "log_level": "LOG_LEVEL_CRITICAL",
    "pattern": "Update SAI cmd failed [rc=[0-9]+]."
   },
@@ -212,7 +252,7 @@ 
    "advice": "OPAL ran out of memory while trying to allocate an FSP message in SAI code path. This indicates an OPAL bug that caused OPAL to run out of memory.",
    "compare_mode": "regex",
    "label": "SAIMallocFail",
-   "last_tag": "skiboot-5.6.0",
+   "last_tag": "v5.10",
    "log_level": "LOG_LEVEL_CRITICAL",
    "pattern": ".*: Memory allocation failed."
   },
@@ -220,7 +260,7 @@ 
    "advice": "Error in queueing message to FSP in SAI code path. Likely an OPAL bug.",
    "compare_mode": "regex",
    "label": "SAIQueueFail",
-   "last_tag": "skiboot-5.6.0",
+   "last_tag": "v5.10",
    "log_level": "LOG_LEVEL_CRITICAL",
    "pattern": ".*: Failed to queue the message"
   },
@@ -228,7 +268,7 @@ 
    "advice": "Possibly an error on FSP side, OPAL failed to read state from FSP.",
    "compare_mode": "regex",
    "label": "FSPSAIGetFailed",
-   "last_tag": "skiboot-5.6.0",
+   "last_tag": "v5.10",
    "log_level": "LOG_LEVEL_CRITICAL",
    "pattern": "Read real SAI cmd failed [rc = 0x[0-9a-f]+]."
   },
@@ -236,7 +276,7 @@ 
    "advice": "OPAL ran out of memory: OPAL bug.",
    "compare_mode": "regex",
    "label": "FSPGetSAIMallocFail",
-   "last_tag": "skiboot-5.6.0",
+   "last_tag": "v5.10",
    "log_level": "LOG_LEVEL_CRITICAL",
    "pattern": ".*: Memory allocation failed."
   },
@@ -244,7 +284,7 @@ 
    "advice": "Failed to queue message to FSP: OPAL bug",
    "compare_mode": "regex",
    "label": "FSPGetSAIQueueFail",
-   "last_tag": "skiboot-5.6.0",
+   "last_tag": "v5.10",
    "log_level": "LOG_LEVEL_CRITICAL",
    "pattern": ".*: Failed to queue the message"
   },
@@ -252,7 +292,7 @@ 
    "advice": "OPAL failed to allocate memory for FSP LED command. Likely an OPAL bug led to out of memory.",
    "compare_mode": "string",
    "label": "FSPLEDRequestMallocFail",
-   "last_tag": "skiboot-5.6.0",
+   "last_tag": "v5.10",
    "log_level": "LOG_LEVEL_CRITICAL",
    "pattern": "SPCN set command node allocation failed"
   },
@@ -260,7 +300,7 @@ 
    "advice": "Inconsistent state between OPAL and FSP in code path for handling failure of fetching error log from FSP. Likely a bug in interaction between FSP and OPAL.",
    "compare_mode": "regex",
    "label": "ElogFetchFailureInconsistent",
-   "last_tag": "skiboot-5.6.0",
+   "last_tag": "v5.10",
    "log_level": "LOG_LEVEL_CRITICAL",
    "pattern": ".*: Inconsistent internal list state !"
   },
@@ -268,7 +308,7 @@ 
    "advice": "Bug in interaction between FSP and OPAL. We expected there to be a pending read from FSP but the list was empty.",
    "compare_mode": "regex",
    "label": "ElogQueueInconsistent",
-   "last_tag": "skiboot-5.6.0",
+   "last_tag": "v5.10",
    "log_level": "LOG_LEVEL_CRITICAL",
    "pattern": ".*: Inconsistent internal list state !"
   },
@@ -276,7 +316,7 @@ 
    "advice": "We expected there to be an entry in the list of error logs for the error log we're fetching information for. There wasn't. This means there's a bug.",
    "compare_mode": "regex",
    "label": "ElogInfoInconsistentState",
-   "last_tag": "skiboot-5.6.0",
+   "last_tag": "v5.10",
    "log_level": "LOG_LEVEL_CRITICAL",
    "pattern": ".*: Inconsistent internal list state !"
   },
@@ -284,7 +324,7 @@ 
    "advice": "Inconsistent state while reading error log from FSP. Bug in OPAL and FSP interaction.",
    "compare_mode": "regex",
    "label": "ElogReadInconsistentState",
-   "last_tag": "skiboot-5.6.0",
+   "last_tag": "v5.10",
    "log_level": "LOG_LEVEL_CRITICAL",
    "pattern": ".*: Inconsistent internal list state !"
   },
@@ -292,7 +332,7 @@ 
    "advice": "Error in acknowledging heartbeat to FSP. This could mean the FSP has gone away or it may mean the FSP may kill us for missing too many heartbeats.",
    "compare_mode": "string",
    "label": "FSPHeartbeatAckError",
-   "last_tag": "skiboot-5.6.0",
+   "last_tag": "v5.10",
    "log_level": "LOG_LEVEL_CRITICAL",
    "pattern": "SURV: Heartbeat Acknowledgment error from FSP"
   },
@@ -300,7 +340,7 @@ 
    "advice": "Bug in interaction between FSP and OPAL. The state maintained by OPAL didn't match what the FSP sent.",
    "compare_mode": "regex",
    "label": "ElogListInconsistent",
-   "last_tag": "skiboot-5.6.0",
+   "last_tag": "v5.10",
    "log_level": "LOG_LEVEL_CRITICAL",
    "pattern": ".*: Inconsistent internal list state !"
   },
@@ -308,7 +348,7 @@ 
    "advice": "Bug in skiboot/FSP code for EPOW event handling",
    "compare_mode": "string",
    "label": "EPOWSignatureMismatch",
-   "last_tag": "skiboot-5.6.0",
+   "last_tag": "v5.10",
    "log_level": "LOG_LEVEL_CRITICAL",
    "pattern": "Signature mismatch"
   },
@@ -316,7 +356,7 @@ 
    "advice": "Queueing a message from OPAL to FSP failed. This is likely due to either an OPAL bug or the FSP going away.",
    "compare_mode": "string",
    "label": "EPOWMessageQueueFailed",
-   "last_tag": "skiboot-5.6.0",
+   "last_tag": "v5.10",
    "log_level": "LOG_LEVEL_CRITICAL",
    "pattern": "OPAL EPOW message queuing failed"
   },
@@ -324,7 +364,7 @@ 
    "advice": "OPAL doesn't know that the BMC supports PNOR access commands. This will be a bug in the OPAL support for this BMC.",
    "compare_mode": "string",
    "label": "PNORAccessYeahButNoBut",
-   "last_tag": "skiboot-5.6.0",
+   "last_tag": "v5.10",
    "log_level": "LOG_LEVEL_CRITICAL",
    "pattern": "PNOR BUG: access requested but BMC doesn't support request"
   },
@@ -332,7 +372,7 @@ 
    "advice": "In negotiating PNOR access with BMC, we got an odd/invalid request from the BMC. Likely a bug in OPAL/BMC interaction.",
    "compare_mode": "regex",
    "label": "InvalidPNORAccessRequest",
-   "last_tag": "skiboot-5.6.0",
+   "last_tag": "v5.10",
    "log_level": "LOG_LEVEL_CRITICAL",
    "pattern": "invalid PNOR access requested: [0-9a-f]+"
   },
@@ -340,119 +380,127 @@ 
    "advice": "Likely bug in what sent us the OCC reset.",
    "compare_mode": "regex",
    "label": "SELUnknownOCCReset",
-   "last_tag": "skiboot-5.6.0",
+   "last_tag": "v5.10",
    "log_level": "LOG_LEVEL_CRITICAL",
    "pattern": "SEL message to reset an unknown OCC (sensor ID 0x[0-9a-f]+)"
   },
   {
-   "advice": "The resource is not registered in the resource_map[] array, but it should be otherwise the resource cannot be measured if trusted mode is on.",
+   "advice": "Compatible secureboot driver not found. Probably, hostboot/mambo/skiboot has updated the /ibm,secureboot/compatible without adding a driver that supports it.",
    "compare_mode": "regex",
-   "label": "STBMeasureResourceNotMapped",
-   "last_tag": "skiboot-5.6.0",
+   "label": "SecureBootNotCompatible",
+   "last_tag": "v5.10",
    "log_level": "LOG_LEVEL_CRITICAL",
-   "pattern": "STB: .* failed, resource [0-9]+ not mapped"
+   "pattern": ".* FAILED, /ibm,secureboot not compatible."
   },
   {
-   "advice": "Null resource passed to tb_measure. This has come from the resource load framework and likely indicates a bug in the framework.",
+   "advice": "Hash algorithm invalid, secureboot containers version 1 requires sha512. If you're running the latest POWER firmware, so probably there is a bug in the device tree received from hostboot.",
    "compare_mode": "regex",
-   "label": "STBNullResourceReceived",
-   "last_tag": "skiboot-5.6.0",
-   "log_level": "LOG_LEVEL_CRITICAL",
-   "pattern": "STB: .* failed: resource .*, buf null"
+   "label": "HashAlgoInvalid",
+   "last_tag": "v5.10",
+   "log_level": "LOG_LEVEL_LOW",
+   "pattern": "secureboot init FAILED, hash-algo=.* not supported"
   },
   {
-   "advice": "Unregistered resources can be verified, but not measured. The resource should be registered in the resource_map[] array, otherwise the resource cannot be measured if trusted mode is on.",
+   "advice": "Compatible CVC driver not found. Probably, hostboot/mambo/skiboot has updated the /ibm,secureboot/compatible without adding a driver that supports it.",
    "compare_mode": "regex",
-   "label": "STBVerifyResourceNotMapped",
-   "last_tag": "skiboot-5.6.0",
-   "log_level": "LOG_LEVEL_HIGH",
-   "pattern": "STB: verifying the non-expected resource [0-9]+"
+   "label": "CVCNotCompatible",
+   "last_tag": "v5.10",
+   "log_level": "LOG_LEVEL_CRITICAL",
+   "pattern": ".* FAILED, /ibm,secureboot not compatible."
   },
   {
    "advice": "STB_DEBUG should not be enabled in production. PCR read operation failed. This TSS implementation is part of hostboot, but the source code is shared with skiboot. 1) The hostboot TSS may have been updated. 2) This may be caused by the short I2C timeout and can be fixed by increasing the timeout. Otherwise this indicates a bug in the TSS or the TPM device driver. Each one has local debug macros that can help.",
    "compare_mode": "regex",
    "label": "STBPCRReadFailed",
-   "last_tag": "skiboot-5.6.0",
+   "last_tag": "v5.10",
    "log_level": "LOG_LEVEL_CRITICAL",
-   "pattern": "STB: tpmCmdPcrRead() failed: tpm[0-9]+, alg=[0-9a-f]+, pcr[0-9]+, rc=[0-9]+"
+   "pattern": "tpmCmdPcrRead() failed: tpm[0-9]+, alg=[0-9a-f]+, pcr[0-9]+, rc=[0-9]+"
   },
   {
    "advice": "TPM node already registered. The same node is being registered twice or there is a tpm node duplicate in the device tree",
    "compare_mode": "regex",
    "label": "TPMAlreadyRegistered",
-   "last_tag": "skiboot-5.6.0",
+   "last_tag": "v5.10",
    "log_level": "LOG_LEVEL_HIGH",
-   "pattern": "TPM: tpm[0-9]+ already registered"
+   "pattern": "tpm[0-9]+ already registered"
   },
   {
    "advice": "linux,sml-base property not found. This indicates a Hostboot bug if the property really doesn't exist in the tpm node.",
    "compare_mode": "regex",
    "label": "TPMSmlBaseNotFound",
-   "last_tag": "skiboot-5.6.0",
+   "last_tag": "v5.10",
    "log_level": "LOG_LEVEL_CRITICAL",
-   "pattern": "TPM: linux,sml-base property not found tpm node (0x[0-9a-f]+|nil)"
+   "pattern": "linux,sml-base property not found tpm node (0x[0-9a-f]+|nil)"
   },
   {
    "advice": "linux,sml-size property not found. This indicates a Hostboot bug if the property really doesn't exist in the tpm node.",
    "compare_mode": "regex",
    "label": "TPMSmlSizeNotFound",
-   "last_tag": "skiboot-5.6.0",
+   "last_tag": "v5.10",
    "log_level": "LOG_LEVEL_CRITICAL",
-   "pattern": "TPM: linux,sml-size property not found, tpm node (0x[0-9a-f]+|nil)"
+   "pattern": "linux,sml-size property not found, tpm node (0x[0-9a-f]+|nil)"
   },
   {
    "advice": "Hostboot creates and adds entries to the event log. The failed init function is part of hostboot, but the source code is shared with skiboot. If the hostboot TpmLogMgr code (or friends) has been updated, the changes need to be applied to skiboot as well.",
    "compare_mode": "regex",
    "label": "TPMInitEventLogFailed",
-   "last_tag": "skiboot-5.6.0",
+   "last_tag": "v5.10",
    "log_level": "LOG_LEVEL_CRITICAL",
-   "pattern": "TPM: eventlog init failed: tpm[0-9]+ rc=[0-9]+"
+   "pattern": "eventlog init failed: tpm[0-9]+ rc=[0-9]+"
   },
   {
-   "advice": "TPM already initialized. Check if tpm is being initialized more than once.",
-   "compare_mode": "string",
-   "label": "TPMAlreadyInitialized",
-   "last_tag": "skiboot-5.6.0",
-   "log_level": "LOG_LEVEL_HIGH",
-   "pattern": "TPM: tpm device(s) already initialized"
+   "advice": "TpmLogMgr failed to add a new event to the event log. TpmLogMgr is part of hostboot, but the source code is shared with skiboot. 1) The hostboot TpmLogMgr code may have been updated. 2) Check that max event log size was not reached and log marshall executed with no error. Enabling the trace routines in trustedbootUtils.H may help.",
+   "compare_mode": "regex",
+   "label": "STBAddEventFailed",
+   "last_tag": "v5.10",
+   "log_level": "LOG_LEVEL_CRITICAL",
+   "pattern": ".* -> evLog[0-9]+ FAILED: pcr[0-9]+ evType=0x[0-9a-f]+ rc=[0-9]+"
   },
   {
-   "advice": "No TPM chip has been initialized. We may not have a compatible tpm driver or there is no tpm node in the device tree with the expected bindings.",
-   "compare_mode": "string",
-   "label": "NoTPMRegistered",
-   "last_tag": "skiboot-5.6.0",
+   "advice": "PCR extend operation failed. This TSS implementation is part of hostboot, but the source code is shared with skiboot. 1) The hostboot TSS may have been updated. 2) This may be caused by the short I2C timeout and can be fixed by increasing the timeout. Otherwise, this indicates a bug in the TSS or the TPM device driver. Each one has local debug macros that can help.",
+   "compare_mode": "regex",
+   "label": "STBPCRExtendFailed",
+   "last_tag": "v5.10",
    "log_level": "LOG_LEVEL_CRITICAL",
-   "pattern": "TPM: no tpm chip registered"
+   "pattern": ".* -> tpm[0-9]+ FAILED: pcr[0-9]+ rc=[0-9]+"
   },
   {
-   "advice": "TpmLogMgr failed to add a new event to the event log. TpmLogMgr is part of hostboot, but the source code is shared with skiboot. 1) The hostboot TpmLogMgr code may have been updated. 2) Check that max event log size was not reached and log marshall executed with no error. Enabling the trace routines in trustedbootUtils.H may help.",
+   "advice": "Compatible trustedboot driver not found. Probably, hostboot/mambo/skiboot has updated the /ibm,secureboot/compatible without adding a driver that supports it.",
    "compare_mode": "regex",
-   "label": "STBAddEventFailed",
-   "last_tag": "skiboot-5.6.0",
+   "label": "TrustedBootNotCompatible",
+   "last_tag": "v5.10",
    "log_level": "LOG_LEVEL_CRITICAL",
-   "pattern": "TPM: .* -> elog[0-9]+ FAILED: pcr[0-9]+ et=[0-9a-f]+ rc=[0-9]+"
+   "pattern": "trustedboot init FAILED, '.*' node not compatible."
   },
   {
-   "advice": "PCR extend operation failed. This TSS implementation is part of hostboot, but the source code is shared with skiboot. 1) The hostboot TSS may have been updated. 2) This may be caused by the short I2C timeout and can be fixed by increasing the timeout. Otherwise, this indicates a bug in the TSS or the TPM device driver. Each one has local debug macros that can help.",
+   "advice": "This is a bug in the trustedboot_measure() caller, which is passing an unknown resource_id.",
    "compare_mode": "regex",
-   "label": "STBPCRExtendFailed",
-   "last_tag": "skiboot-5.6.0",
+   "label": "ResourceNotMeasuredUnknown",
+   "last_tag": "v5.10",
    "log_level": "LOG_LEVEL_CRITICAL",
-   "pattern": "TPM: .* -> tpm[0-9]+ FAILED: pcr[0-9]+ rc=[0-9]+"
+   "pattern": "resource NOT MEASURED, resource_id=[0-9]+ unknown"
   },
   {
-   "advice": "ibm,secureboot already registered. Check if rom_init called twice or the same driver is probed twice",
+   "advice": "This is a bug. The resource cannot be measured because it is not mapped to a PCR in the resources[] array.",
    "compare_mode": "regex",
-   "label": "ROMAlreadyRegistered",
-   "last_tag": "skiboot-5.6.0",
-   "log_level": "LOG_LEVEL_HIGH",
-   "pattern": "ROM: .* driver already registered"
+   "label": "ResourceNotMappedToPCR",
+   "last_tag": "v5.10",
+   "log_level": "LOG_LEVEL_CRITICAL",
+   "pattern": ".* NOT MEASURED, it's not mapped to a PCR"
+  },
+  {
+   "advice": "This is a bug. The trustedboot_measure() caller provided a NULL container.",
+   "compare_mode": "regex",
+   "label": "ResourceNotMeasuredNull",
+   "last_tag": "v5.10",
+   "log_level": "LOG_LEVEL_CRITICAL",
+   "pattern": ".* NOT MEASURED, it's null"
   },
   {
    "advice": "Either the tpm device or the tpm-i2c interface doesn't seem to be working properly. Check the return code (rc) for further details.",
    "compare_mode": "regex",
    "label": "TPMReadCmdReady",
-   "last_tag": "skiboot-5.6.0",
+   "last_tag": "v5.10",
    "log_level": "LOG_LEVEL_CRITICAL",
    "pattern": "NUVOTON: fail to read sts.commandReady, rc=[0-9]+"
   },
@@ -460,7 +508,7 @@ 
    "advice": "Either the tpm device or the tpm-i2c interface doesn't seem to be working properly. Check the return code (rc) for further details.",
    "compare_mode": "regex",
    "label": "TPMWriteCmdReady",
-   "last_tag": "skiboot-5.6.0",
+   "last_tag": "v5.10",
    "log_level": "LOG_LEVEL_CRITICAL",
    "pattern": "NUVOTON: fail to write sts.commandReady, rc=[0-9]+"
   },
@@ -468,7 +516,7 @@ 
    "advice": "The command ready bit of the tpm status register is taking longer to be settled. Either the wait time need to be increased or the TPM device is not functional.",
    "compare_mode": "regex",
    "label": "TPMCmdReadyTimeout",
-   "last_tag": "skiboot-5.6.0",
+   "last_tag": "v5.10",
    "log_level": "LOG_LEVEL_CRITICAL",
    "pattern": "NUVOTON: timeout on sts.commandReady, delay > [0-9]+"
   },
@@ -476,7 +524,7 @@ 
    "advice": "Either the tpm device or the tpm-i2c interface doesn't seem to be working properly. Check the return code (rc) for further details.",
    "compare_mode": "regex",
    "label": "TPMReadFifoStatus",
-   "last_tag": "skiboot-5.6.0",
+   "last_tag": "v5.10",
    "log_level": "LOG_LEVEL_CRITICAL",
    "pattern": "NUVOTON: fail to read fifo status: mask [0-9a-f]+, expected [0-9a-f]+, rc=[0-9]+"
   },
@@ -484,7 +532,7 @@ 
    "advice": "Either the tpm device or the tpm-i2c interface doesn't seem to be working properly. Check the return code (rc) for further details.",
    "compare_mode": "regex",
    "label": "TPMReadDataAvail",
-   "last_tag": "skiboot-5.6.0",
+   "last_tag": "v5.10",
    "log_level": "LOG_LEVEL_CRITICAL",
    "pattern": "NUVOTON: fail to read sts.dataAvail, rc=[0-9]+"
   },
@@ -492,7 +540,7 @@ 
    "advice": "The data avail bit of the tpm status register is taking longer to be settled. Either the wait time need to be increased or the TPM device is not functional.",
    "compare_mode": "regex",
    "label": "TPMDataAvailBitTimeout",
-   "last_tag": "skiboot-5.6.0",
+   "last_tag": "v5.10",
    "log_level": "LOG_LEVEL_CRITICAL",
    "pattern": "NUVOTON: timeout on sts.dataAvail, delay=[0-9]+/[0-9]+"
   },
@@ -500,7 +548,7 @@ 
    "advice": "Either the tpm device or the tpm-i2c interface doesn't seem to be working properly. Check the return code (rc) for further details.",
    "compare_mode": "regex",
    "label": "TPMReadBurstCount",
-   "last_tag": "skiboot-5.6.0",
+   "last_tag": "v5.10",
    "log_level": "LOG_LEVEL_CRITICAL",
    "pattern": "NUVOTON: fail to read sts.burstCount, rc=[0-9]+"
   },
@@ -508,7 +556,7 @@ 
    "advice": "The burstcount bit of the tpm status register is taking longer to be settled. Either the wait time need to be increased or the TPM device is not functional.",
    "compare_mode": "regex",
    "label": "TPMBurstCountTimeout",
-   "last_tag": "skiboot-5.6.0",
+   "last_tag": "v5.10",
    "log_level": "LOG_LEVEL_CRITICAL",
    "pattern": "NUVOTON: timeout on sts.burstCount, delay=[0-9]+/[0-9]+"
   },
@@ -516,7 +564,7 @@ 
    "advice": "Either the tpm device or the tpm-i2c interface doesn't seem to be working properly. Check the return code (rc) for further details.",
    "compare_mode": "regex",
    "label": "TPMWriteFifo",
-   "last_tag": "skiboot-5.6.0",
+   "last_tag": "v5.10",
    "log_level": "LOG_LEVEL_CRITICAL",
    "pattern": "NUVOTON: fail to write fifo, count=[0-9]+, rc=[0-9]+"
   },
@@ -524,7 +572,7 @@ 
    "advice": "The write to the TPM FIFO overflowed, the TPM is not expecting more data. This indicates a bug in the TPM device driver.",
    "compare_mode": "string",
    "label": "TPMWriteFifoNotExpecting",
-   "last_tag": "skiboot-5.6.0",
+   "last_tag": "v5.10",
    "log_level": "LOG_LEVEL_CRITICAL",
    "pattern": "NUVOTON: write FIFO overflow, not expecting more data"
   },
@@ -532,7 +580,7 @@ 
    "advice": "Either the tpm device or the tpm-i2c interface doesn't seem to be working properly. Check the return code (rc) for further details.",
    "compare_mode": "regex",
    "label": "TPMWriteFifoLastByte",
-   "last_tag": "skiboot-5.6.0",
+   "last_tag": "v5.10",
    "log_level": "LOG_LEVEL_CRITICAL",
    "pattern": "NUVOTON: fail to write fifo (last byte), count=[0-9]+, rc=[0-9]+"
   },
@@ -540,7 +588,7 @@ 
    "advice": "The write to the TPM FIFO overflowed. It is expecting more data even though we think we are done. This indicates a bug in the TPM device driver.",
    "compare_mode": "string",
    "label": "TPMWriteFifoExpecting",
-   "last_tag": "skiboot-5.6.0",
+   "last_tag": "v5.10",
    "log_level": "LOG_LEVEL_CRITICAL",
    "pattern": "TPM: write FIFO overflow, expecting more data"
   },
@@ -548,7 +596,7 @@ 
    "advice": "The read from TPM FIFO overflowed. It is expecting more data even though we think we are done. This indicates a bug in the TPM device driver.",
    "compare_mode": "regex",
    "label": "TPMReadFifoOverflow",
-   "last_tag": "skiboot-5.6.0",
+   "last_tag": "v5.10",
    "log_level": "LOG_LEVEL_CRITICAL",
    "pattern": "NUVOTON: overflow on fifo read, c=[0-9]+, bc=[0-9]+, bl=[0-9]+"
   },
@@ -556,7 +604,7 @@ 
    "advice": "Either the tpm device or the tpm-i2c interface doesn't seem to be working properly. Check the return code (rc) for further details.",
    "compare_mode": "regex",
    "label": "TPMReadFifo",
-   "last_tag": "skiboot-5.6.0",
+   "last_tag": "v5.10",
    "log_level": "LOG_LEVEL_CRITICAL",
    "pattern": "NUVOTON: fail to read fifo, count=[0-9]+, rc=[0-9]+"
   },
@@ -564,7 +612,7 @@ 
    "advice": "TPM device is not initialized. This indicates a bug in the tpm_transmit() caller",
    "compare_mode": "string",
    "label": "TPMDeviceNotInitialized",
-   "last_tag": "skiboot-5.6.0",
+   "last_tag": "v5.10",
    "log_level": "LOG_LEVEL_CRITICAL",
    "pattern": "TPM: tpm device not initialized"
   },
@@ -572,7 +620,7 @@ 
    "advice": "Either the tpm device or the tpm-i2c interface doesn't seem to be working properly. Check the return code (rc) for further details.",
    "compare_mode": "regex",
    "label": "TPMWriteGo",
-   "last_tag": "skiboot-5.6.0",
+   "last_tag": "v5.10",
    "log_level": "LOG_LEVEL_CRITICAL",
    "pattern": "NUVOTON: fail to write sts.go, rc=[0-9]+"
   },
@@ -580,63 +628,47 @@ 
    "advice": "Either the tpm device or the tpm-i2c interface doesn't seem to be working properly. Check the return code (rc) for further details.",
    "compare_mode": "regex",
    "label": "TPMReleaseTpm",
-   "last_tag": "skiboot-5.6.0",
+   "last_tag": "v5.10",
    "log_level": "LOG_LEVEL_CRITICAL",
    "pattern": "NUVOTON: fail to release tpm, rc=[0-9]+"
   },
   {
-   "advice": "Hostboot creates the ibm,secureboot node and the hash-algo property. Check that the ibm,secureboot node layout has not changed.",
-   "compare_mode": "regex",
-   "label": "ROMHashAlgorithmInvalid",
-   "last_tag": "skiboot-5.6.0",
-   "log_level": "LOG_LEVEL_CRITICAL",
-   "pattern": "ROM: hash-algo=.* not expected"
-  },
-  {
-   "advice": "tpm_i2c_request_send was passed an invalid bus ID. This indicates a tb_init() bug.",
-   "compare_mode": "regex",
-   "label": "TPMI2CInvalidBusID",
-   "last_tag": "skiboot-5.6.0",
+   "advice": "opal_i2c_request was passed an invalid bus ID. This has likely come from the OS rather than OPAL and thus could indicate an OS bug rather than an OPAL bug.",
+   "compare_mode": "string",
+   "label": "I2CInvalidBusID",
+   "last_tag": "v5.10",
    "log_level": "LOG_LEVEL_CRITICAL",
-   "pattern": "TPM: Invalid bus_id=[0-9a-f]+"
+   "pattern": "I2C: Invalid 'bus_id' passed to the OPAL"
   },
   {
-   "advice": "OPAL failed to allocate memory for an i2c_request. This points to an OPAL bug as OPAL run out of memory and this should never happen.",
+   "advice": "OPAL failed to allocate memory for an i2c_request. This points to an OPAL bug as OPAL ran out of memory and this should never happen.",
    "compare_mode": "string",
-   "label": "TPMI2CAllocationFailed",
-   "last_tag": "skiboot-5.6.0",
+   "label": "I2CFailedAllocation",
+   "last_tag": "v5.10",
    "log_level": "LOG_LEVEL_CRITICAL",
-   "pattern": "TPM: i2c_alloc_req failed"
+   "pattern": "I2C: Failed to allocate 'i2c_request'"
   },
   {
-   "advice": "Hostboot creates the ibm,secureboot node and the hash-algo property. Check that the ibm,secureboot node layout has not changed.",
+   "advice": "i2c_request_send was passed an invalid bus ID. This indicates a bug.",
    "compare_mode": "regex",
-   "label": "ROMHashAlgorithmInvalid",
-   "last_tag": "skiboot-5.6.0",
-   "log_level": "LOG_LEVEL_CRITICAL",
-   "pattern": "ROM: hash-algo=.* not expected"
-  },
-  {
-   "advice": "opal_i2c_request was passed an invalid bus ID. This has likely come from the OS rather than OPAL and thus could indicate an OS bug rather than an OPAL bug.",
-   "compare_mode": "string",
    "label": "I2CInvalidBusID",
-   "last_tag": "skiboot-5.6.0",
+   "last_tag": "v5.10",
    "log_level": "LOG_LEVEL_CRITICAL",
-   "pattern": "I2C: Invalid 'bus_id' passed to the OPAL"
+   "pattern": "I2C: Invalid bus_id=[0-9a-f]+"
   },
   {
-   "advice": "OPAL failed to allocate memory for an i2c_request. This points to an OPAL bug as OPAL ran out of memory and this should never happen.",
+   "advice": "OPAL failed to allocate memory for an i2c_request. This points to an OPAL bug as OPAL run out of memory and this should never happen.",
    "compare_mode": "string",
-   "label": "I2CFailedAllocation",
-   "last_tag": "skiboot-5.6.0",
+   "label": "I2CAllocationFailed",
+   "last_tag": "v5.10",
    "log_level": "LOG_LEVEL_CRITICAL",
-   "pattern": "I2C: Failed to allocate 'i2c_request'"
+   "pattern": "I2C: i2c_alloc_req failed"
   },
   {
    "advice": "HBRT triggered assert: you need to debug HBRT",
    "compare_mode": "string",
    "label": "HBRTassert",
-   "last_tag": "skiboot-5.6.0",
+   "last_tag": "v5.10",
    "log_level": "LOG_LEVEL_CRITICAL",
    "pattern": "HBRT: Assertion from hostservices"
   },
@@ -644,7 +676,7 @@ 
    "advice": "Firmware should have aborted boot",
    "compare_mode": "string",
    "label": "HBRTlidLoadFail",
-   "last_tag": "skiboot-5.6.0",
+   "last_tag": "v5.10",
    "log_level": "LOG_LEVEL_CRITICAL",
    "pattern": "HBRT: LID Load failed"
   },
@@ -652,7 +684,7 @@ 
    "advice": "You are running in manufacturing mode. This mode should only be enabled in a factory during manufacturing.",
    "compare_mode": "string",
    "label": "ManufacturingMode",
-   "last_tag": "skiboot-5.6.0",
+   "last_tag": "v5.10",
    "log_level": "LOG_LEVEL_MEDIUM",
    "pattern": "PLAT: Manufacturing mode ON"
   },
@@ -660,7 +692,7 @@ 
    "advice": "OPAL could not find an NVRAM partition on the system flash. Check that the system flash has a valid partition table, and that the firmware build process has added a NVRAM partition.",
    "compare_mode": "string",
    "label": "NVRAMNoPartition",
-   "last_tag": "skiboot-5.6.0",
+   "last_tag": "v5.10",
    "log_level": "LOG_LEVEL_CRITICAL",
    "pattern": "FLASH: Can't parse ffs info for NVRAM"
   },
@@ -668,7 +700,7 @@ 
    "advice": "OPAL Found multiple system flash. Since we've already found a system flash we are going to use that one but this ordering is not guaranteed so may change in future.",
    "compare_mode": "regex",
    "label": "SystemFlashMultiple",
-   "last_tag": "skiboot-5.6.0",
+   "last_tag": "v5.10",
    "log_level": "LOG_LEVEL_HIGH",
    "pattern": "FLASH: Attempted to register multiple system flash: .*"
   },
@@ -676,7 +708,7 @@ 
    "advice": "System flash isn't formatted as expected. This could mean several OPAL utilities do not function as expected. e.g. gard, pflash.",
    "compare_mode": "string",
    "label": "NoFFS",
-   "last_tag": "skiboot-5.6.0",
+   "last_tag": "v5.10",
    "log_level": "LOG_LEVEL_HIGH",
    "pattern": "FLASH: No ffs info; using raw device only"
   },
@@ -684,7 +716,7 @@ 
    "advice": "No system flash was found. Check for missing calls flash_register(...).",
    "compare_mode": "regex",
    "label": "SystemFlashNotFound",
-   "last_tag": "skiboot-5.6.0",
+   "last_tag": "v5.10",
    "log_level": "LOG_LEVEL_HIGH",
    "pattern": "FLASH: Can't load resource id:[0-9]+. No system flash found"
   },
@@ -692,7 +724,7 @@ 
    "advice": "OPAL was called with a bad token. On POWER8 and earlier, Linux kernels had a bug where they wouldn't check if firmware supported particular OPAL calls before making them. It is, in fact, harmless for these cases. On systems newer than POWER8, this should never happen and indicates a kernel bug where OPAL_CHECK_TOKEN isn't being called where it should be.",
    "compare_mode": "regex",
    "label": "OPALBadToken",
-   "last_tag": "skiboot-5.6.0",
+   "last_tag": "v5.10",
    "log_level": "LOG_LEVEL_CRITICAL",
    "pattern": "OPAL: Called with bad token [0-9]+ !"
   },
@@ -700,7 +732,7 @@ 
    "advice": "Currently removing a poller is DANGEROUS and MUST NOT be done in production firmware.",
    "compare_mode": "string",
    "label": "UnsupportedOPALdelpoller",
-   "last_tag": "skiboot-5.6.0",
+   "last_tag": "v5.10",
    "log_level": "LOG_LEVEL_CRITICAL",
    "pattern": "WARNING: Unsupported opal_del_poller. Interesting locking issues, don't call this."
   },
@@ -708,7 +740,7 @@ 
    "advice": "Recursion detected in opal_run_pollers(). This indicates a bug in OPAL where a poller ended up running pollers, which doesn't lead anywhere good.",
    "compare_mode": "string",
    "label": "OPALPollerRecursion",
-   "last_tag": "skiboot-5.6.0",
+   "last_tag": "v5.10",
    "log_level": "LOG_LEVEL_CRITICAL",
    "pattern": "OPAL: Poller recursion detected."
   },
@@ -716,7 +748,7 @@ 
    "advice": "opal_run_pollers() was called with a lock held, which could lead to deadlock if not excessively lucky/careful.",
    "compare_mode": "string",
    "label": "OPALPollerWithLock",
-   "last_tag": "skiboot-5.6.0",
+   "last_tag": "v5.10",
    "log_level": "LOG_LEVEL_CRITICAL",
    "pattern": "Running pollers with lock held !"
   },
@@ -724,7 +756,7 @@ 
    "advice": "Your firmware is buggy, see the 64 messages complaining about opal_run_pollers with lock held.",
    "compare_mode": "string",
    "label": "OPALPollerWithLock64",
-   "last_tag": "skiboot-5.6.0",
+   "last_tag": "v5.10",
    "log_level": "LOG_LEVEL_CRITICAL",
    "pattern": "opal_run_pollers with lock run 64 times, disabling warning."
   },
@@ -732,7 +764,7 @@ 
    "advice": "OPAL will parse the Flattened Device Tree(FDT), which can be generated from different firmware sources. During expansion of FDT, OPAL observed a node assigned multiple times (a duplicate). This indicates either a Hostboot bug *OR*, more likely, a bug in the platform XML. Check the platform XML for duplicate IDs for this type of device. Because of this duplicate node, OPAL won't add the hardware device found with a duplicate node ID into DT, rendering the corresponding device not functional.",
    "compare_mode": "regex",
    "label": "DTHasDuplicateNodeID",
-   "last_tag": "skiboot-5.6.0",
+   "last_tag": "v5.10",
    "log_level": "LOG_LEVEL_CRITICAL",
    "pattern": "DT: Found duplicate node: .*"
   },
@@ -740,7 +772,7 @@ 
    "advice": "OPAL hit an assert(). During normal usage (even testing) we should never hit an assert. There are other code paths for controlled shutdown/panic in the event of catastrophic errors.",
    "compare_mode": "regex",
    "label": "FailedAssert",
-   "last_tag": "skiboot-5.6.0",
+   "last_tag": "v5.10",
    "log_level": "LOG_LEVEL_CRITICAL",
    "pattern": "Assert fail: .*"
   },
@@ -748,7 +780,7 @@ 
    "advice": "Device tree didn't contain enough information to correctly report back PCI inventory. Service processor is likely to be missing information about what hardware is physically present in the machine.",
    "compare_mode": "regex",
    "label": "FirenzePCIInventory",
-   "last_tag": "skiboot-5.6.0",
+   "last_tag": "v5.10",
    "log_level": "LOG_LEVEL_CRITICAL",
    "pattern": "No chip device node for PHB[0-9a-f]+"
   },
@@ -756,7 +788,7 @@ 
    "advice": "More PCI inventory than we can send to service processor. The service processor will have an incomplete view of the world.",
    "compare_mode": "regex",
    "label": "FirenzePCIInventoryTooLarge",
-   "last_tag": "skiboot-5.6.0",
+   "last_tag": "v5.10",
    "log_level": "LOG_LEVEL_CRITICAL",
    "pattern": "Inventory ([0-9]+ bytes) too large"
   },
@@ -764,7 +796,7 @@ 
    "advice": "Error communicating with service processor when sending PCI Inventory.",
    "compare_mode": "regex",
    "label": "FirenzePCIInventoryError",
-   "last_tag": "skiboot-5.6.0",
+   "last_tag": "v5.10",
    "log_level": "LOG_LEVEL_CRITICAL",
    "pattern": "Error [0-9]+ sending inventory"
   },
@@ -772,7 +804,7 @@ 
    "advice": "On Firenze platforms, I2C is used to control power to PCI slots. Errors here mean we may be in trouble in regards to PCI slot power on/off.",
    "compare_mode": "regex",
    "label": "FirenzePCII2CError",
-   "last_tag": "skiboot-5.6.0",
+   "last_tag": "v5.10",
    "log_level": "LOG_LEVEL_CRITICAL",
    "pattern": "Error [0-9]+ from I2C request on slot [0-9a-f]+"
   },
@@ -780,7 +812,7 @@ 
    "advice": "Likely a coding error: invalid I2C request.",
    "compare_mode": "regex",
    "label": "FirenzePCII2CInvalid",
-   "last_tag": "skiboot-5.6.0",
+   "last_tag": "v5.10",
    "log_level": "LOG_LEVEL_CRITICAL",
    "pattern": "Invalid I2C request [0-9]+ on slot [0-9a-f]+"
   },
@@ -788,7 +820,7 @@ 
    "advice": "The Firenze platform uses I2C to control power to PCI slots. Something went wrong in the state machine controlling that. Slots may/may not have power.",
    "compare_mode": "regex",
    "label": "FirenzePCISlotI2CStateError",
-   "last_tag": "skiboot-5.6.0",
+   "last_tag": "v5.10",
    "log_level": "LOG_LEVEL_CRITICAL",
    "pattern": "Wrong state [0-9a-f]+ on slot [0-9a-f]+"
   },
@@ -796,7 +828,7 @@ 
    "advice": "Unexpected state in the FIRENZE PCI Slot state machine. This could mean PCI is not functioning correctly.",
    "compare_mode": "regex",
    "label": "FirenzePCISlotGPowerState",
-   "last_tag": "skiboot-5.6.0",
+   "last_tag": "v5.10",
    "log_level": "LOG_LEVEL_CRITICAL",
    "pattern": "[0-9a-f]+ GPOWER: Unexpected state [0-9a-f]+"
   },
@@ -804,7 +836,7 @@ 
    "advice": "Unexpected state in the FIRENZE PCI Slot state machine. This could mean PCI is not functioning correctly.",
    "compare_mode": "regex",
    "label": "FirenzePCISlotSPowerState",
-   "last_tag": "skiboot-5.6.0",
+   "last_tag": "v5.10",
    "log_level": "LOG_LEVEL_CRITICAL",
    "pattern": "[0-9a-f]+ SPOWER: Unexpected state [0-9a-f]+"
   },
@@ -812,15 +844,31 @@ 
    "advice": "AST BMC is likely to be non-functional when accessed from host.",
    "compare_mode": "string",
    "label": "ASTBMCFailedSetEnables",
-   "last_tag": "skiboot-5.6.0",
+   "last_tag": "v5.10",
    "log_level": "LOG_LEVEL_CRITICAL",
    "pattern": "ASTBMC: failed to set enables"
   },
   {
+   "advice": "HDAT secureboot_tpm_info structure described a chip id, but no tpm node was found under that xscom chip id. This is most certainly a hostboot bug.",
+   "compare_mode": "regex",
+   "label": "HDATNoTpmForChipId",
+   "last_tag": "v5.10",
+   "log_level": "LOG_LEVEL_CRITICAL",
+   "pattern": "TPM node not found for chip_id=[0-9]+ (HB bug)"
+  },
+  {
+   "advice": "HDAT secureboot_tpm_info structure described a chip id, but the xscom node for the chip_id was not found. This is most certainly a firmware bug.",
+   "compare_mode": "regex",
+   "label": "HDATBadChipIdForTPM",
+   "last_tag": "v5.10",
+   "log_level": "LOG_LEVEL_CRITICAL",
+   "pattern": "xscom node not found for chip_id=[0-9]+"
+  },
+  {
    "advice": "HDAT described an invalid size for timebase, which means there's a disagreement between HDAT and OPAL. This is most certainly a firmware bug.",
    "compare_mode": "regex",
    "label": "HDATBadTimebaseSize",
-   "last_tag": "skiboot-5.6.0",
+   "last_tag": "v5.10",
    "log_level": "LOG_LEVEL_CRITICAL",
    "pattern": "HDAT: Bad timebase size [0-9]+ @ (0x[0-9a-f]+|nil)"
   }