The Pedigree Project  0.1
Public Member Functions | Protected Member Functions | Private Member Functions | Private Attributes | Friends | List of all members
HostedProcessorInformation Class Reference

#include <ProcessorInformation.h>

+ Collaboration diagram for HostedProcessorInformation:

Public Member Functions

VirtualAddressSpacegetVirtualAddressSpace () const
 
void setVirtualAddressSpace (VirtualAddressSpace &virtualAddressSpace)
 
uintptr_t getKernelStack () const
 
void setKernelStack (uintptr_t stack)
 
ThreadgetCurrentThread () const
 
void setCurrentThread (Thread *pThread)
 
PerProcessorSchedulergetScheduler ()
 

Protected Member Functions

 HostedProcessorInformation (ProcessorId processorId, uint8_t apicId=0)
 
virtual ~HostedProcessorInformation ()
 

Private Member Functions

 HostedProcessorInformation ()
 
 HostedProcessorInformation (const HostedProcessorInformation &)
 
HostedProcessorInformationoperator= (const HostedProcessorInformation &)
 

Private Attributes

ProcessorId m_ProcessorId
 
VirtualAddressSpacem_VirtualAddressSpace
 
Threadm_pCurrentThread
 
PerProcessorSchedulerm_Scheduler
 
uintptr_t m_KernelStack
 

Friends

class Processor
 
class Multiprocessor
 

Detailed Description

Common hosted processor information structure

Definition at line 33 of file hosted/ProcessorInformation.h.

Constructor & Destructor Documentation

HostedProcessorInformation::HostedProcessorInformation ( ProcessorId  processorId,
uint8_t  apicId = 0 
)
protected

Construct a HostedProcessorInformation object

Parameters
[in]processorIdIdentifier of the processor

Definition at line 36 of file hosted/ProcessorInformation.cc.

References m_Scheduler.

HostedProcessorInformation::~HostedProcessorInformation ( )
protectedvirtual

The destructor does nothing

Definition at line 48 of file hosted/ProcessorInformation.cc.

References m_Scheduler.

HostedProcessorInformation::HostedProcessorInformation ( )
private

Default constructor

Note
NOT implemented
HostedProcessorInformation::HostedProcessorInformation ( const HostedProcessorInformation )
private

Copy-constructor

Note
NOT implemented

Member Function Documentation

VirtualAddressSpace & HostedProcessorInformation::getVirtualAddressSpace ( ) const

Get the current processor's VirtualAddressSpace

Returns
reference to the current processor's VirtualAddressSpace

Definition at line 53 of file hosted/ProcessorInformation.cc.

References VirtualAddressSpace::getKernelAddressSpace(), and m_VirtualAddressSpace.

HostedProcessorInformation& HostedProcessorInformation::operator= ( const HostedProcessorInformation )
private

Assignment operator

Note
NOT implemented
void HostedProcessorInformation::setVirtualAddressSpace ( VirtualAddressSpace virtualAddressSpace)

Set the current processor's VirtualAddressSpace

Parameters
[in]virtualAddressSpacereference to the new VirtualAddressSpace

Definition at line 61 of file hosted/ProcessorInformation.cc.

References m_KernelStack, m_pCurrentThread, m_Scheduler, m_VirtualAddressSpace, and WARNING.

Member Data Documentation

uintptr_t HostedProcessorInformation::m_KernelStack
private

Kernel stack.

Definition at line 83 of file hosted/ProcessorInformation.h.

Referenced by setVirtualAddressSpace().

Thread* HostedProcessorInformation::m_pCurrentThread
private

The current thread

Definition at line 78 of file hosted/ProcessorInformation.h.

Referenced by setVirtualAddressSpace().

ProcessorId HostedProcessorInformation::m_ProcessorId
private

Identifier of that processor

Definition at line 73 of file hosted/ProcessorInformation.h.

PerProcessorScheduler* HostedProcessorInformation::m_Scheduler
private

The processor's scheduler.

Definition at line 80 of file hosted/ProcessorInformation.h.

Referenced by HostedProcessorInformation(), setVirtualAddressSpace(), and ~HostedProcessorInformation().

VirtualAddressSpace* HostedProcessorInformation::m_VirtualAddressSpace
private

The current VirtualAddressSpace

Definition at line 75 of file hosted/ProcessorInformation.h.

Referenced by getVirtualAddressSpace(), and setVirtualAddressSpace().


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