\r
**/\r
#define PCI_TO_PCICFG2_ADDRESS(A) \\r
- (((A) << 4) & 0xff000000) | (((A) >> 4) & 0x00000700) | (((A) << 1) & 0x001f0000) | ((UINT64)((A) & 0xFFF) << 32)\r
+ ((((A) << 4) & 0xff000000) | (((A) >> 4) & 0x00000700) | (((A) << 1) & 0x001f0000) | (LShiftU64((A) & 0xfff, 32)))\r
\r
/**\r
Internal worker function to read a PCI configuration register.\r
UINTN ReturnValue;\r
\r
ASSERT_INVALID_PCI_ADDRESS (StartAddress, 0);\r
- ASSERT (((StartAddress & 0xFFF) + Size) <= 0x100);\r
+ ASSERT (((StartAddress & 0xFFF) + Size) <= 0x1000);\r
\r
if (Size == 0) {\r
return Size;\r
//\r
ReturnValue = Size;\r
\r
- if ((StartAddress & 1) != 0) {\r
+ if ((StartAddress & BIT0) != 0) {\r
//\r
// Read a byte if StartAddress is byte aligned\r
//\r
Buffer = (UINT8*)Buffer + 1;\r
}\r
\r
- if (Size >= sizeof (UINT16) && (StartAddress & 2) != 0) {\r
+ if (Size >= sizeof (UINT16) && (StartAddress & BIT1) != 0) {\r
//\r
// Read a word if StartAddress is word aligned\r
//\r
UINTN ReturnValue;\r
\r
ASSERT_INVALID_PCI_ADDRESS (StartAddress, 0);\r
- ASSERT (((StartAddress & 0xFFF) + Size) <= 0x100);\r
+ ASSERT (((StartAddress & 0xFFF) + Size) <= 0x1000);\r
\r
if (Size == 0) {\r
return 0;\r
//\r
ReturnValue = Size;\r
\r
- if ((StartAddress & 1) != 0) {\r
+ if ((StartAddress & BIT0) != 0) {\r
//\r
// Write a byte if StartAddress is byte aligned\r
//\r
Buffer = (UINT8*)Buffer + 1;\r
}\r
\r
- if (Size >= sizeof (UINT16) && (StartAddress & 2) != 0) {\r
+ if (Size >= sizeof (UINT16) && (StartAddress & BIT1) != 0) {\r
//\r
// Write a word if StartAddress is word aligned\r
//\r