FreeNOS
|
The architectures library provides code for specific processor architectures. More...
Modules | |
ARM | |
ARM architecture specific code such as caching, virtual memory and exception/interrupt handling. | |
Broadcom | |
Broadcom System-on-Chip (SoC) device specific code including timers, interrupt controllers and more. | |
Intel | |
Intel architecture specific code such as multiprocessor, virtual memory and exception/interrupt handling. | |
Namespaces | |
Memory | |
Data Structures | |
struct | BootImage |
BootImage contains executable programs to be loaded at system bootup. More... | |
struct | BootSymbol |
Program embedded in the BootImage. More... | |
struct | BootSegment |
Memory segment. More... | |
class | Cache |
Cache management interface. More... | |
struct | CoreInfo |
Per-Core information structure. More... | |
class | CoreManager |
Generic Core Manager. More... | |
class | IntController |
Interrupt controller interface. More... | |
class | IO |
Generic I/O functions. More... | |
class | KernelTimer |
Provides the timer of the kernel. More... | |
class | MemoryContext |
Virtual memory abstract interface. More... | |
class | MemoryMap |
Describes virtual memory map layout. More... | |
class | Timer |
Represents a configurable timer device. More... | |
Macros | |
#define | BOOTIMAGE_MAGIC0 ('F') + ('r' << 8) + ('e' << 16) + ('e' << 24) |
First magic byte. More... | |
#define | BOOTIMAGE_MAGIC1 ('N') + ('O' << 8) + ('S' << 16) + (0x1 << 24) |
Second magic byte. More... | |
#define | BOOTIMAGE_REVISION 2 |
Version of the boot image layout. More... | |
#define | BOOTIMAGE_NAMELEN 32 |
Maximum length of BootSymbol names. More... | |
#define | KERNEL_PATHLEN 64 |
#define | COREINFO_SIZE (KERNEL_PATHLEN + (8 * 4) + (4 * 4) + (4 * 4)) |
Needed by IntelBoot16.S. More... | |
#define | MEMORYMAP_MAX_REGIONS 8 |
Typedefs | |
typedef struct BootImage | BootImage |
BootImage contains executable programs to be loaded at system bootup. More... | |
typedef enum BootSymbolType | BootSymbolType |
Boot symbol types. More... | |
typedef struct BootSymbol | BootSymbol |
Program embedded in the BootImage. More... | |
typedef struct BootSegment | BootSegment |
Memory segment. More... | |
typedef struct CoreInfo | CoreInfo |
Per-Core information structure. More... | |
Enumerations | |
enum | BootSymbolType { BootProgram = 0, BootPrivProgram = 1, BootFilesystem = 2, BootData = 3 } |
Boot symbol types. More... | |
Functions | |
C void | clearBSS () |
Generic function to clear the BSS memory section to zero. More... | |
Variables | |
CoreInfo | coreInfo |
Local CoreInfo instance. More... | |
C uint | isKernel |
Non-zero if this executable is linked as the kernel. More... | |
The architectures library provides code for specific processor architectures.
#define BOOTIMAGE_MAGIC0 ('F') + ('r' << 8) + ('e' << 16) + ('e' << 24) |
First magic byte.
Definition at line 30 of file BootImage.h.
#define BOOTIMAGE_MAGIC1 ('N') + ('O' << 8) + ('S' << 16) + (0x1 << 24) |
Second magic byte.
Definition at line 33 of file BootImage.h.
#define BOOTIMAGE_NAMELEN 32 |
Maximum length of BootSymbol names.
Definition at line 39 of file BootImage.h.
#define BOOTIMAGE_REVISION 2 |
Version of the boot image layout.
Definition at line 36 of file BootImage.h.
#define COREINFO_SIZE (KERNEL_PATHLEN + (8 * 4) + (4 * 4) + (4 * 4)) |
Needed by IntelBoot16.S.
Depends on sizeof(Memory::Access) which is an emum
Definition at line 32 of file CoreInfo.h.
#define KERNEL_PATHLEN 64 |
Definition at line 29 of file CoreInfo.h.
#define MEMORYMAP_MAX_REGIONS 8 |
Definition at line 31 of file MemoryMap.h.
BootImage contains executable programs to be loaded at system bootup.
typedef struct BootSegment BootSegment |
Memory segment.
typedef struct BootSymbol BootSymbol |
Program embedded in the BootImage.
typedef enum BootSymbolType BootSymbolType |
Boot symbol types.
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.
enum BootSymbolType |
Boot symbol types.
Enumerator | |
---|---|
BootProgram | Executable program. |
BootPrivProgram | Privileged executable program. |
BootFilesystem | Embedded filesystem. |
BootData | Binary data. |
Definition at line 72 of file BootImage.h.
C void clearBSS | ( | ) |
Generic function to clear the BSS memory section to zero.
Definition at line 21 of file Memory.cpp.
References MemoryBlock::set().
Referenced by kernel_main(), and SECTION().
CoreInfo coreInfo |
Local CoreInfo instance.
Architecture is responsible for filling the CoreInfo struct instance for the core on which it executes.
Referenced by ProcessShares::createShare(), ARMKernel::dataAbort(), IntelKernel::exception(), ProcessShares::findShare(), Kernel::initializeHeap(), ARMKernel::interrupt(), kernel_main(), multibootToCoreInfo(), ARMKernel::prefetchAbort(), ProcessShares::releaseShare(), ARMKernel::reserved(), CoreServer::setupChannels(), SystemInfoHandler(), ARMKernel::trap(), and ARMKernel::undefinedInstruction().
Non-zero if this executable is linked as the kernel.
Referenced by MemoryChannel::flushPage(), i8250::initialize(), PL011::initialize(), NS16550::initialize(), PL011::interrupt(), IO::map(), NS16550::read(), IOBuffer::setMessage(), IO::unmap(), and IntelAPIC::wait().