Go to the documentation of this file.
28 ERROR(
"failed to map I/O memory");
37 ERROR(
"failed to initialize power management module: " << (
uint)r);
static const Address IOBase
Physical base memory address of CPU Configuration Module.
List< uint > m_cores
List of core ids found.
Result map(Address phys, Size size=4096, Memory::Access access=Memory::Readable|Memory::Writable|Memory::User)
Map I/O address space.
void write(u32 reg, u32 data)
write to memory mapped I/O register
#define PAGESIZE
ARM uses 4K pages.
@ EntryAddr
Reset Entry Address.
virtual Result initialize()
Perform initialization.
virtual Result boot(CoreInfo *info)
Boot a processor.
Arch::IO m_io
Memory I/O object.
void unset(Address addr, u32 data)
Unset bits in memory mapped register.
unsigned int uint
Unsigned integer number.
uint coreId
Core identifier.
@ DbgExtern
Debug External.
void setBase(const Address base)
Set memory I/O base offset.
#define DEBUG(msg)
Output a debug message to standard output.
static const Size NumberOfCores
Number of CPU processor cores is fixed.
Address kernelEntry
Kernel entry point.
void append(T t)
Insert an item at the end of the list.
unsigned int u32
Unsigned 32-bit number.
@ Cpu3RstCtrl
CPU#3 Reset Control.
unsigned int Size
Any sane size indicator cannot go negative.
@ GenCtrl
General Control.
@ Cpu2RstCtrl
CPU#2 Reset Control.
Per-Core information structure.
#define ERROR(msg)
Output an error message.
@ Cpu1RstCtrl
CPU#1 Reset Control.
@ Cpu0RstCtrl
CPU#0 Reset Control.
void set(Address addr, u32 data)
Set bits in memory mapped register.
Result powerOnCore(const Size coreId)
Power on a processor.
Address getBase() const
Get memory I/O base offset.
Result initialize()
Perform initialization.
virtual Result discover()
Discover processors.
SunxiPowerManagement m_power
Power Management module.