Adaptation/GUID-9595FD6F-1EDE-51A8-B00D-029CFDFE0F38.dita
changeset 15 307f4279f433
equal deleted inserted replaced
14:578be2adaf3e 15:307f4279f433
       
     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>