18#ifndef __SERVER_CORE_SUNXICORESERVER_H
19#define __SERVER_CORE_SUNXICORESERVER_H
Represents a single Core in a Central Processing Unit (CPU).
Implements a CoreServer for ARM/Allwinner (sunxi) based System-on-Chips.
virtual Core::Result sendIPI(uint coreId)
Send Inter-Processor-Interrupt.
virtual void waitIPI() const
Wait for Inter-Processor-Interrupt.
SunxiCoreServer()
Class constructor function.
virtual Core::Result discoverCores()
Discover processor cores.
virtual Core::Result bootCore(uint coreId, CoreInfo *info)
Boot a processor core.
virtual Result initialize()
Initialize the server.
static const Address SecondaryCoreInfoOffset
Offset of the CoreInfo struct relative to the kernel's physical base address.
static const Size SoftwareInterruptNumber
Software Generated Interrupt number for sending/receiving between cores.
SunxiCpuConfig m_cpuConfig
CPU Configuration Module instance.
static const Address SecondaryCoreInfoAddress
Physical memory address for CoreInfo passed to secondary cores during bootup.
Allwinner sunxi CPU configuration module support.
unsigned long Address
A memory address.
unsigned int uint
Unsigned integer number.
unsigned int Size
Any sane size indicator cannot go negative.
Result
Result code for Actions.
Per-Core information structure.