This applies the volatile keyword and appropriate casts
to the NvmExpressPei's Passthru CQ.
Cc: Hao A Wu <hao.a.wu@intel.com>
Cc: Ray Ni <ray.ni@intel.com>
Cc: Jian J Wang <jian.j.wang@intel.com>
Cc: Liming Gao <gaoliming@byosoft.com.cn>
Cc: Michael Kubacki <mikuback@linux.microsoft.com>
Cc: Sean Brogan <sean.brogan@microsoft.com>
Signed-off-by: Oliver Smith-Denny <osde@linux.microsoft.com>
Reviewed-by: Hao A Wu <hao.a.wu@intel.com>
Acked-by: Michael Kubacki <michael.kubacki@microsoft.com>
**/\r
EFI_STATUS\r
NvmeCheckCqStatus (\r
- IN NVME_CQ *Cq\r
+ IN volatile NVME_CQ *Cq\r
)\r
{\r
if ((Cq->Sct == 0x0) && (Cq->Sc == 0x0)) {\r
{\r
EFI_STATUS Status;\r
NVME_SQ *Sq;\r
- NVME_CQ *Cq;\r
+ volatile NVME_CQ *Cq;\r
UINT8 QueueId;\r
UINTN SqSize;\r
UINTN CqSize;\r
//\r
// Copy the Respose Queue entry for this command to the callers response buffer\r
//\r
- CopyMem (Packet->NvmeCompletion, Cq, sizeof (EFI_NVM_EXPRESS_COMPLETION));\r
+ CopyMem (Packet->NvmeCompletion, (VOID *)Cq, sizeof (EFI_NVM_EXPRESS_COMPLETION));\r
\r
//\r
// Check the NVMe cmd execution result\r