18#ifndef __LIBARCH_COREINFO_H
19#define __LIBARCH_COREINFO_H
29#define KERNEL_PATHLEN 64
32#define COREINFO_SIZE (KERNEL_PATHLEN + (8 * 4) + (4 * 4) + (4 * 4))
CoreInfo coreInfo
Local CoreInfo instance.
C uint isKernel
Non-zero if this executable is linked as the kernel.
unsigned long Address
A memory address.
unsigned int uint
Unsigned integer number.
unsigned int Size
Any sane size indicator cannot go negative.
#define C
Used to define external C functions.
Per-Core information structure.
uint timerCounter
Arch-specific timer counter.
Address bootImageSize
Boot image size in bytes.
Memory::Range kernel
Kernel memory range.
Size coreChannelSize
Size of the IPC channel in bytes.
uint coreId
Core identifier.
Address coreChannelAddress
Physical memory address of IPC channel for CoreServer of this core.
Address bootImageAddress
Boot image physical memory address.
bool operator!=(const struct CoreInfo &info) const
Memory::Range memory
Defines the physical memory available to the core.
Size heapSize
Size in bytes of the kernel heap.
Address heapAddress
Physical memory address of the kernel heap.
Address kernelEntry
Kernel entry point.
uint booted
Set to non-zero by early boot code when this core is running.
char kernelCommand[KERNEL_PATHLEN]
Kernel command.
bool operator==(const struct CoreInfo &info) const