24#include <FreeNOS/System.h>
25#include <FreeNOS/arm64/ARM64Kernel.h>
70 PL011 pl011(UART0_IRQ);
ARM64 first level page table.
ARM64 virtual memory implementation.
virtual Result activate(bool initializeMMU=false)
Activate the MemoryContext.
virtual Result initialize()
Initialize the MemoryContext.
Memory mapping for the kernel and user processes on the ARM architecture.
Generic logger that writes to a Device object.
static Error initializeHeap()
Initialize heap.
int run()
Execute the kernel.
void setMinimumLogLevel(Level level)
Set the minimum logging level.
static void * set(void *dest, int ch, unsigned count)
Fill memory with a constant byte.
The PL011 is a commonly available UART device frequently found in ARM systems.
virtual FileSystem::Result initialize()
Initializes the UART.
Represents the Raspberry Pi kernel implementation.
C void constructors()
Invokes all function pointers inside the .ctors section.
CoreInfo coreInfo
Local CoreInfo instance.
void clearBSS()
Generic function to clear the BSS memory section to zero.
unsigned long Address
A memory address.
#define C
Used to define external C functions.
#define ALIGN(n)
Aligns a symbol at the given boundary.
#define SECTION(s)
Can be used to link a symbol inside a specific section.
BootImage contains executable programs to be loaded at system bootup.
u32 bootImageSize
Total size of the boot image in bytes.
Per-Core information structure.
Address bootImageSize
Boot image size in bytes.
Memory::Range kernel
Kernel memory range.
Address bootImageAddress
Boot image physical memory address.
Memory::Range memory
Defines the physical memory available to the core.
Size size
Size in number of bytes.
Address phys
Physical address.