41 static_assert(
sizeof(T) <=
sizeof(
UInt32),
"64-bit PCI addressing is unsupported");
42 return Read(bar,
sizeof(T));
47 static_assert(
sizeof(T) <=
sizeof(
UInt32),
"64-bit PCI addressing is unsupported");
48 Write(bar, data,
sizeof(T));
UShort InterfaceId()
Definition Device.cc:88
UShort fFunction
Definition Device.h:70
UChar ProgIf()
Definition Device.cc:100
UChar HeaderType()
Definition Device.cc:104
UShort VendorId()
Definition Device.cc:84
Device(const Device &)=default
UShort DeviceId()
Definition Device.cc:80
UChar Class()
Definition Device.cc:92
UShort Vendor()
Definition Device.cc:134
Device & operator=(const Device &)=default
void BecomeBusMaster()
Definition Device.cc:115
void EnableMmio()
Definition Device.cc:108
UInt32 fBar
Definition Device.h:71
UInt Read(UInt bar, Size szData)
Definition Device.cc:44
UChar Subclass()
Definition Device.cc:96
void Write(UInt bar, UIntPtr data, Size szData)
Definition Device.cc:58
UInt Read(UInt bar)
Definition Device.h:40
UShort fDevice
Definition Device.h:69
UShort fBus
Definition Device.h:68
UIntPtr Bar(UInt32 bar_in)
Definition Device.cc:121
void Write(UInt bar, UIntPtr data)
Definition Device.h:46
PciConfigKind
Definition Device.h:11
@ CommandReg
Definition Device.h:14
@ Invalid
Definition Device.h:15
@ ConfigAddress
Definition Device.h:12
@ ConfigData
Definition Device.h:13
__SIZE_TYPE__ Size
Definition Defines.h:57
unsigned int UInt32
Definition Defines.h:44
unsigned char UChar
Definition Defines.h:52
unsigned short UShort
Definition Defines.h:39
__UINTPTR_TYPE__ UIntPtr
Definition Defines.h:60
unsigned int UInt
Definition Defines.h:43