FreeNOS
Public Member Functions | Data Fields
CoreInfo Struct Reference

Per-Core information structure. More...

#include <CoreInfo.h>

Public Member Functions

bool operator== (const struct CoreInfo &info) const
 
bool operator!= (const struct CoreInfo &info) const
 

Data Fields

uint booted
 Set to non-zero by early boot code when this core is running. More...
 
uint coreId
 Core identifier. More...
 
Memory::Range memory
 Defines the physical memory available to the core. More...
 
Address kernelEntry
 Kernel entry point. More...
 
Memory::Range kernel
 Kernel memory range. More...
 
char kernelCommand [KERNEL_PATHLEN]
 Kernel command. More...
 
Address bootImageAddress
 Boot image physical memory address. More...
 
Address bootImageSize
 Boot image size in bytes. More...
 
Address coreChannelAddress
 Physical memory address of IPC channel for CoreServer of this core. More...
 
Size coreChannelSize
 Size of the IPC channel in bytes. More...
 
Address heapAddress
 Physical memory address of the kernel heap. More...
 
Size heapSize
 Size in bytes of the kernel heap. More...
 
uint timerCounter
 Arch-specific timer counter. More...
 

Detailed Description

Per-Core information structure.

This struct contains information relevant for each core in the system. The kernel and coreserver use this struct for memory management and setting up IPC communication channels between cores.

Definition at line 60 of file CoreInfo.h.

Member Function Documentation

◆ operator!=()

bool CoreInfo::operator!= ( const struct CoreInfo info) const
inline

Definition at line 106 of file CoreInfo.h.

◆ operator==()

bool CoreInfo::operator== ( const struct CoreInfo info) const
inline

Definition at line 101 of file CoreInfo.h.

Field Documentation

◆ booted

uint CoreInfo::booted

Set to non-zero by early boot code when this core is running.

Definition at line 63 of file CoreInfo.h.

◆ bootImageAddress

Address CoreInfo::bootImageAddress

◆ bootImageSize

Address CoreInfo::bootImageSize

◆ coreChannelAddress

Address CoreInfo::coreChannelAddress

Physical memory address of IPC channel for CoreServer of this core.

Definition at line 87 of file CoreInfo.h.

Referenced by Kernel::Kernel(), CoreServer::prepareCoreInfo(), CoreServer::setupChannels(), and SystemInfoHandler().

◆ coreChannelSize

Size CoreInfo::coreChannelSize

Size of the IPC channel in bytes.

Definition at line 90 of file CoreInfo.h.

Referenced by Kernel::Kernel(), CoreServer::prepareCoreInfo(), and SystemInfoHandler().

◆ coreId

uint CoreInfo::coreId

◆ heapAddress

Address CoreInfo::heapAddress

Physical memory address of the kernel heap.

Definition at line 93 of file CoreInfo.h.

Referenced by Kernel::initializeHeap(), Kernel::Kernel(), and CoreServer::prepareCoreInfo().

◆ heapSize

Size CoreInfo::heapSize

Size in bytes of the kernel heap.

Definition at line 96 of file CoreInfo.h.

Referenced by Kernel::initializeHeap(), Kernel::Kernel(), and CoreServer::prepareCoreInfo().

◆ kernel

Memory::Range CoreInfo::kernel

◆ kernelCommand

char CoreInfo::kernelCommand[KERNEL_PATHLEN]

◆ kernelEntry

Address CoreInfo::kernelEntry

Kernel entry point.

Definition at line 72 of file CoreInfo.h.

Referenced by SunxiCpuConfig::boot(), and CoreServer::prepareCoreInfo().

◆ memory

Memory::Range CoreInfo::memory

◆ timerCounter

uint CoreInfo::timerCounter

Arch-specific timer counter.

Definition at line 99 of file CoreInfo.h.

Referenced by IntelKernel::IntelKernel(), CoreServer::prepareCoreInfo(), and SystemInfoHandler().


The documentation for this struct was generated from the following file: