#include "PciSegmentLibCommon.h"\r
\r
typedef struct {\r
- UINT32 Register : 12;\r
- UINT32 Function : 3;\r
- UINT32 Device : 5;\r
- UINT32 Bus : 8;\r
- UINT32 Reserved1 : 4;\r
- UINT32 Segment : 16;\r
- UINT32 Reserved2 : 16;\r
+ UINT32 Register : 12;\r
+ UINT32 Function : 3;\r
+ UINT32 Device : 5;\r
+ UINT32 Bus : 8;\r
+ UINT32 Reserved1 : 4;\r
+ UINT32 Segment : 16;\r
+ UINT32 Reserved2 : 16;\r
} PCI_SEGMENT_LIB_ADDRESS_STRUCTURE;\r
\r
/**\r
**/\r
UINTN\r
PciSegmentLibGetEcamAddress (\r
- IN UINT64 Address,\r
- IN CONST PCI_SEGMENT_INFO *SegmentInfo,\r
- IN UINTN Count\r
+ IN UINT64 Address,\r
+ IN CONST PCI_SEGMENT_INFO *SegmentInfo,\r
+ IN UINTN Count\r
)\r
{\r
while (Count != 0) {\r
if (SegmentInfo->SegmentNumber == ((PCI_SEGMENT_LIB_ADDRESS_STRUCTURE *)&Address)->Segment) {\r
break;\r
}\r
+\r
SegmentInfo++;\r
Count--;\r
}\r
+\r
ASSERT (Count != 0);\r
ASSERT (\r
(((PCI_SEGMENT_LIB_ADDRESS_STRUCTURE *)&Address)->Reserved1 == 0) &&\r
(((PCI_SEGMENT_LIB_ADDRESS_STRUCTURE *)&Address)->Reserved2 == 0)\r
- );\r
+ );\r
ASSERT (((PCI_SEGMENT_LIB_ADDRESS_STRUCTURE *)&Address)->Bus >= SegmentInfo->StartBusNumber);\r
ASSERT (((PCI_SEGMENT_LIB_ADDRESS_STRUCTURE *)&Address)->Bus <= SegmentInfo->EndBusNumber);\r
\r
Address = SegmentInfo->BaseAddress + PCI_ECAM_ADDRESS (\r
- ((PCI_SEGMENT_LIB_ADDRESS_STRUCTURE *)&Address)->Bus,\r
- ((PCI_SEGMENT_LIB_ADDRESS_STRUCTURE *)&Address)->Device,\r
- ((PCI_SEGMENT_LIB_ADDRESS_STRUCTURE *)&Address)->Function,\r
- ((PCI_SEGMENT_LIB_ADDRESS_STRUCTURE *)&Address)->Register);\r
+ ((PCI_SEGMENT_LIB_ADDRESS_STRUCTURE *)&Address)->Bus,\r
+ ((PCI_SEGMENT_LIB_ADDRESS_STRUCTURE *)&Address)->Device,\r
+ ((PCI_SEGMENT_LIB_ADDRESS_STRUCTURE *)&Address)->Function,\r
+ ((PCI_SEGMENT_LIB_ADDRESS_STRUCTURE *)&Address)->Register\r
+ );\r
\r
if (sizeof (UINTN) == sizeof (UINT32)) {\r
ASSERT (Address < BASE_4GB);\r
UINT8\r
EFIAPI\r
PciSegmentRead8 (\r
- IN UINT64 Address\r
+ IN UINT64 Address\r
)\r
{\r
- UINTN Count;\r
- PCI_SEGMENT_INFO *SegmentInfo;\r
+ UINTN Count;\r
+ PCI_SEGMENT_INFO *SegmentInfo;\r
\r
SegmentInfo = GetPciSegmentInfo (&Count);\r
return MmioRead8 (PciSegmentLibGetEcamAddress (Address, SegmentInfo, Count));\r
UINT8\r
EFIAPI\r
PciSegmentWrite8 (\r
- IN UINT64 Address,\r
- IN UINT8 Value\r
+ IN UINT64 Address,\r
+ IN UINT8 Value\r
)\r
{\r
- UINTN Count;\r
- PCI_SEGMENT_INFO *SegmentInfo;\r
+ UINTN Count;\r
+ PCI_SEGMENT_INFO *SegmentInfo;\r
\r
SegmentInfo = GetPciSegmentInfo (&Count);\r
return MmioWrite8 (PciSegmentLibGetEcamAddress (Address, SegmentInfo, Count), Value);\r
UINT8\r
EFIAPI\r
PciSegmentOr8 (\r
- IN UINT64 Address,\r
- IN UINT8 OrData\r
+ IN UINT64 Address,\r
+ IN UINT8 OrData\r
)\r
{\r
- UINTN Count;\r
- PCI_SEGMENT_INFO *SegmentInfo;\r
+ UINTN Count;\r
+ PCI_SEGMENT_INFO *SegmentInfo;\r
\r
SegmentInfo = GetPciSegmentInfo (&Count);\r
return MmioOr8 (PciSegmentLibGetEcamAddress (Address, SegmentInfo, Count), OrData);\r
UINT8\r
EFIAPI\r
PciSegmentAnd8 (\r
- IN UINT64 Address,\r
- IN UINT8 AndData\r
+ IN UINT64 Address,\r
+ IN UINT8 AndData\r
)\r
{\r
- UINTN Count;\r
- PCI_SEGMENT_INFO *SegmentInfo;\r
+ UINTN Count;\r
+ PCI_SEGMENT_INFO *SegmentInfo;\r
\r
SegmentInfo = GetPciSegmentInfo (&Count);\r
return MmioAnd8 (PciSegmentLibGetEcamAddress (Address, SegmentInfo, Count), AndData);\r
UINT8\r
EFIAPI\r
PciSegmentAndThenOr8 (\r
- IN UINT64 Address,\r
- IN UINT8 AndData,\r
- IN UINT8 OrData\r
+ IN UINT64 Address,\r
+ IN UINT8 AndData,\r
+ IN UINT8 OrData\r
)\r
{\r
- UINTN Count;\r
- PCI_SEGMENT_INFO *SegmentInfo;\r
+ UINTN Count;\r
+ PCI_SEGMENT_INFO *SegmentInfo;\r
\r
SegmentInfo = GetPciSegmentInfo (&Count);\r
return MmioAndThenOr8 (PciSegmentLibGetEcamAddress (Address, SegmentInfo, Count), AndData, OrData);\r
UINT8\r
EFIAPI\r
PciSegmentBitFieldRead8 (\r
- IN UINT64 Address,\r
- IN UINTN StartBit,\r
- IN UINTN EndBit\r
+ IN UINT64 Address,\r
+ IN UINTN StartBit,\r
+ IN UINTN EndBit\r
)\r
{\r
- UINTN Count;\r
- PCI_SEGMENT_INFO *SegmentInfo;\r
+ UINTN Count;\r
+ PCI_SEGMENT_INFO *SegmentInfo;\r
\r
SegmentInfo = GetPciSegmentInfo (&Count);\r
return MmioBitFieldRead8 (PciSegmentLibGetEcamAddress (Address, SegmentInfo, Count), StartBit, EndBit);\r
UINT8\r
EFIAPI\r
PciSegmentBitFieldWrite8 (\r
- IN UINT64 Address,\r
- IN UINTN StartBit,\r
- IN UINTN EndBit,\r
- IN UINT8 Value\r
+ IN UINT64 Address,\r
+ IN UINTN StartBit,\r
+ IN UINTN EndBit,\r
+ IN UINT8 Value\r
)\r
{\r
- UINTN Count;\r
- PCI_SEGMENT_INFO *SegmentInfo;\r
+ UINTN Count;\r
+ PCI_SEGMENT_INFO *SegmentInfo;\r
\r
SegmentInfo = GetPciSegmentInfo (&Count);\r
return MmioBitFieldWrite8 (PciSegmentLibGetEcamAddress (Address, SegmentInfo, Count), StartBit, EndBit, Value);\r
UINT8\r
EFIAPI\r
PciSegmentBitFieldOr8 (\r
- IN UINT64 Address,\r
- IN UINTN StartBit,\r
- IN UINTN EndBit,\r
- IN UINT8 OrData\r
+ IN UINT64 Address,\r
+ IN UINTN StartBit,\r
+ IN UINTN EndBit,\r
+ IN UINT8 OrData\r
)\r
{\r
- UINTN Count;\r
- PCI_SEGMENT_INFO *SegmentInfo;\r
+ UINTN Count;\r
+ PCI_SEGMENT_INFO *SegmentInfo;\r
\r
SegmentInfo = GetPciSegmentInfo (&Count);\r
return MmioBitFieldOr8 (PciSegmentLibGetEcamAddress (Address, SegmentInfo, Count), StartBit, EndBit, OrData);\r
UINT8\r
EFIAPI\r
PciSegmentBitFieldAnd8 (\r
- IN UINT64 Address,\r
- IN UINTN StartBit,\r
- IN UINTN EndBit,\r
- IN UINT8 AndData\r
+ IN UINT64 Address,\r
+ IN UINTN StartBit,\r
+ IN UINTN EndBit,\r
+ IN UINT8 AndData\r
)\r
{\r
- UINTN Count;\r
- PCI_SEGMENT_INFO *SegmentInfo;\r
+ UINTN Count;\r
+ PCI_SEGMENT_INFO *SegmentInfo;\r
\r
SegmentInfo = GetPciSegmentInfo (&Count);\r
return MmioBitFieldAnd8 (PciSegmentLibGetEcamAddress (Address, SegmentInfo, Count), StartBit, EndBit, AndData);\r
UINT8\r
EFIAPI\r
PciSegmentBitFieldAndThenOr8 (\r
- IN UINT64 Address,\r
- IN UINTN StartBit,\r
- IN UINTN EndBit,\r
- IN UINT8 AndData,\r
- IN UINT8 OrData\r
+ IN UINT64 Address,\r
+ IN UINTN StartBit,\r
+ IN UINTN EndBit,\r
+ IN UINT8 AndData,\r
+ IN UINT8 OrData\r
)\r
{\r
- UINTN Count;\r
- PCI_SEGMENT_INFO *SegmentInfo;\r
+ UINTN Count;\r
+ PCI_SEGMENT_INFO *SegmentInfo;\r
\r
SegmentInfo = GetPciSegmentInfo (&Count);\r
return MmioBitFieldAndThenOr8 (PciSegmentLibGetEcamAddress (Address, SegmentInfo, Count), StartBit, EndBit, AndData, OrData);\r
UINT16\r
EFIAPI\r
PciSegmentRead16 (\r
- IN UINT64 Address\r
+ IN UINT64 Address\r
)\r
{\r
- UINTN Count;\r
- PCI_SEGMENT_INFO *SegmentInfo;\r
+ UINTN Count;\r
+ PCI_SEGMENT_INFO *SegmentInfo;\r
\r
SegmentInfo = GetPciSegmentInfo (&Count);\r
return MmioRead16 (PciSegmentLibGetEcamAddress (Address, SegmentInfo, Count));\r
UINT16\r
EFIAPI\r
PciSegmentWrite16 (\r
- IN UINT64 Address,\r
- IN UINT16 Value\r
+ IN UINT64 Address,\r
+ IN UINT16 Value\r
)\r
{\r
- UINTN Count;\r
- PCI_SEGMENT_INFO *SegmentInfo;\r
+ UINTN Count;\r
+ PCI_SEGMENT_INFO *SegmentInfo;\r
\r
SegmentInfo = GetPciSegmentInfo (&Count);\r
return MmioWrite16 (PciSegmentLibGetEcamAddress (Address, SegmentInfo, Count), Value);\r
UINT16\r
EFIAPI\r
PciSegmentOr16 (\r
- IN UINT64 Address,\r
- IN UINT16 OrData\r
+ IN UINT64 Address,\r
+ IN UINT16 OrData\r
)\r
{\r
- UINTN Count;\r
- PCI_SEGMENT_INFO *SegmentInfo;\r
+ UINTN Count;\r
+ PCI_SEGMENT_INFO *SegmentInfo;\r
\r
SegmentInfo = GetPciSegmentInfo (&Count);\r
return MmioOr16 (PciSegmentLibGetEcamAddress (Address, SegmentInfo, Count), OrData);\r
UINT16\r
EFIAPI\r
PciSegmentAnd16 (\r
- IN UINT64 Address,\r
- IN UINT16 AndData\r
+ IN UINT64 Address,\r
+ IN UINT16 AndData\r
)\r
{\r
- UINTN Count;\r
- PCI_SEGMENT_INFO *SegmentInfo;\r
+ UINTN Count;\r
+ PCI_SEGMENT_INFO *SegmentInfo;\r
\r
SegmentInfo = GetPciSegmentInfo (&Count);\r
return MmioAnd16 (PciSegmentLibGetEcamAddress (Address, SegmentInfo, Count), AndData);\r
UINT16\r
EFIAPI\r
PciSegmentAndThenOr16 (\r
- IN UINT64 Address,\r
- IN UINT16 AndData,\r
- IN UINT16 OrData\r
+ IN UINT64 Address,\r
+ IN UINT16 AndData,\r
+ IN UINT16 OrData\r
)\r
{\r
- UINTN Count;\r
- PCI_SEGMENT_INFO *SegmentInfo;\r
+ UINTN Count;\r
+ PCI_SEGMENT_INFO *SegmentInfo;\r
\r
SegmentInfo = GetPciSegmentInfo (&Count);\r
return MmioAndThenOr16 (PciSegmentLibGetEcamAddress (Address, SegmentInfo, Count), AndData, OrData);\r
UINT16\r
EFIAPI\r
PciSegmentBitFieldRead16 (\r
- IN UINT64 Address,\r
- IN UINTN StartBit,\r
- IN UINTN EndBit\r
+ IN UINT64 Address,\r
+ IN UINTN StartBit,\r
+ IN UINTN EndBit\r
)\r
{\r
- UINTN Count;\r
- PCI_SEGMENT_INFO *SegmentInfo;\r
+ UINTN Count;\r
+ PCI_SEGMENT_INFO *SegmentInfo;\r
\r
SegmentInfo = GetPciSegmentInfo (&Count);\r
return MmioBitFieldRead16 (PciSegmentLibGetEcamAddress (Address, SegmentInfo, Count), StartBit, EndBit);\r
UINT16\r
EFIAPI\r
PciSegmentBitFieldWrite16 (\r
- IN UINT64 Address,\r
- IN UINTN StartBit,\r
- IN UINTN EndBit,\r
- IN UINT16 Value\r
+ IN UINT64 Address,\r
+ IN UINTN StartBit,\r
+ IN UINTN EndBit,\r
+ IN UINT16 Value\r
)\r
{\r
- UINTN Count;\r
- PCI_SEGMENT_INFO *SegmentInfo;\r
+ UINTN Count;\r
+ PCI_SEGMENT_INFO *SegmentInfo;\r
\r
SegmentInfo = GetPciSegmentInfo (&Count);\r
return MmioBitFieldWrite16 (PciSegmentLibGetEcamAddress (Address, SegmentInfo, Count), StartBit, EndBit, Value);\r
UINT16\r
EFIAPI\r
PciSegmentBitFieldOr16 (\r
- IN UINT64 Address,\r
- IN UINTN StartBit,\r
- IN UINTN EndBit,\r
- IN UINT16 OrData\r
+ IN UINT64 Address,\r
+ IN UINTN StartBit,\r
+ IN UINTN EndBit,\r
+ IN UINT16 OrData\r
)\r
{\r
- UINTN Count;\r
- PCI_SEGMENT_INFO *SegmentInfo;\r
+ UINTN Count;\r
+ PCI_SEGMENT_INFO *SegmentInfo;\r
\r
SegmentInfo = GetPciSegmentInfo (&Count);\r
return MmioBitFieldOr16 (PciSegmentLibGetEcamAddress (Address, SegmentInfo, Count), StartBit, EndBit, OrData);\r
UINT16\r
EFIAPI\r
PciSegmentBitFieldAnd16 (\r
- IN UINT64 Address,\r
- IN UINTN StartBit,\r
- IN UINTN EndBit,\r
- IN UINT16 AndData\r
+ IN UINT64 Address,\r
+ IN UINTN StartBit,\r
+ IN UINTN EndBit,\r
+ IN UINT16 AndData\r
)\r
{\r
- UINTN Count;\r
- PCI_SEGMENT_INFO *SegmentInfo;\r
+ UINTN Count;\r
+ PCI_SEGMENT_INFO *SegmentInfo;\r
\r
SegmentInfo = GetPciSegmentInfo (&Count);\r
return MmioBitFieldAnd16 (PciSegmentLibGetEcamAddress (Address, SegmentInfo, Count), StartBit, EndBit, AndData);\r
UINT16\r
EFIAPI\r
PciSegmentBitFieldAndThenOr16 (\r
- IN UINT64 Address,\r
- IN UINTN StartBit,\r
- IN UINTN EndBit,\r
- IN UINT16 AndData,\r
- IN UINT16 OrData\r
+ IN UINT64 Address,\r
+ IN UINTN StartBit,\r
+ IN UINTN EndBit,\r
+ IN UINT16 AndData,\r
+ IN UINT16 OrData\r
)\r
{\r
- UINTN Count;\r
- PCI_SEGMENT_INFO *SegmentInfo;\r
+ UINTN Count;\r
+ PCI_SEGMENT_INFO *SegmentInfo;\r
+\r
SegmentInfo = GetPciSegmentInfo (&Count);\r
return MmioBitFieldAndThenOr16 (PciSegmentLibGetEcamAddress (Address, SegmentInfo, Count), StartBit, EndBit, AndData, OrData);\r
}\r
UINT32\r
EFIAPI\r
PciSegmentRead32 (\r
- IN UINT64 Address\r
+ IN UINT64 Address\r
)\r
{\r
- UINTN Count;\r
- PCI_SEGMENT_INFO *SegmentInfo;\r
+ UINTN Count;\r
+ PCI_SEGMENT_INFO *SegmentInfo;\r
\r
SegmentInfo = GetPciSegmentInfo (&Count);\r
return MmioRead32 (PciSegmentLibGetEcamAddress (Address, SegmentInfo, Count));\r
UINT32\r
EFIAPI\r
PciSegmentWrite32 (\r
- IN UINT64 Address,\r
- IN UINT32 Value\r
+ IN UINT64 Address,\r
+ IN UINT32 Value\r
)\r
{\r
- UINTN Count;\r
- PCI_SEGMENT_INFO *SegmentInfo;\r
+ UINTN Count;\r
+ PCI_SEGMENT_INFO *SegmentInfo;\r
\r
SegmentInfo = GetPciSegmentInfo (&Count);\r
return MmioWrite32 (PciSegmentLibGetEcamAddress (Address, SegmentInfo, Count), Value);\r
UINT32\r
EFIAPI\r
PciSegmentOr32 (\r
- IN UINT64 Address,\r
- IN UINT32 OrData\r
+ IN UINT64 Address,\r
+ IN UINT32 OrData\r
)\r
{\r
- UINTN Count;\r
- PCI_SEGMENT_INFO *SegmentInfo;\r
+ UINTN Count;\r
+ PCI_SEGMENT_INFO *SegmentInfo;\r
\r
SegmentInfo = GetPciSegmentInfo (&Count);\r
return MmioOr32 (PciSegmentLibGetEcamAddress (Address, SegmentInfo, Count), OrData);\r
UINT32\r
EFIAPI\r
PciSegmentAnd32 (\r
- IN UINT64 Address,\r
- IN UINT32 AndData\r
+ IN UINT64 Address,\r
+ IN UINT32 AndData\r
)\r
{\r
- UINTN Count;\r
- PCI_SEGMENT_INFO *SegmentInfo;\r
+ UINTN Count;\r
+ PCI_SEGMENT_INFO *SegmentInfo;\r
\r
SegmentInfo = GetPciSegmentInfo (&Count);\r
return MmioAnd32 (PciSegmentLibGetEcamAddress (Address, SegmentInfo, Count), AndData);\r
UINT32\r
EFIAPI\r
PciSegmentAndThenOr32 (\r
- IN UINT64 Address,\r
- IN UINT32 AndData,\r
- IN UINT32 OrData\r
+ IN UINT64 Address,\r
+ IN UINT32 AndData,\r
+ IN UINT32 OrData\r
)\r
{\r
- UINTN Count;\r
- PCI_SEGMENT_INFO *SegmentInfo;\r
+ UINTN Count;\r
+ PCI_SEGMENT_INFO *SegmentInfo;\r
\r
SegmentInfo = GetPciSegmentInfo (&Count);\r
return MmioAndThenOr32 (PciSegmentLibGetEcamAddress (Address, SegmentInfo, Count), AndData, OrData);\r
UINT32\r
EFIAPI\r
PciSegmentBitFieldRead32 (\r
- IN UINT64 Address,\r
- IN UINTN StartBit,\r
- IN UINTN EndBit\r
+ IN UINT64 Address,\r
+ IN UINTN StartBit,\r
+ IN UINTN EndBit\r
)\r
{\r
- UINTN Count;\r
- PCI_SEGMENT_INFO *SegmentInfo;\r
+ UINTN Count;\r
+ PCI_SEGMENT_INFO *SegmentInfo;\r
\r
SegmentInfo = GetPciSegmentInfo (&Count);\r
return MmioBitFieldRead32 (PciSegmentLibGetEcamAddress (Address, SegmentInfo, Count), StartBit, EndBit);\r
UINT32\r
EFIAPI\r
PciSegmentBitFieldWrite32 (\r
- IN UINT64 Address,\r
- IN UINTN StartBit,\r
- IN UINTN EndBit,\r
- IN UINT32 Value\r
+ IN UINT64 Address,\r
+ IN UINTN StartBit,\r
+ IN UINTN EndBit,\r
+ IN UINT32 Value\r
)\r
{\r
- UINTN Count;\r
- PCI_SEGMENT_INFO *SegmentInfo;\r
+ UINTN Count;\r
+ PCI_SEGMENT_INFO *SegmentInfo;\r
\r
SegmentInfo = GetPciSegmentInfo (&Count);\r
return MmioBitFieldWrite32 (PciSegmentLibGetEcamAddress (Address, SegmentInfo, Count), StartBit, EndBit, Value);\r
UINT32\r
EFIAPI\r
PciSegmentBitFieldOr32 (\r
- IN UINT64 Address,\r
- IN UINTN StartBit,\r
- IN UINTN EndBit,\r
- IN UINT32 OrData\r
+ IN UINT64 Address,\r
+ IN UINTN StartBit,\r
+ IN UINTN EndBit,\r
+ IN UINT32 OrData\r
)\r
{\r
- UINTN Count;\r
- PCI_SEGMENT_INFO *SegmentInfo;\r
+ UINTN Count;\r
+ PCI_SEGMENT_INFO *SegmentInfo;\r
\r
SegmentInfo = GetPciSegmentInfo (&Count);\r
return MmioBitFieldOr32 (PciSegmentLibGetEcamAddress (Address, SegmentInfo, Count), StartBit, EndBit, OrData);\r
UINT32\r
EFIAPI\r
PciSegmentBitFieldAnd32 (\r
- IN UINT64 Address,\r
- IN UINTN StartBit,\r
- IN UINTN EndBit,\r
- IN UINT32 AndData\r
+ IN UINT64 Address,\r
+ IN UINTN StartBit,\r
+ IN UINTN EndBit,\r
+ IN UINT32 AndData\r
)\r
{\r
- UINTN Count;\r
- PCI_SEGMENT_INFO *SegmentInfo;\r
+ UINTN Count;\r
+ PCI_SEGMENT_INFO *SegmentInfo;\r
\r
SegmentInfo = GetPciSegmentInfo (&Count);\r
return MmioBitFieldAnd32 (PciSegmentLibGetEcamAddress (Address, SegmentInfo, Count), StartBit, EndBit, AndData);\r
UINT32\r
EFIAPI\r
PciSegmentBitFieldAndThenOr32 (\r
- IN UINT64 Address,\r
- IN UINTN StartBit,\r
- IN UINTN EndBit,\r
- IN UINT32 AndData,\r
- IN UINT32 OrData\r
+ IN UINT64 Address,\r
+ IN UINTN StartBit,\r
+ IN UINTN EndBit,\r
+ IN UINT32 AndData,\r
+ IN UINT32 OrData\r
)\r
{\r
- UINTN Count;\r
- PCI_SEGMENT_INFO *SegmentInfo;\r
+ UINTN Count;\r
+ PCI_SEGMENT_INFO *SegmentInfo;\r
+\r
SegmentInfo = GetPciSegmentInfo (&Count);\r
return MmioBitFieldAndThenOr32 (PciSegmentLibGetEcamAddress (Address, SegmentInfo, Count), StartBit, EndBit, AndData, OrData);\r
}\r
UINTN\r
EFIAPI\r
PciSegmentReadBuffer (\r
- IN UINT64 StartAddress,\r
- IN UINTN Size,\r
- OUT VOID *Buffer\r
+ IN UINT64 StartAddress,\r
+ IN UINTN Size,\r
+ OUT VOID *Buffer\r
)\r
{\r
- UINTN ReturnValue;\r
- UINTN Count;\r
- PCI_SEGMENT_INFO *SegmentInfo;\r
- UINTN Address;\r
+ UINTN ReturnValue;\r
+ UINTN Count;\r
+ PCI_SEGMENT_INFO *SegmentInfo;\r
+ UINTN Address;\r
\r
ASSERT (((StartAddress & 0xFFF) + Size) <= 0x1000);\r
\r
SegmentInfo = GetPciSegmentInfo (&Count);\r
- Address = PciSegmentLibGetEcamAddress (StartAddress, SegmentInfo, Count);\r
+ Address = PciSegmentLibGetEcamAddress (StartAddress, SegmentInfo, Count);\r
\r
if (Size == 0) {\r
return 0;\r
// Read a byte if StartAddress is byte aligned\r
//\r
*(volatile UINT8 *)Buffer = MmioRead8 (Address);\r
- Address += sizeof (UINT8);\r
- Size -= sizeof (UINT8);\r
- Buffer = (UINT8*)Buffer + 1;\r
+ Address += sizeof (UINT8);\r
+ Size -= sizeof (UINT8);\r
+ Buffer = (UINT8 *)Buffer + 1;\r
}\r
\r
- if (Size >= sizeof (UINT16) && (Address & BIT1) != 0) {\r
+ if ((Size >= sizeof (UINT16)) && ((Address & BIT1) != 0)) {\r
//\r
// Read a word if StartAddress is word aligned\r
//\r
WriteUnaligned16 (Buffer, MmioRead16 (Address));\r
Address += sizeof (UINT16);\r
- Size -= sizeof (UINT16);\r
- Buffer = (UINT16*)Buffer + 1;\r
+ Size -= sizeof (UINT16);\r
+ Buffer = (UINT16 *)Buffer + 1;\r
}\r
\r
while (Size >= sizeof (UINT32)) {\r
//\r
WriteUnaligned32 (Buffer, MmioRead32 (Address));\r
Address += sizeof (UINT32);\r
- Size -= sizeof (UINT32);\r
- Buffer = (UINT32*)Buffer + 1;\r
+ Size -= sizeof (UINT32);\r
+ Buffer = (UINT32 *)Buffer + 1;\r
}\r
\r
if (Size >= sizeof (UINT16)) {\r
//\r
WriteUnaligned16 (Buffer, MmioRead16 (Address));\r
Address += sizeof (UINT16);\r
- Size -= sizeof (UINT16);\r
- Buffer = (UINT16*)Buffer + 1;\r
+ Size -= sizeof (UINT16);\r
+ Buffer = (UINT16 *)Buffer + 1;\r
}\r
\r
if (Size >= sizeof (UINT8)) {\r
UINTN\r
EFIAPI\r
PciSegmentWriteBuffer (\r
- IN UINT64 StartAddress,\r
- IN UINTN Size,\r
- IN VOID *Buffer\r
+ IN UINT64 StartAddress,\r
+ IN UINTN Size,\r
+ IN VOID *Buffer\r
)\r
{\r
- UINTN ReturnValue;\r
- UINTN Count;\r
- PCI_SEGMENT_INFO *SegmentInfo;\r
- UINTN Address;\r
+ UINTN ReturnValue;\r
+ UINTN Count;\r
+ PCI_SEGMENT_INFO *SegmentInfo;\r
+ UINTN Address;\r
\r
ASSERT (((StartAddress & 0xFFF) + Size) <= 0x1000);\r
\r
SegmentInfo = GetPciSegmentInfo (&Count);\r
- Address = PciSegmentLibGetEcamAddress (StartAddress, SegmentInfo, Count);\r
+ Address = PciSegmentLibGetEcamAddress (StartAddress, SegmentInfo, Count);\r
\r
if (Size == 0) {\r
return 0;\r
//\r
// Write a byte if StartAddress is byte aligned\r
//\r
- MmioWrite8 (Address, *(UINT8*)Buffer);\r
+ MmioWrite8 (Address, *(UINT8 *)Buffer);\r
Address += sizeof (UINT8);\r
- Size -= sizeof (UINT8);\r
- Buffer = (UINT8*)Buffer + 1;\r
+ Size -= sizeof (UINT8);\r
+ Buffer = (UINT8 *)Buffer + 1;\r
}\r
\r
- if (Size >= sizeof (UINT16) && (Address & BIT1) != 0) {\r
+ if ((Size >= sizeof (UINT16)) && ((Address & BIT1) != 0)) {\r
//\r
// Write a word if StartAddress is word aligned\r
//\r
MmioWrite16 (Address, ReadUnaligned16 (Buffer));\r
Address += sizeof (UINT16);\r
- Size -= sizeof (UINT16);\r
- Buffer = (UINT16*)Buffer + 1;\r
+ Size -= sizeof (UINT16);\r
+ Buffer = (UINT16 *)Buffer + 1;\r
}\r
\r
while (Size >= sizeof (UINT32)) {\r
//\r
MmioWrite32 (Address, ReadUnaligned32 (Buffer));\r
Address += sizeof (UINT32);\r
- Size -= sizeof (UINT32);\r
- Buffer = (UINT32*)Buffer + 1;\r
+ Size -= sizeof (UINT32);\r
+ Buffer = (UINT32 *)Buffer + 1;\r
}\r
\r
if (Size >= sizeof (UINT16)) {\r
//\r
MmioWrite16 (Address, ReadUnaligned16 (Buffer));\r
Address += sizeof (UINT16);\r
- Size -= sizeof (UINT16);\r
- Buffer = (UINT16*)Buffer + 1;\r
+ Size -= sizeof (UINT16);\r
+ Buffer = (UINT16 *)Buffer + 1;\r
}\r
\r
if (Size >= sizeof (UINT8)) {\r
//\r
// Write the last remaining byte if exist\r
//\r
- MmioWrite8 (Address, *(UINT8*)Buffer);\r
+ MmioWrite8 (Address, *(UINT8 *)Buffer);\r
}\r
\r
return ReturnValue;\r