The Pedigree Project  0.1
Public Member Functions | Static Public Member Functions | Private Member Functions | Private Attributes | Static Private Attributes | List of all members
Pc Class Reference

#include <Pc.h>

+ Inheritance diagram for Pc:
+ Collaboration diagram for Pc:

Public Member Functions

virtual void initialise () INITIALISATION_ONLY
 
virtual void initialise3 ()
 Called after processor startup - for thread creation etc.
 
virtual void deinitialise ()
 
virtual void initialiseDeviceTree ()
 
virtual SerialgetSerial (size_t n)
 
virtual size_t getNumSerial ()
 
virtual VgagetVga (size_t n)
 
virtual size_t getNumVga ()
 
virtual IrqManagergetIrqManager ()
 
virtual SchedulerTimergetSchedulerTimer ()
 
virtual TimergetTimer ()
 
virtual KeyboardgetKeyboard ()
 
virtual void setKeyboard (Keyboard *kb)
 
- Public Member Functions inherited from Machine
virtual void initialise2 ()
 Called after debugger startup.
 
bool isInitialised ()
 

Static Public Member Functions

static Pcinstance ()
 
- Static Public Member Functions inherited from Machine
static Machineinstance ()
 

Private Member Functions

 Pc () INITIALISATION_ONLY
 
 Pc (const Pc &)
 
Pcoperator= (const Pc &)
 
virtual ~Pc ()
 

Private Attributes

X86Serial m_pSerial [4]
 
X86Vga m_Vga
 
Keyboardm_pKeyboard
 
X86Keyboard m_Keyboard
 
Bus m_IsaBus
 
Controller m_AtaMaster
 
Controller m_AtaSlave
 
Ps2Controller m_Ps2Controller
 
Device m_Watchdog
 

Static Private Attributes

static Pc m_Instance
 

Additional Inherited Members

- Protected Attributes inherited from Machine
bool m_bInitialised
 

Detailed Description

Concretion of the abstract Machine class for x86 and x64 machines

Definition at line 49 of file Pc.h.

Constructor & Destructor Documentation

Pc::Pc ( )
private

Default constructor, does nothing.

Definition at line 280 of file Pc.cc.

Pc::~Pc ( )
privatevirtual

Virtual destructor, does nothing.

Definition at line 295 of file Pc.cc.

Member Function Documentation

Keyboard * Pc::getKeyboard ( )
virtual

Returns the keyboard device.

Implements Machine.

Definition at line 262 of file Pc.cc.

size_t Pc::getNumSerial ( )
virtual

Returns the number of Serial device.

Implements Machine.

Definition at line 228 of file Pc.cc.

size_t Pc::getNumVga ( )
virtual

Returns the number of VGA devices.

Implements Machine.

Definition at line 238 of file Pc.cc.

References Pic::instance().

SchedulerTimer * Pc::getSchedulerTimer ( )
virtual

Returns the SchedulerTimer device.

Implements Machine.

Definition at line 248 of file Pc.cc.

References Pit::instance().

Serial * Pc::getSerial ( size_t  n)
virtual

Returns the n'th Serial device.

Implements Machine.

Definition at line 223 of file Pc.cc.

Timer * Pc::getTimer ( )
virtual

Returns the n'th Timer device.

Implements Machine.

Definition at line 257 of file Pc.cc.

Vga * Pc::getVga ( size_t  n)
virtual

Returns the n'th VGA device.

Implements Machine.

Definition at line 233 of file Pc.cc.

void Pc::initialise ( )
virtual
void Pc::initialiseDeviceTree ( )
virtual

Initialises the machine's base device tree, if one exists, to prefill the tree with those devices that are not otherwise able to be detected via some sort of bus support.

Reimplemented from Machine.

Definition at line 178 of file Pc.cc.

References Device::addChild(), Device::addresses(), Device::addToRoot(), PciBus::initialise(), Device::setInterruptNumber(), Device::setParent(), and Device::setSpecificType().

void Pc::setKeyboard ( Keyboard kb)
virtual

Sets the keyboard device.

Implements Machine.

Definition at line 267 of file Pc.cc.


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