From b776bb0fa86b31873007c7e4f677dfb7a70e54d2 Mon Sep 17 00:00:00 2001 From: Oliver O'Halloran Date: Thu, 5 Mar 2020 17:52:00 +1100 Subject: hw/fsp: Fix GENERIC_FAILURE mailbox status code The 0xEF return code is used to tell the hypervisor that the FSP was not able to replicate an NVRAM write to the secondary FSP. The GENERIC_FAILURE is using this code instead of the correct 0xFE code which indicates a generic error condition. We already have a FSP_STATUS_GENERIC_ERROR for 0xFE so convert the existing users of FSP_STATUS_GENERIC_FAILURE to use GENERIC_ERROR and remove the duplicate. Reviewed-by: Vasant Hegde Signed-off-by: Oliver O'Halloran --- hw/prd.c | 4 ++-- include/fsp.h | 3 +-- platforms/ibm-fsp/hostservices.c | 2 +- 3 files changed, 4 insertions(+), 5 deletions(-) diff --git a/hw/prd.c b/hw/prd.c index 2301daf..a119b92 100644 --- a/hw/prd.c +++ b/hw/prd.c @@ -119,7 +119,7 @@ static void prd_msg_consumed(void *data, int status) if (status != 0) { prlog(PR_DEBUG, "PRD: Failed to send FSP -> HBRT message\n"); - notify_status = FSP_STATUS_GENERIC_FAILURE; + notify_status = FSP_STATUS_GENERIC_ERROR; } assert(platform.prd); assert(platform.prd->msg_response); @@ -372,7 +372,7 @@ int prd_hbrt_fsp_msg_notify(void *data, u32 dsize) { struct prd_fw_msg *fw_notify; int size, fw_notify_size; - int rc = FSP_STATUS_GENERIC_FAILURE; + int rc = FSP_STATUS_GENERIC_ERROR; if (!prd_enabled || !prd_active) { prlog(PR_NOTICE, "PRD: %s: PRD daemon is not ready\n", diff --git a/include/fsp.h b/include/fsp.h index 92f5459..ec079a2 100644 --- a/include/fsp.h +++ b/include/fsp.h @@ -46,7 +46,6 @@ #define FSP_STATUS_FLASH_INPROGRESS 0x61 #define FSP_STATUS_FLASH_NOPROGRESS 0x62 #define FSP_STATUS_FLASH_INVALID_SIDE 0x63 -#define FSP_STATUS_GENERIC_ERROR 0xfe #define FSP_STATUS_EOF_ERROR 0x02 #define FSP_STATUS_DMA_ERROR 0x24 #define FSP_STATUS_BUSY 0x3e @@ -61,7 +60,7 @@ #define FSP_STATUS_TOD_PERMANENT_ERROR 0xAF /* Permanent error in TOD */ #define FSP_STATUS_I2C_TRANS_ERROR 0xE4 /* I2C device / transmission error */ #define FSP_STATUS_IND_PARTIAL_SUCCESS 0xE5 /* Indicator partial success */ -#define FSP_STATUS_GENERIC_FAILURE 0xEF /* Generic Failure in execution */ +#define FSP_STATUS_GENERIC_ERROR 0xFE /* Generic Failure in execution */ /* * FSP registers diff --git a/platforms/ibm-fsp/hostservices.c b/platforms/ibm-fsp/hostservices.c index d93c4f6..d61d583 100644 --- a/platforms/ibm-fsp/hostservices.c +++ b/platforms/ibm-fsp/hostservices.c @@ -883,7 +883,7 @@ static bool hservice_hbrt_msg_notify(uint32_t cmd_sub_mod, struct fsp_msg *msg) } if (prd_hbrt_fsp_msg_notify(buf, len)) { - hservice_hbrt_msg_response(FSP_STATUS_GENERIC_FAILURE); + hservice_hbrt_msg_response(FSP_STATUS_GENERIC_ERROR); prlog(PR_NOTICE, "Unable to send FSP - HBRT message\n"); } -- cgit v1.1