Reviewed-by: Liming Gao <[email protected]>

>-----Original Message-----
>From: Ni, Ruiyu
>Sent: Thursday, October 26, 2017 4:08 PM
>To: [email protected]
>Cc: Gao, Liming <[email protected]>
>Subject: [PATCH] MdePkg/PciExpress21.h: Fix typo in
>PCI_REG_PCIE_SLOT_CONTROL
>
>PCI_REG_PCIE_SLOT_CONTROL contains a typo. It is defined as:
>typedef union {
>  struct {
>    UINT32 AttentionButtonPressed : 1;
>    UINT32 ...
>    ...
>  } Bits;
>  UINT16   Uint16;
>} PCI_REG_PCIE_SLOT_CONTROL;
>
>The bit field data type should be UINT16 instead of UINT32,
>results sizeof (PCI_REG_PCIE_SLOT_CONTROL) equals to 4 instead of 2.
>
>Because this structure is used in PCI_CAPABILITY_PCIEXP as below:
>typedef struct {
>  ...
>  PCI_REG_PCIE_SLOT_CONTROL       SlotControl;
>  PCI_REG_PCIE_SLOT_STATUS        SlotStatus;
>} PCI_CAPABILITY_PCIEXP;
>
>It cause the OFFSET_OF (PCI_CAPABILITY_PCIEXP, SlotStatus) equal
>to a wrong value.
>
>Contributed-under: TianoCore Contribution Agreement 1.1
>Signed-off-by: Ruiyu Ni <[email protected]>
>Cc: Liming Gao <[email protected]>
>---
> MdePkg/Include/IndustryStandard/PciExpress21.h | 24 ++++++++++++-------
>-----
> 1 file changed, 12 insertions(+), 12 deletions(-)
>
>diff --git a/MdePkg/Include/IndustryStandard/PciExpress21.h
>b/MdePkg/Include/IndustryStandard/PciExpress21.h
>index ce9c06a7c6..d90b5975ba 100644
>--- a/MdePkg/Include/IndustryStandard/PciExpress21.h
>+++ b/MdePkg/Include/IndustryStandard/PciExpress21.h
>@@ -182,18 +182,18 @@ typedef union {
>
> typedef union {
>   struct {
>-    UINT32 AttentionButtonPressed : 1;
>-    UINT32 PowerFaultDetected : 1;
>-    UINT32 MrlSensorChanged : 1;
>-    UINT32 PresenceDetectChanged : 1;
>-    UINT32 CommandCompletedInterrupt : 1;
>-    UINT32 HotPlugInterrupt : 1;
>-    UINT32 AttentionIndicator : 2;
>-    UINT32 PowerIndicator : 2;
>-    UINT32 PowerController : 1;
>-    UINT32 ElectromechanicalInterlock : 1;
>-    UINT32 DataLinkLayerStateChanged : 1;
>-    UINT32 Reserved : 3;
>+    UINT16 AttentionButtonPressed : 1;
>+    UINT16 PowerFaultDetected : 1;
>+    UINT16 MrlSensorChanged : 1;
>+    UINT16 PresenceDetectChanged : 1;
>+    UINT16 CommandCompletedInterrupt : 1;
>+    UINT16 HotPlugInterrupt : 1;
>+    UINT16 AttentionIndicator : 2;
>+    UINT16 PowerIndicator : 2;
>+    UINT16 PowerController : 1;
>+    UINT16 ElectromechanicalInterlock : 1;
>+    UINT16 DataLinkLayerStateChanged : 1;
>+    UINT16 Reserved : 3;
>   } Bits;
>   UINT16   Uint16;
> } PCI_REG_PCIE_SLOT_CONTROL;
>--
>2.12.2.windows.2

_______________________________________________
edk2-devel mailing list
[email protected]
https://lists.01.org/mailman/listinfo/edk2-devel

Reply via email to