|
The Pedigree Project 0.1
|
#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 () |
| bool | supportsPowerOff () const override |
| bool | prepareShutdown (ShutdownType type) override |
| void | finalShutdown (ShutdownType type) override |
| virtual void | initialiseDeviceTree () |
| virtual Serial * | getSerial (size_t n) |
| virtual size_t | getNumSerial () |
| virtual Vga * | getVga (size_t n) |
| virtual size_t | getNumVga () |
| virtual IrqManager * | getIrqManager () |
| virtual SchedulerTimer * | getSchedulerTimer () |
| virtual Timer * | getTimer () |
| virtual Keyboard * | getKeyboard () |
| virtual void | setKeyboard (Keyboard *kb) |
| bool | localApicAvailable () const |
Public Member Functions inherited from Machine | |
| void | displayShutdownMessage (const char *message) |
| virtual void | initialise2 () |
| Called after debugger startup. | |
| bool | isInitialised () |
| virtual MUST_USE_RESULT bool | quiesceAllOtherProcessors () |
| virtual MUST_USE_RESULT bool | resumeAllOtherProcessors () |
| virtual MUST_USE_RESULT bool | stopAllOtherProcessors () |
Static Public Member Functions | |
| static Pc & | instance () |
Static Public Member Functions inherited from Machine | |
| static void | setShutdownPhase (ShutdownPhase phase) |
| static const char * | shutdownPhaseName () |
| static Machine & | instance () |
Private Member Functions | |
| Pc () INITIALISATION_ONLY | |
| Pc (const Pc &) | |
| Pc & | operator= (const Pc &) |
| virtual | ~Pc () |
Private Attributes | |
| X86Serial * | m_pSerial [4] |
| X86Vga * | m_Vga |
| Keyboard * | m_pKeyboard |
| PcSchedulerTimerSelection | m_SchedulerTimerSelection |
| 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 | |
Public Types inherited from Machine | |
| enum class | ShutdownType { Restart , Halt , PowerOff } |
| enum class | ShutdownPhase { NotStarted , Requested , Userspace , Syscalls , Filesystems , Modules , Firmware , Destructors , Input , Caches , Timers , Devices , Processors , ProcessorCleanup , FinalAction } |
Protected Attributes inherited from Machine | |
| bool | m_bInitialised |
Concretion of the abstract Machine class for x86 and x64 machines
|
virtual |
Stops platform services while interrupts and the scheduler are alive. Implementations may synchronously drain callbacks and join workers.
Reimplemented from Machine.
Definition at line 219 of file Pc.cc.
References Pic::instance(), Pit::instance(), panic(), Pit::uninitialise(), Ps2Controller::uninitialise(), and Rtc::uninitialise().
|
overridevirtual |
Runs after all workers, devices and other processors have stopped.
Reimplemented from Machine.
Definition at line 128 of file Pc.cc.
References Machine::displayShutdownMessage(), and ProcessorBase::reset().
|
virtual |
|
virtual |
|
virtual |
|
virtual |
|
virtual |
Returns the SchedulerTimer device.
Implements Machine.
Definition at line 339 of file Pc.cc.
References Pit::instance().
|
virtual |
|
virtual |
|
virtual |
|
virtual |
Initialises the machine.
Implements Machine.
Definition at line 161 of file Pc.cc.
References X86Keyboard::initialise(), Pic::initialise(), Pit::initialise(), Rtc::initialise1(), Rtc::initialise2(), Pic::instance(), Pit::instance(), panic(), and X86Serial::setBase().
|
virtual |
Called after processor startup - for thread creation etc.
Reimplemented from Machine.
Definition at line 251 of file Pc.cc.
References initialise3(), Ps2Controller::initialise3(), Pic::instance(), and panic().
Referenced by initialise3().
Here is the caller graph for this function:
|
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 264 of file Pc.cc.
References Device::addChild(), Device::addresses(), Device::addToRoot(), PciBus::initialise(), Device::setInterruptNumber(), Device::setParent(), and Device::setSpecificType().
|
inline |
|
overridevirtual |
|
virtual |
|
overridevirtual |
|
private |
|
private |
|
private |
|
private |
|
private |