25#define ASSERT_INVALID_PCI_SEGMENT_ADDRESS(A, M) \
26 ASSERT (((A) & (0xfffffffff0000000ULL | (M))) == 0)
33#define PCI_SEGMENT_TO_PCI_ADDRESS(A) ((UINTN) (UINT32) A)
1116 IN UINT64 StartAddress,
1124 ASSERT (((StartAddress & 0xFFF) + Size) <= 0x1000);
1130 ASSERT (Buffer !=
NULL);
1137 if ((StartAddress & BIT0) != 0) {
1142 StartAddress +=
sizeof (UINT8);
1143 Size -=
sizeof (UINT8);
1144 Buffer = (UINT8 *)Buffer + 1;
1147 if ((Size >=
sizeof (UINT16)) && ((StartAddress & BIT1) != 0)) {
1152 StartAddress +=
sizeof (UINT16);
1153 Size -=
sizeof (UINT16);
1154 Buffer = (UINT16 *)Buffer + 1;
1157 while (Size >=
sizeof (UINT32)) {
1162 StartAddress +=
sizeof (UINT32);
1163 Size -=
sizeof (UINT32);
1164 Buffer = (UINT32 *)Buffer + 1;
1167 if (Size >=
sizeof (UINT16)) {
1172 StartAddress +=
sizeof (UINT16);
1173 Size -=
sizeof (UINT16);
1174 Buffer = (UINT16 *)Buffer + 1;
1177 if (Size >=
sizeof (UINT8)) {
1214 IN UINT64 StartAddress,
1222 ASSERT (((StartAddress & 0xFFF) + Size) <= 0x1000);
1228 ASSERT (Buffer !=
NULL);
1235 if ((StartAddress & BIT0) != 0) {
1240 StartAddress +=
sizeof (UINT8);
1241 Size -=
sizeof (UINT8);
1242 Buffer = (UINT8 *)Buffer + 1;
1245 if ((Size >=
sizeof (UINT16)) && ((StartAddress & BIT1) != 0)) {
1250 StartAddress +=
sizeof (UINT16);
1251 Size -=
sizeof (UINT16);
1252 Buffer = (UINT16 *)Buffer + 1;
1255 while (Size >=
sizeof (UINT32)) {
1260 StartAddress +=
sizeof (UINT32);
1261 Size -=
sizeof (UINT32);
1262 Buffer = (UINT32 *)Buffer + 1;
1265 if (Size >=
sizeof (UINT16)) {
1270 StartAddress +=
sizeof (UINT16);
1271 Size -=
sizeof (UINT16);
1272 Buffer = (UINT16 *)Buffer + 1;
1275 if (Size >=
sizeof (UINT8)) {
UINT32 EFIAPI BitFieldAnd32(IN UINT32 Operand, IN UINTN StartBit, IN UINTN EndBit, IN UINT32 AndData)
UINT16 EFIAPI BitFieldAnd16(IN UINT16 Operand, IN UINTN StartBit, IN UINTN EndBit, IN UINT16 AndData)
UINT8 EFIAPI BitFieldAndThenOr8(IN UINT8 Operand, IN UINTN StartBit, IN UINTN EndBit, IN UINT8 AndData, IN UINT8 OrData)
UINT32 EFIAPI BitFieldAndThenOr32(IN UINT32 Operand, IN UINTN StartBit, IN UINTN EndBit, IN UINT32 AndData, IN UINT32 OrData)
UINT32 EFIAPI BitFieldWrite32(IN UINT32 Operand, IN UINTN StartBit, IN UINTN EndBit, IN UINT32 Value)
UINT16 EFIAPI BitFieldAndThenOr16(IN UINT16 Operand, IN UINTN StartBit, IN UINTN EndBit, IN UINT16 AndData, IN UINT16 OrData)
UINT32 EFIAPI BitFieldOr32(IN UINT32 Operand, IN UINTN StartBit, IN UINTN EndBit, IN UINT32 OrData)
UINT16 EFIAPI ReadUnaligned16(IN CONST UINT16 *Buffer)
UINT8 EFIAPI BitFieldWrite8(IN UINT8 Operand, IN UINTN StartBit, IN UINTN EndBit, IN UINT8 Value)
UINT8 EFIAPI BitFieldRead8(IN UINT8 Operand, IN UINTN StartBit, IN UINTN EndBit)
UINT8 EFIAPI BitFieldAnd8(IN UINT8 Operand, IN UINTN StartBit, IN UINTN EndBit, IN UINT8 AndData)
UINT32 EFIAPI WriteUnaligned32(OUT UINT32 *Buffer, IN UINT32 Value)
UINT16 EFIAPI BitFieldWrite16(IN UINT16 Operand, IN UINTN StartBit, IN UINTN EndBit, IN UINT16 Value)
UINT16 EFIAPI WriteUnaligned16(OUT UINT16 *Buffer, IN UINT16 Value)
UINT16 EFIAPI BitFieldOr16(IN UINT16 Operand, IN UINTN StartBit, IN UINTN EndBit, IN UINT16 OrData)
UINT16 EFIAPI BitFieldRead16(IN UINT16 Operand, IN UINTN StartBit, IN UINTN EndBit)
UINT8 EFIAPI BitFieldOr8(IN UINT8 Operand, IN UINTN StartBit, IN UINTN EndBit, IN UINT8 OrData)
UINT32 EFIAPI BitFieldRead32(IN UINT32 Operand, IN UINTN StartBit, IN UINTN EndBit)
UINT32 EFIAPI ReadUnaligned32(IN CONST UINT32 *Buffer)
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)
RETURN_STATUS EFIAPI PciSegmentRegisterForRuntimeAccess(IN UINTN Address)
UINT32 EFIAPI PciSegmentBitFieldWrite32(IN UINT64 Address, IN UINTN StartBit, IN UINTN EndBit, IN UINT32 Value)
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)
#define PCI_SEGMENT_TO_PCI_ADDRESS(A)
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)
#define ASSERT_INVALID_PCI_SEGMENT_ADDRESS(A, M)
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)
UINT32 EFIAPI PciRead32(IN UINTN Address)
RETURN_STATUS EFIAPI PciRegisterForRuntimeAccess(IN UINTN Address)
UINT8 EFIAPI PciRead8(IN UINTN Address)
UINT32 EFIAPI PciWrite32(IN UINTN Address, IN UINT32 Value)
UINT8 EFIAPI PciWrite8(IN UINTN Address, IN UINT8 Value)
UINT16 EFIAPI PciWrite16(IN UINTN Address, IN UINT16 Value)
UINT16 EFIAPI PciRead16(IN UINTN Address)