FreeNOS
Modules | Namespaces | Data Structures | Macros | Typedefs | Enumerations | Functions | Variables
libarch

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...
 

Detailed Description

The architectures library provides code for specific processor architectures.

Macro Definition Documentation

◆ BOOTIMAGE_MAGIC0

#define BOOTIMAGE_MAGIC0   ('F') + ('r' << 8) + ('e' << 16) + ('e' << 24)

First magic byte.

Definition at line 30 of file BootImage.h.

◆ BOOTIMAGE_MAGIC1

#define BOOTIMAGE_MAGIC1   ('N') + ('O' << 8) + ('S' << 16) + (0x1 << 24)

Second magic byte.

Definition at line 33 of file BootImage.h.

◆ BOOTIMAGE_NAMELEN

#define BOOTIMAGE_NAMELEN   32

Maximum length of BootSymbol names.

Definition at line 39 of file BootImage.h.

◆ BOOTIMAGE_REVISION

#define BOOTIMAGE_REVISION   2

Version of the boot image layout.

Definition at line 36 of file BootImage.h.

◆ COREINFO_SIZE

#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.

◆ KERNEL_PATHLEN

#define KERNEL_PATHLEN   64

Definition at line 29 of file CoreInfo.h.

◆ MEMORYMAP_MAX_REGIONS

#define MEMORYMAP_MAX_REGIONS   8

Definition at line 31 of file MemoryMap.h.

Typedef Documentation

◆ BootImage

typedef struct BootImage BootImage

BootImage contains executable programs to be loaded at system bootup.

◆ BootSegment

typedef struct BootSegment BootSegment

Memory segment.

◆ BootSymbol

typedef struct BootSymbol BootSymbol

Program embedded in the BootImage.

◆ BootSymbolType

Boot symbol types.

◆ CoreInfo

typedef struct CoreInfo CoreInfo

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.

Enumeration Type Documentation

◆ 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.

Function Documentation

◆ clearBSS()

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().

Variable Documentation

◆ coreInfo

CoreInfo coreInfo

◆ isKernel

C uint isKernel