Adaptation/GUID-C92CC81A-35A1-5860-AA08-C8C08B39804C.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-C92CC81A-35A1-5860-AA08-C8C08B39804C" xml:lang="en"><title>Boot
       
    13 Table MMU Permission and Cache Attribute Definitions</title><shortdesc>Lists MMU attributes that the bootstrap implementation must provide.</shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody>
       
    14 <p>The definitions are summarised in the following table. Each entry type
       
    15 is identified by its <codeph>TBootTableEntry</codeph> enumerator value that
       
    16 defines its position within the table. This group of entries always follows
       
    17 the function entries. </p>
       
    18 <table id="GUID-6145893A-57CA-5E96-A61B-18AF2DF44EC3">
       
    19 <tgroup cols="2"><colspec colname="col0"/><colspec colname="col1"/>
       
    20 <tbody>
       
    21 <row>
       
    22 <entry><p> <b>Enumerator symbol</b>  </p> </entry>
       
    23 <entry><p> <b>Summary description</b>  </p> </entry>
       
    24 </row>
       
    25 <row>
       
    26 <entry><p> <codeph> BTP_Rom</codeph>  </p> </entry>
       
    27 <entry><p>Defines permissions for XIP ROM areas, including RAM used as ROM. </p> </entry>
       
    28 </row>
       
    29 <row>
       
    30 <entry><p> <codeph> BTP_Kernel</codeph>  </p> </entry>
       
    31 <entry><p>Defines permissions for kernel data, initial kernel stack and initial
       
    32 kernel heap. </p> </entry>
       
    33 </row>
       
    34 <row>
       
    35 <entry><p> <codeph> BTP_SuperCPU</codeph>  </p> </entry>
       
    36 <entry><p>Defines permissions for super page and CPU page. </p> </entry>
       
    37 </row>
       
    38 <row>
       
    39 <entry><p> <codeph> BTP_PageTable</codeph>  </p> </entry>
       
    40 <entry><p>Defines permissions for page directory and page tables. </p> </entry>
       
    41 </row>
       
    42 <row>
       
    43 <entry><p> <codeph> BTP_Vector</codeph>  </p> </entry>
       
    44 <entry><p>Defines permissions for ARM exception vector mapping. </p> </entry>
       
    45 </row>
       
    46 <row>
       
    47 <entry><p> <codeph>BTP_Hw</codeph>  </p> </entry>
       
    48 <entry><p>Defines permissions for I/O mappings. </p> </entry>
       
    49 </row>
       
    50 <row>
       
    51 <entry><p> <codeph> BTP_MiniCache</codeph>  </p> </entry>
       
    52 <entry><p>Defines permissions for mini cache flush area, if required. </p> </entry>
       
    53 </row>
       
    54 <row>
       
    55 <entry><p> <codeph>BTP_MainCache</codeph>  </p> </entry>
       
    56 <entry><p>Defines permissions for main cache flush area, if required. </p> </entry>
       
    57 </row>
       
    58 <row>
       
    59 <entry><p> <codeph> BTP_PtInfo</codeph>  </p> </entry>
       
    60 <entry><p>Defines permissions for page table info and, for the multiple memory
       
    61 model, ASID info. </p> </entry>
       
    62 </row>
       
    63 <row>
       
    64 <entry><p> <codeph> BTP_User</codeph>  </p> </entry>
       
    65 <entry><p>Defines permissions for user memory area in direct memory model. </p> </entry>
       
    66 </row>
       
    67 <row>
       
    68 <entry><p> <codeph> BTP_Temp</codeph>  </p> </entry>
       
    69 <entry><p>Defines permissions for temporary identity mapping of code while
       
    70 enabling MMU. </p> </entry>
       
    71 </row>
       
    72 <row>
       
    73 <entry><p> <codeph> BTP_Uncached</codeph>  </p> </entry>
       
    74 <entry><p>Defines permissions for dummy uncached area mapping on moving or
       
    75 multiple model and for identity RAM mapping on direct memory model. </p> </entry>
       
    76 </row>
       
    77 </tbody>
       
    78 </tgroup>
       
    79 </table>
       
    80 <p>Each entry is defined using the <xref href="GUID-25941CD2-D124-55DD-8716-ACC93E3F1D6C.dita#GUID-25941CD2-D124-55DD-8716-ACC93E3F1D6C/GUID-B5EC22B5-B995-5D54-8F33-1B6FCE11BB3F">BTP_ENTRY</xref> macro. See this macro for a detailed description of the syntax and meanings. </p>
       
    81 <p>Take the template port, in <filepath>os/kernelhwsrv/bsptemplate/asspandvariant/template_variant/bootstrap/template.s</filepath> as
       
    82 an example. The first two entries, at position <codeph>BTP_Rom</codeph> and
       
    83 position <codeph>BTP_Kernel</codeph> in the boot table, follow the last function
       
    84 entry at position <xref href="GUID-B3F6FC45-3BF0-5F92-8325-44C705BA47AE.dita#GUID-B3F6FC45-3BF0-5F92-8325-44C705BA47AE/GUID-37E8A845-6326-52F1-9607-5488B1E009A8">BTF_EnableMMU</xref> within
       
    85 the table. This gives the following code: </p>
       
    86 <codeblock id="GUID-CB1D0496-61E0-5C48-BDA4-D3D64FEFE967" xml:space="preserve">BootTable
       
    87         DCD    DoWriteC                    ; output a debug character
       
    88         ...
       
    89     
       
    90 IF    CFG_MMUPresent
       
    91 
       
    92         BTP_ENTRY    CLIENT_DOMAIN, PERM_RORO, CACHE_WTRA,    0    ; ROM
       
    93         BTP_ENTRY    CLIENT_DOMAIN, PERM_RWNO, CACHE_WBRA,    0    ; kernel data/stack/heap
       
    94         ...
       
    95 </codeblock>
       
    96 </conbody></concept>