Describes the boot table.
The boot table consists of a linear array of 4-byte entries whose index positions are defined by the TBootTableEntry enumeration in os/kernelhwsrv/kernel/eka/include/arm/bootdefs.h.
The entries in the array are divided into two groups, one whose index positions are defined by the enumerator names BTF_* and the other group defined by the enumerator names BTP_*.
Entries in the first group specify addresses of Boot Table Functions.
Entries in the second group specify Boot Table MMU Permission and Cache Attribute Definitions to be used for certain standard memory and I/O areas.
A boot table entry is the offset of the function from the beginning of the bootstrap code but, since the bootstrap is linked for a base address of zero and is position independent, bare function addresses can be used.
Use DCD to place a function in the boot table, for example:
DCD function-name
In the Template port, available in os/kernelhwsrv/bsptemplate/asspandvariant/template_variant/bootstrap/template.s, the boot table is defined by the label BootTable, followed by DCD entries for every boot table function, like in the following example:
BootTable DCD DoWriteC ; output a debug character DCD GetRamBanks ; get list of RAM banks DCD SetupRamBank ; set up a RAM bank DCD GetRomBanks ; get list of ROM banks DCD SetupRomBank ; set up a ROM bank ...
Copyright ©2010 Nokia Corporation and/or its subsidiary(-ies).
All rights
reserved. Unless otherwise stated, these materials are provided under the terms of the Eclipse Public License
v1.0.