The Pedigree Project 0.1
Public Member Functions | Private Attributes | List of all members
Ib700Watchdog Class Reference
+ Inheritance diagram for Ib700Watchdog:
+ Collaboration diagram for Ib700Watchdog:

Public Member Functions

 Ib700Watchdog (Device *pDev)
 
virtual bool initialise ()
 
void shutdown ()
 
virtual void getName (String &str)
 
virtual void timer (uint64_t delta)
 
- Public Member Functions inherited from Device
 Device (Device *p)
 
Device * getParent () const
 
void setParent (Device *p)
 
virtual Type getType ()
 
virtual const String & getSpecificType ()
 
virtual void setSpecificType (String str)
 
void setPciPosition (uint32_t bus, uint32_t device, uint32_t func)
 
void setPciIdentifiers (uint8_t classCode, uint8_t subclassCode, uint16_t vendorId, uint16_t deviceId, uint8_t progIf)
 
void setPciConfigHeader (const PciBus::ConfigSpace &space)
 
PciBus::ConfigSpace getPciConfigHeader () const
 
uint8_t getPciClassCode ()
 
uint8_t getPciSubclassCode ()
 
uint16_t getPciVendorId ()
 
uint16_t getPciDeviceId ()
 
uint8_t getPciProgInterface ()
 
uint32_t getPciBusPosition ()
 
uint32_t getPciDevicePosition ()
 
uint32_t getPciFunctionNumber ()
 
Device * getPhysicalFunction () const
 
size_t getVirtualFunctionIndex () const
 
void setVirtualFunction (Device *physicalFunction, size_t index)
 
virtual void dump (String &str)
 
virtual Vector< Address * > & addresses ()
 
virtual uintptr_t getInterruptNumber ()
 
virtual void setInterruptNumber (uintptr_t n)
 
void addChild (Device *pDevice)
 
Device * getChild (size_t n)
 
size_t getNumChildren ()
 
void removeChild (size_t n)
 
void removeChild (Device *d)
 
void replaceChild (Device *src, Device *dest)
 

Private Attributes

IoBase * m_pBase
 
Timer * m_pTimer
 
uint64_t m_RefreshRemaining
 

Additional Inherited Members

- Public Types inherited from Device
enum  Type {
  Generic , Root , Disk , Bus ,
  Display , Network , Sound , Console ,
  Mouse , Controller , UsbController , UsbGeneric ,
  UsbContainer
}
 
typedef Device *(* Callback) (Device *)
 
- Static Public Member Functions inherited from Device
static bool treeLockHeldByCurrentThread ()
 
static void foreach (Callback callback, Device *root=0)
 
template<class F , class... Args>
static void foreach (pedigree_std::Callable< F > &callback, Device *root, Args... args)
 
static void addToRoot (Device *device)
 
static void searchByVendorId (uint16_t vendorId, void(*callback)(Device *), Device *root=0)
 
static void searchByVendorIdAndDeviceId (uint16_t vendorId, uint16_t deviceId, void(*callback)(Device *), Device *root=0)
 
static void searchByClass (uint16_t classCode, void(*callback)(Device *), Device *root=0)
 
static void searchByClassAndSubclass (uint16_t classCode, uint16_t subclassCode, void(*callback)(Device *), Device *root=0)
 
static void searchByClassSubclassAndProgInterface (uint16_t classCode, uint16_t subclassCode, uint8_t progInterface, void(*callback)(Device *), Device *root=0)
 
- Protected Member Functions inherited from Device
 NOT_COPYABLE_OR_ASSIGNABLE (Device)
 
- Static Protected Member Functions inherited from Device
static Device & root ()
 
- Protected Attributes inherited from Device
Vector< Address * > m_Addresses
 
Vector< Device * > m_Children
 
Device * m_pParent
 
Device * m_PhysicalFunction
 
size_t m_VirtualFunctionIndex
 
uintptr_t m_InterruptNumber
 
String m_SpecificType
 
PciBus::ConfigSpace m_ConfigHeader
 
uint8_t m_ClassCode
 
uint8_t m_SubclassCode
 
uint16_t m_VendorId
 
uint16_t m_DeviceId
 
uint8_t m_ProgInterface
 
uint32_t m_PciBusPos
 
uint32_t m_PciDevicePos
 
uint32_t m_PciFunctionNum
 
- Static Protected Attributes inherited from Device
static Device m_Root
 
static Mutex m_TreeLock
 

Detailed Description

Definition at line 54 of file modules/drivers/x86/ib700_wdt/main.cc.

Constructor & Destructor Documentation

◆ Ib700Watchdog()

Ib700Watchdog::Ib700Watchdog ( Device *  pDev)

Definition at line 121 of file modules/drivers/x86/ib700_wdt/main.cc.

◆ ~Ib700Watchdog()

Ib700Watchdog::~Ib700Watchdog ( )
virtual

Definition at line 129 of file modules/drivers/x86/ib700_wdt/main.cc.

Member Function Documentation

◆ getName()

void Ib700Watchdog::getName ( String &  str)
virtual

Stores the device's name in str.

Reimplemented from Device.

Definition at line 177 of file modules/drivers/x86/ib700_wdt/main.cc.

◆ initialise()

bool Ib700Watchdog::initialise ( )
virtual

Definition at line 148 of file modules/drivers/x86/ib700_wdt/main.cc.

◆ shutdown()

void Ib700Watchdog::shutdown ( )

Definition at line 133 of file modules/drivers/x86/ib700_wdt/main.cc.

◆ timer()

void Ib700Watchdog::timer ( uint64_t  delta)
virtual

Called when the handler is registered with the Timer class and a timer event occurred.

Parameters
[in]deltatime elapsed since the last event, in nanoseconds.

Implements TimerHandler.

Definition at line 181 of file modules/drivers/x86/ib700_wdt/main.cc.

References Timer::armHandler(), Timer::supportsDeadlines(), and IoBase::write8().

Member Data Documentation

◆ m_pBase

IoBase* Ib700Watchdog::m_pBase
private

Definition at line 69 of file modules/drivers/x86/ib700_wdt/main.cc.

◆ m_pTimer

Timer* Ib700Watchdog::m_pTimer
private

Definition at line 70 of file modules/drivers/x86/ib700_wdt/main.cc.

◆ m_RefreshRemaining

uint64_t Ib700Watchdog::m_RefreshRemaining
private

Definition at line 71 of file modules/drivers/x86/ib700_wdt/main.cc.


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