The Pedigree Project 0.1
Classes | Public Member Functions | Static Public Member Functions | Private Member Functions | Private Attributes | List of all members
PciConfigAccess< Io, Lock > Class Template Reference
+ Collaboration diagram for PciConfigAccess< Io, Lock >:

Classes

struct  Guard
 

Public Member Functions

 PciConfigAccess (Io &io, Lock &lock)
 
bool read (uint8_t bus, uint8_t device, uint8_t function, uint16_t offset, uint8_t width, uint32_t &value)
 
bool write (uint8_t bus, uint8_t device, uint8_t function, uint16_t offset, uint8_t width, uint32_t value)
 
bool updateCommand (uint8_t bus, uint8_t device, uint8_t function, uint16_t clearBits, uint16_t setBits)
 

Static Public Member Functions

static bool valid (uint8_t device, uint8_t function, uint16_t offset, uint8_t width)
 

Private Member Functions

void select (uint8_t bus, uint8_t device, uint8_t function, uint16_t offset)
 
uint32_t readData (uint16_t offset, uint8_t width)
 
void writeData (uint16_t offset, uint8_t width, uint32_t value)
 

Private Attributes

Io & m_Io
 
Lock & m_Lock
 

Detailed Description

template<class Io, class Lock>
class PciConfigAccess< Io, Lock >

Definition at line 9 of file PciConfigAccess.h.

Constructor & Destructor Documentation

◆ PciConfigAccess()

template<class Io , class Lock >
PciConfigAccess< Io, Lock >::PciConfigAccess ( Io &  io,
Lock &  lock 
)
inline

Definition at line 11 of file PciConfigAccess.h.

Member Function Documentation

◆ read()

template<class Io , class Lock >
bool PciConfigAccess< Io, Lock >::read ( uint8_t  bus,
uint8_t  device,
uint8_t  function,
uint16_t  offset,
uint8_t  width,
uint32_t &  value 
)
inline

Definition at line 16 of file PciConfigAccess.h.

◆ readData()

template<class Io , class Lock >
uint32_t PciConfigAccess< Io, Lock >::readData ( uint16_t  offset,
uint8_t  width 
)
inlineprivate

Definition at line 60 of file PciConfigAccess.h.

◆ select()

template<class Io , class Lock >
void PciConfigAccess< Io, Lock >::select ( uint8_t  bus,
uint8_t  device,
uint8_t  function,
uint16_t  offset 
)
inlineprivate

Definition at line 55 of file PciConfigAccess.h.

◆ updateCommand()

template<class Io , class Lock >
bool PciConfigAccess< Io, Lock >::updateCommand ( uint8_t  bus,
uint8_t  device,
uint8_t  function,
uint16_t  clearBits,
uint16_t  setBits 
)
inline

Definition at line 34 of file PciConfigAccess.h.

◆ valid()

template<class Io , class Lock >
static bool PciConfigAccess< Io, Lock >::valid ( uint8_t  device,
uint8_t  function,
uint16_t  offset,
uint8_t  width 
)
inlinestatic

Definition at line 12 of file PciConfigAccess.h.

◆ write()

template<class Io , class Lock >
bool PciConfigAccess< Io, Lock >::write ( uint8_t  bus,
uint8_t  device,
uint8_t  function,
uint16_t  offset,
uint8_t  width,
uint32_t  value 
)
inline

Definition at line 25 of file PciConfigAccess.h.

◆ writeData()

template<class Io , class Lock >
void PciConfigAccess< Io, Lock >::writeData ( uint16_t  offset,
uint8_t  width,
uint32_t  value 
)
inlineprivate

Definition at line 68 of file PciConfigAccess.h.

Member Data Documentation

◆ m_Io

template<class Io , class Lock >
Io& PciConfigAccess< Io, Lock >::m_Io
private

Definition at line 77 of file PciConfigAccess.h.

◆ m_Lock

template<class Io , class Lock >
Lock& PciConfigAccess< Io, Lock >::m_Lock
private

Definition at line 78 of file PciConfigAccess.h.


The documentation for this class was generated from the following file: