19 UINT32 Reserved2 : 16;
64 if (
sizeof (
UINTN) ==
sizeof (UINT32)) {
65 ASSERT (Address < BASE_4GB);
1196 IN UINT64 StartAddress,
1206 ASSERT (((StartAddress & 0xFFF) + Size) <= 0x1000);
1215 ASSERT (Buffer !=
NULL);
1222 if ((Address & BIT0) != 0) {
1226 *(
volatile UINT8 *)Buffer =
MmioRead8 (Address);
1227 Address +=
sizeof (UINT8);
1228 Size -=
sizeof (UINT8);
1229 Buffer = (UINT8 *)Buffer + 1;
1232 if ((Size >=
sizeof (UINT16)) && ((Address & BIT1) != 0)) {
1237 Address +=
sizeof (UINT16);
1238 Size -=
sizeof (UINT16);
1239 Buffer = (UINT16 *)Buffer + 1;
1242 while (Size >=
sizeof (UINT32)) {
1247 Address +=
sizeof (UINT32);
1248 Size -=
sizeof (UINT32);
1249 Buffer = (UINT32 *)Buffer + 1;
1252 if (Size >=
sizeof (UINT16)) {
1257 Address +=
sizeof (UINT16);
1258 Size -=
sizeof (UINT16);
1259 Buffer = (UINT16 *)Buffer + 1;
1262 if (Size >=
sizeof (UINT8)) {
1266 *(
volatile UINT8 *)Buffer =
MmioRead8 (Address);
1299 IN UINT64 StartAddress,
1309 ASSERT (((StartAddress & 0xFFF) + Size) <= 0x1000);
1318 ASSERT (Buffer !=
NULL);
1325 if ((Address & BIT0) != 0) {
1330 Address +=
sizeof (UINT8);
1331 Size -=
sizeof (UINT8);
1332 Buffer = (UINT8 *)Buffer + 1;
1335 if ((Size >=
sizeof (UINT16)) && ((Address & BIT1) != 0)) {
1340 Address +=
sizeof (UINT16);
1341 Size -=
sizeof (UINT16);
1342 Buffer = (UINT16 *)Buffer + 1;
1345 while (Size >=
sizeof (UINT32)) {
1350 Address +=
sizeof (UINT32);
1351 Size -=
sizeof (UINT32);
1352 Buffer = (UINT32 *)Buffer + 1;
1355 if (Size >=
sizeof (UINT16)) {
1360 Address +=
sizeof (UINT16);
1361 Size -=
sizeof (UINT16);
1362 Buffer = (UINT16 *)Buffer + 1;
1365 if (Size >=
sizeof (UINT8)) {
UINT16 EFIAPI ReadUnaligned16(IN CONST UINT16 *Buffer)
UINT32 EFIAPI WriteUnaligned32(OUT UINT32 *Buffer, IN UINT32 Value)
UINT16 EFIAPI WriteUnaligned16(OUT UINT16 *Buffer, IN UINT16 Value)
UINT32 EFIAPI ReadUnaligned32(IN CONST UINT32 *Buffer)
UINTN PciSegmentLibVirtualAddress(IN UINTN Address)
UINT16 EFIAPI MmioBitFieldAndThenOr16(IN UINTN Address, IN UINTN StartBit, IN UINTN EndBit, IN UINT16 AndData, IN UINT16 OrData)
UINT8 EFIAPI MmioBitFieldRead8(IN UINTN Address, IN UINTN StartBit, IN UINTN EndBit)
UINT32 EFIAPI MmioBitFieldWrite32(IN UINTN Address, IN UINTN StartBit, IN UINTN EndBit, IN UINT32 Value)
UINT8 EFIAPI MmioBitFieldOr8(IN UINTN Address, IN UINTN StartBit, IN UINTN EndBit, IN UINT8 OrData)
UINT8 EFIAPI MmioBitFieldWrite8(IN UINTN Address, IN UINTN StartBit, IN UINTN EndBit, IN UINT8 Value)
UINT8 EFIAPI MmioAnd8(IN UINTN Address, IN UINT8 AndData)
UINT16 EFIAPI MmioAndThenOr16(IN UINTN Address, IN UINT16 AndData, IN UINT16 OrData)
UINT32 EFIAPI MmioBitFieldAndThenOr32(IN UINTN Address, IN UINTN StartBit, IN UINTN EndBit, IN UINT32 AndData, IN UINT32 OrData)
UINT8 EFIAPI MmioBitFieldAndThenOr8(IN UINTN Address, IN UINTN StartBit, IN UINTN EndBit, IN UINT8 AndData, IN UINT8 OrData)
UINT16 EFIAPI MmioBitFieldWrite16(IN UINTN Address, IN UINTN StartBit, IN UINTN EndBit, IN UINT16 Value)
UINT32 EFIAPI MmioBitFieldOr32(IN UINTN Address, IN UINTN StartBit, IN UINTN EndBit, IN UINT32 OrData)
UINT16 EFIAPI MmioBitFieldAnd16(IN UINTN Address, IN UINTN StartBit, IN UINTN EndBit, IN UINT16 AndData)
UINT32 EFIAPI MmioBitFieldRead32(IN UINTN Address, IN UINTN StartBit, IN UINTN EndBit)
UINT16 EFIAPI MmioBitFieldOr16(IN UINTN Address, IN UINTN StartBit, IN UINTN EndBit, IN UINT16 OrData)
UINT32 EFIAPI MmioAnd32(IN UINTN Address, IN UINT32 AndData)
UINT32 EFIAPI MmioOr32(IN UINTN Address, IN UINT32 OrData)
UINT8 EFIAPI MmioAndThenOr8(IN UINTN Address, IN UINT8 AndData, IN UINT8 OrData)
UINT16 EFIAPI MmioBitFieldRead16(IN UINTN Address, IN UINTN StartBit, IN UINTN EndBit)
UINT16 EFIAPI MmioRead16(IN UINTN Address)
UINT8 EFIAPI MmioRead8(IN UINTN Address)
UINT8 EFIAPI MmioOr8(IN UINTN Address, IN UINT8 OrData)
UINT8 EFIAPI MmioWrite8(IN UINTN Address, IN UINT8 Value)
UINT32 EFIAPI MmioRead32(IN UINTN Address)
UINT16 EFIAPI MmioAnd16(IN UINTN Address, IN UINT16 AndData)
UINT8 EFIAPI MmioBitFieldAnd8(IN UINTN Address, IN UINTN StartBit, IN UINTN EndBit, IN UINT8 AndData)
UINT16 EFIAPI MmioOr16(IN UINTN Address, IN UINT16 OrData)
UINT16 EFIAPI MmioWrite16(IN UINTN Address, IN UINT16 Value)
UINT32 EFIAPI MmioAndThenOr32(IN UINTN Address, IN UINT32 AndData, IN UINT32 OrData)
UINT32 EFIAPI MmioBitFieldAnd32(IN UINTN Address, IN UINTN StartBit, IN UINTN EndBit, IN UINT32 AndData)
UINT32 EFIAPI MmioWrite32(IN UINTN Address, IN UINT32 Value)
#define PCI_ECAM_ADDRESS(Bus, Device, Function, Offset)
PCI_SEGMENT_INFO *EFIAPI GetPciSegmentInfo(UINTN *Count)
UINT8 EFIAPI PciSegmentRead8(IN UINT64 Address)
UINT32 EFIAPI PciSegmentAnd32(IN UINT64 Address, IN UINT32 AndData)
UINT16 EFIAPI PciSegmentWrite16(IN UINT64 Address, IN UINT16 Value)
UINT16 EFIAPI PciSegmentBitFieldAnd16(IN UINT64 Address, IN UINTN StartBit, IN UINTN EndBit, IN UINT16 AndData)
UINT32 EFIAPI PciSegmentWrite32(IN UINT64 Address, IN UINT32 Value)
UINT8 EFIAPI PciSegmentBitFieldOr8(IN UINT64 Address, IN UINTN StartBit, IN UINTN EndBit, IN UINT8 OrData)
UINT16 EFIAPI PciSegmentBitFieldOr16(IN UINT64 Address, IN UINTN StartBit, IN UINTN EndBit, IN UINT16 OrData)
UINTN EFIAPI PciSegmentReadBuffer(IN UINT64 StartAddress, IN UINTN Size, OUT VOID *Buffer)
UINT8 EFIAPI PciSegmentBitFieldAnd8(IN UINT64 Address, IN UINTN StartBit, IN UINTN EndBit, IN UINT8 AndData)
UINT16 EFIAPI PciSegmentAnd16(IN UINT64 Address, IN UINT16 AndData)
UINT16 EFIAPI PciSegmentRead16(IN UINT64 Address)
UINT32 EFIAPI PciSegmentBitFieldWrite32(IN UINT64 Address, IN UINTN StartBit, IN UINTN EndBit, IN UINT32 Value)
UINTN PciSegmentLibGetEcamAddress(IN UINT64 Address, IN CONST PCI_SEGMENT_INFO *SegmentInfo, IN UINTN Count)
UINT8 EFIAPI PciSegmentBitFieldWrite8(IN UINT64 Address, IN UINTN StartBit, IN UINTN EndBit, IN UINT8 Value)
UINT16 EFIAPI PciSegmentOr16(IN UINT64 Address, IN UINT16 OrData)
UINT32 EFIAPI PciSegmentBitFieldAndThenOr32(IN UINT64 Address, IN UINTN StartBit, IN UINTN EndBit, IN UINT32 AndData, IN UINT32 OrData)
UINT8 EFIAPI PciSegmentBitFieldRead8(IN UINT64 Address, IN UINTN StartBit, IN UINTN EndBit)
UINT8 EFIAPI PciSegmentOr8(IN UINT64 Address, IN UINT8 OrData)
UINT16 EFIAPI PciSegmentBitFieldAndThenOr16(IN UINT64 Address, IN UINTN StartBit, IN UINTN EndBit, IN UINT16 AndData, IN UINT16 OrData)
UINT16 EFIAPI PciSegmentBitFieldRead16(IN UINT64 Address, IN UINTN StartBit, IN UINTN EndBit)
UINT32 EFIAPI PciSegmentAndThenOr32(IN UINT64 Address, IN UINT32 AndData, IN UINT32 OrData)
UINT32 EFIAPI PciSegmentRead32(IN UINT64 Address)
UINT8 EFIAPI PciSegmentAnd8(IN UINT64 Address, IN UINT8 AndData)
UINT8 EFIAPI PciSegmentBitFieldAndThenOr8(IN UINT64 Address, IN UINTN StartBit, IN UINTN EndBit, IN UINT8 AndData, IN UINT8 OrData)
UINT32 EFIAPI PciSegmentBitFieldOr32(IN UINT64 Address, IN UINTN StartBit, IN UINTN EndBit, IN UINT32 OrData)
UINT16 EFIAPI PciSegmentAndThenOr16(IN UINT64 Address, IN UINT16 AndData, IN UINT16 OrData)
UINT32 EFIAPI PciSegmentBitFieldAnd32(IN UINT64 Address, IN UINTN StartBit, IN UINTN EndBit, IN UINT32 AndData)
UINT8 EFIAPI PciSegmentAndThenOr8(IN UINT64 Address, IN UINT8 AndData, IN UINT8 OrData)
UINT16 EFIAPI PciSegmentBitFieldWrite16(IN UINT64 Address, IN UINTN StartBit, IN UINTN EndBit, IN UINT16 Value)
UINT8 EFIAPI PciSegmentWrite8(IN UINT64 Address, IN UINT8 Value)
UINT32 EFIAPI PciSegmentBitFieldRead32(IN UINT64 Address, IN UINTN StartBit, IN UINTN EndBit)
UINTN EFIAPI PciSegmentWriteBuffer(IN UINT64 StartAddress, IN UINTN Size, IN VOID *Buffer)
UINT32 EFIAPI PciSegmentOr32(IN UINT64 Address, IN UINT32 OrData)
EFI_STATUS EFIAPI Register(IN EFI_PEI_RSC_HANDLER_CALLBACK Callback)