|
1 <?xml version="1.0" encoding="utf-8"?> |
|
2 <!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. --> |
|
3 <!-- This component and the accompanying materials are made available under the terms of the License |
|
4 "Eclipse Public License v1.0" which accompanies this distribution, |
|
5 and is available at the URL "http://www.eclipse.org/legal/epl-v10.html". --> |
|
6 <!-- Initial Contributors: |
|
7 Nokia Corporation - initial contribution. |
|
8 Contributors: |
|
9 --> |
|
10 <!DOCTYPE concept |
|
11 PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd"> |
|
12 <concept id="GUID-9595FD6F-1EDE-51A8-B00D-029CFDFE0F38" xml:lang="en"><title>Boot Table</title><shortdesc>Describes the boot table.</shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody> |
|
13 <p>The boot table consists of a linear array of 4-byte entries whose index |
|
14 positions are defined by the <codeph>TBootTableEntry</codeph> enumeration |
|
15 in <filepath>os/kernelhwsrv/kernel/eka/include/arm/bootdefs.h</filepath>. </p> |
|
16 <p>The entries in the array are divided into two groups, one whose index positions |
|
17 are defined by the enumerator names <codeph>BTF_*</codeph> and the other group |
|
18 defined by the enumerator names <codeph>BTP_*</codeph>. </p> |
|
19 <p>Entries in the first group specify addresses of <xref href="GUID-B3F6FC45-3BF0-5F92-8325-44C705BA47AE.dita">Boot |
|
20 Table Functions</xref>. </p> |
|
21 <p>Entries in the second group specify <xref href="GUID-C92CC81A-35A1-5860-AA08-C8C08B39804C.dita">Boot |
|
22 Table MMU Permission and Cache Attribute Definitions</xref> to be used for |
|
23 certain standard memory and I/O areas. </p> |
|
24 <p>A boot table entry is the offset of the function from the beginning of |
|
25 the bootstrap code but, since the bootstrap is linked for a base address of |
|
26 zero and is position independent, bare function addresses can be used. </p> |
|
27 <p>Use <codeph>DCD</codeph> to place a function in the boot table, for example: </p> |
|
28 <codeblock id="GUID-F36DF0E5-E337-5B1B-B098-64D78C3B0339" xml:space="preserve">DCD function-name</codeblock> |
|
29 <p>In the Template port, available in <filepath>os/kernelhwsrv/bsptemplate/asspandvariant/template_variant/bootstrap/template.s</filepath>, |
|
30 the boot table is defined by the label <codeph>BootTable</codeph>, followed |
|
31 by <codeph>DCD</codeph> entries for every boot table function, like in the |
|
32 following example: </p> |
|
33 <codeblock id="GUID-28F3F4E0-E196-50E4-8AFF-6672BA982FB4" xml:space="preserve">BootTable |
|
34 DCD DoWriteC ; output a debug character |
|
35 DCD GetRamBanks ; get list of RAM banks |
|
36 DCD SetupRamBank ; set up a RAM bank |
|
37 DCD GetRomBanks ; get list of ROM banks |
|
38 DCD SetupRomBank ; set up a ROM bank |
|
39 ...</codeblock> |
|
40 </conbody></concept> |