The Pedigree Project
0.1
|
#include <Machine.h>
Public Member Functions | |
virtual void | initialise ()=0 |
virtual void | initialise2 () |
Called after debugger startup. | |
virtual void | initialise3 () |
Called after processor startup - for thread creation etc. | |
virtual void | deinitialise () |
bool | isInitialised () |
virtual void | initialiseDeviceTree () |
virtual Serial * | getSerial (size_t n)=0 |
virtual size_t | getNumSerial ()=0 |
virtual Vga * | getVga (size_t n)=0 |
virtual size_t | getNumVga ()=0 |
virtual IrqManager * | getIrqManager ()=0 |
virtual SchedulerTimer * | getSchedulerTimer ()=0 |
virtual Timer * | getTimer ()=0 |
virtual Keyboard * | getKeyboard ()=0 |
virtual void | setKeyboard (Keyboard *kb)=0 |
Static Public Member Functions | |
static Machine & | instance () |
Protected Attributes | |
bool | m_bInitialised |
Private Member Functions | |
Machine (const Machine &) | |
Machine & | operator= (const Machine &) |
Friends | |
void | system_reset () |
This is an abstraction on a machine, or board. It provides functions to retrieve Timers, Serial controllers, VGA controllers, Ethernet controllers etc, without having to know the exact implementation required or memory map. It also provides a "probe" function, which will attempt to detect if a machine is present.
Definition at line 41 of file include/pedigree/kernel/machine/Machine.h.
|
pure virtual |
Returns the keyboard device.
Implemented in Pc, HostedMachine, ArmBeagle, Mac, ArmVersatile, Bonito64, and Malta.
Referenced by Debugger::start().
|
pure virtual |
Returns the number of Serial device.
Implemented in Pc, HostedMachine, ArmBeagle, Mac, ArmVersatile, Bonito64, Malta, and Db1500.
|
pure virtual |
Returns the number of VGA devices.
Implemented in Pc, HostedMachine, ArmBeagle, Mac, ArmVersatile, Bonito64, Malta, and Db1500.
Referenced by FramebufferFile::command().
|
pure virtual |
Returns the SchedulerTimer device.
Implemented in Pc, HostedMachine, ArmBeagle, Mac, ArmVersatile, Bonito64, Malta, and Db1500.
Referenced by PerProcessorScheduler::initialise().
|
pure virtual |
Returns the n'th Serial device.
Implemented in Pc, HostedMachine, ArmBeagle, Mac, ArmVersatile, Bonito64, Malta, and Db1500.
Referenced by SlamCommand::execute(), BootIO::initialise(), HostedTimer::irq(), and Rtc::irq().
|
pure virtual |
Returns the n'th Timer device.
Implemented in Pc, HostedMachine, ArmBeagle, Mac, ArmVersatile, Bonito64, Malta, and Db1500.
Referenced by Semaphore::acquireWithResult(), RequestQueue::destroy(), CacheManager::initialise(), RequestQueue::initialise(), IntervalTimer::IntervalTimer(), HidInputManager::keyDown(), Log::LogEntry::operator<<(), WaitCleanup::terminated(), TimeoutGuard::TimeoutGuard(), HidInputManager::timer(), UptimeFile::writeBytewise(), and TimeoutGuard::~TimeoutGuard().
|
pure virtual |
Returns the n'th VGA device.
Implemented in Pc, HostedMachine, ArmBeagle, Mac, ArmVersatile, Bonito64, Malta, and Db1500.
Referenced by FramebufferFile::command(), BootIO::initialise(), TextIO::initialise(), VbeDisplay::setScreenMode(), and VmwareGraphics::setScreenMode().
|
pure virtual |
Initialises the machine.
Implemented in Pc, HostedMachine, Mac, ArmBeagle, ArmVersatile, Bonito64, Malta, and Db1500.
|
inlinevirtual |
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 in Pc, ArmBeagle, Mac, ArmVersatile, and HostedMachine.
Definition at line 74 of file include/pedigree/kernel/machine/Machine.h.
|
pure virtual |
Sets the keyboard device.
Implemented in Pc, HostedMachine, ArmBeagle, and ArmVersatile.