FreeNOS
Public Types | Public Member Functions | Protected Attributes
CoreManager Class Referenceabstract

Generic Core Manager. More...

#include <CoreManager.h>

Inheritance diagram for CoreManager:
IntelACPI IntelMP SunxiCpuConfig

Public Types

enum  Result { Success, IOError, NotFound, InvalidArgument }
 Result codes. More...
 

Public Member Functions

 CoreManager ()
 Constructor. More...
 
List< uint > & getCores ()
 Get list of core identities. More...
 
virtual Result initialize ()=0
 Initialize the CoreManager. More...
 
virtual Result discover ()=0
 Discover processors. More...
 
virtual Result boot (CoreInfo *info)=0
 Boot a processor. More...
 

Protected Attributes

List< uintm_cores
 List of core ids found. More...
 

Detailed Description

Generic Core Manager.

Definition at line 36 of file CoreManager.h.

Member Enumeration Documentation

◆ Result

Result codes.

Enumerator
Success 
IOError 
NotFound 
InvalidArgument 

Definition at line 45 of file CoreManager.h.

Constructor & Destructor Documentation

◆ CoreManager()

CoreManager::CoreManager ( )

Constructor.

Definition at line 20 of file CoreManager.cpp.

Member Function Documentation

◆ boot()

virtual Result CoreManager::boot ( CoreInfo info)
pure virtual

Boot a processor.

Parameters
infoCoreInfo object pointer.
Returns
Result code.

Implemented in IntelACPI, IntelMP, and SunxiCpuConfig.

◆ discover()

virtual Result CoreManager::discover ( )
pure virtual

Discover processors.

Returns
Result code.

Implemented in IntelACPI, IntelMP, and SunxiCpuConfig.

◆ getCores()

List< uint > & CoreManager::getCores ( )

Get list of core identities.

Returns
List of core identities.

Definition at line 24 of file CoreManager.cpp.

References m_cores.

Referenced by CoreServer::bootAll(), CoreServer::getCoreCount(), CoreServer::prepareCoreInfo(), CoreServer::setupChannels(), and CoreServer::test().

◆ initialize()

virtual Result CoreManager::initialize ( )
pure virtual

Initialize the CoreManager.

Returns
Result code.

Implemented in IntelACPI, IntelMP, and SunxiCpuConfig.

Field Documentation

◆ m_cores

List<uint> CoreManager::m_cores
protected

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