|
1 ; Copyright (c) 1998-2009 Nokia Corporation and/or its subsidiary(-ies). |
|
2 ; All rights reserved. |
|
3 ; This component and the accompanying materials are made available |
|
4 ; under the terms of the License "Eclipse Public License v1.0" |
|
5 ; which accompanies this distribution, and is available |
|
6 ; at the URL "http://www.eclipse.org/legal/epl-v10.html". |
|
7 ; |
|
8 ; Initial Contributors: |
|
9 ; Nokia Corporation - initial contribution. |
|
10 ; |
|
11 ; Contributors: |
|
12 ; |
|
13 ; Description: |
|
14 ; Beagle bootstrap configuration file |
|
15 |
|
16 ; Include to enable tracing |
|
17 ; GBLL CFG_DebugBootRom |
|
18 |
|
19 ; Include one of these to select the CPU |
|
20 ; GBLL CFG_CPU_GENERIC_ARM4 |
|
21 ; GBLL CFG_CPU_ARM710T |
|
22 ; GBLL CFG_CPU_ARM720T |
|
23 ; GBLL CFG_CPU_SA1 |
|
24 ; GBLL CFG_CPU_ARM920T |
|
25 ; GBLL CFG_CPU_ARM925T |
|
26 ; GBLL CFG_CPU_ARM926J |
|
27 ; GBLL CFG_CPU_XSCALE |
|
28 ; GBLL CFG_CPU_ARM1136 |
|
29 ; GBLL CFG_CPU_ARM1176 |
|
30 ; GBLL CFG_CPU_CORTEX_A8 |
|
31 GBLL CFG_CPU_CORTEX_A8N |
|
32 |
|
33 ; Include the following line if this is a bootloader bootstrap |
|
34 ; GBLL CFG_BootLoader |
|
35 ; The following line needs to be removed for target hardware |
|
36 GBLL CFG_Beagle |
|
37 |
|
38 ; If you want to supply a custom set of initial vectors (including reset vector) include the following line |
|
39 ; GBLL CFG_CustomVectors |
|
40 ; |
|
41 ; and provide a custom_vectors.inc file |
|
42 |
|
43 ; Variant Number, just an example: |
|
44 INIT_NUMERIC_CONSTANT CFG_HWVD, 0x09080001 |
|
45 |
|
46 ; On ARM architecture 6 processors, include the following line to override the threshold |
|
47 ; on total physical RAM size at which the multiple memory model switches into large address space mode |
|
48 ; i.e. size>threshold -> 2Gb per process, size<=threshold -> 1Gb per process |
|
49 ; Defaults to 32Mb. |
|
50 ; INIT_NUMERIC_CONSTANT CFG_ARMV6_LARGE_CONFIG_THRESHOLD, <value> |
|
51 |
|
52 ; For the direct memory model only, include the following line if you wish the exception vectors at the |
|
53 ; start of the bootstrap to be used at all times. This is only relevant if an MMU is present - this option |
|
54 ; is mandatory if not. |
|
55 ; GBLL CFG_UseBootstrapVectors |
|
56 ; |
|
57 ; If the above option is in use (including if no MMU is present) the following symbol should be defined |
|
58 ; to specify the offset from the bootstrap to the kernel image. |
|
59 INIT_NUMERIC_CONSTANT KernelCodeOffset, 0x4000 |
|
60 |
|
61 ; Include the following line if you wish to include the ROM autodetection code based on data bus |
|
62 ; capacitance and image repeats. |
|
63 ; GBLL CFG_AutoDetectROM |
|
64 |
|
65 ; Include the following line to minimise the initial kernel heap size |
|
66 ; On the direct memory model the size of the kernel data area (super page to end of kernel heap) |
|
67 ; is rounded up to the next 1Mb if this is not included, 4K if it is. |
|
68 ; On the moving and multiple models, the size of the initial kernel heap area is rounded up to |
|
69 ; the next 64K if this is not included, 4K if it is. |
|
70 ; GBLL CFG_MinimiseKernelHeap |
|
71 |
|
72 ; Include the following line if default memory mapping should use shared memory. |
|
73 ; Should be defined on multicore (SMP) devices. |
|
74 ; GBLL CFG_USE_SHARED_MEMORY |
|
75 |
|
76 ; On the moving or multiple memory models, include either or both of the following lines to |
|
77 ; specify the size of the initial kernel heap |
|
78 ; INIT_NUMERIC_CONSTANT CFG_KernelHeapMultiplier, <multiplier> |
|
79 ; INIT_NUMERIC_CONSTANT CFG_KernelHeapBaseSize, <base> |
|
80 ; |
|
81 ; The initial kernel heap size is MAX( <base> + <multiplier> * N / 16, value specified in ROMBUILD ) |
|
82 ; where N is the total physical RAM size in pages. |
|
83 ; <base> defaults to 24K and <multiplier> defaults to 9*16 (ie 9 bytes per page). |
|
84 |
|
85 ; Uncomment if using ARM1136 processor and ARM1136 Erratum 353494 |
|
86 ; "Rare conditions can cause corruption of the Instruction Cache" |
|
87 ; is fixed on this hardware. |
|
88 ; |
|
89 ; NOTE: The boot table should use this macro to determine whether RONO or RORO permissions |
|
90 ; are used for the exception vectors. If the erratum is not fixed, RORO must be used. |
|
91 ; |
|
92 ; GBLL CFG_CPU_ARM1136_ERRATUM_353494_FIXED |
|
93 |
|
94 ; Uncomment if using ARM1136 processor and ARM1136 Erratum 364296 |
|
95 ; "Possible Cache Data Corruption with Hit-Under-Miss" |
|
96 ; is fixed on this hardware. |
|
97 ; |
|
98 ; GBLL CFG_CPU_ARM1136_ERRATUM_364296_FIXED |
|
99 |
|
100 ; Uncomment if using ARM1136 processor and ARM1136 Erratum 399234 |
|
101 ; "Write back data cache entry evicted by write through entry causes data corruption" |
|
102 ; is fixed on this hardware. |
|
103 ; Workaround |
|
104 ; The erratum may be avoided by marking all cacheable memory as one of write through or write back. |
|
105 ; This requires the memory attributes described in the translation tables to be modified by software |
|
106 ; appropriately, or the use of the remapping capability to remap write through regions to non cacheable. |
|
107 ; |
|
108 ; If this macro is enabled, it should be accompanied by: |
|
109 ; "macro __CPU_ARM1136_ERRATUM_399234_FIXED" in variant.mmh |
|
110 ; GBLL CFG_CPU_ARM1136_ERRATUM_399234_FIXED |
|
111 |
|
112 |
|
113 ; Uncomment if: |
|
114 ; 1) using ARM1136 processor and ARM1136 Erratum 411920: "Invalidate Entire Instruction Cache |
|
115 ; operation might fail to invalidate some lines if coincident with linefill" |
|
116 ; is fixed on this hardware, or |
|
117 ; 2) using ARM1176 processor and ARM1176 Erratum 415045: "Invalidate Entire Instruction Cache |
|
118 ; operation might fail to invalidate some lines if coincident with linefill |
|
119 ; is fixed on this hardware. |
|
120 ; Workaround: |
|
121 ; 1) Disables the use of of prefetch range cache operations by setting RV bit in Auxiliary Ctrl Reg. |
|
122 ; 2) Replaces Invalidate ICache operation with the sequence defined in the errata document. |
|
123 ; If this macro is enabled, it should be accompanied by: |
|
124 ; "macro __CPU_ARM1136_ERRATUM_411920_FIXED" in variant.mmh |
|
125 ; |
|
126 ; GBLL CFG_CPU_ARM1136_ERRATUM_411920_FIXED |
|
127 |
|
128 |
|
129 ; Uncomment if using ARM1136 processor and ARM1136 Erratum 415662: "Invalidate Instruction Cache by |
|
130 ; Index might corrupt cache when used with background prefetch range" is fixed on this hardware. |
|
131 ; Workaround: |
|
132 ; Disables the use of of prefetch range cache operations by setting RV bit in Auxiliary Ctrl Reg. |
|
133 ; |
|
134 ; GBLL CFG_CPU_ARM1136_ERRATUM_415662_FIXED |
|
135 |
|
136 |
|
137 |
|
138 ; These are deduced from the supplied configuration |
|
139 ; CFG_ARMV6 |
|
140 ; CFG_MMUPresent |
|
141 ; CFG_CachePresent |
|
142 ; CFG_WriteBufferPresent |
|
143 ; CFG_SplitCache |
|
144 ; CFG_SplitTLB |
|
145 ; CFG_AltDCachePresent |
|
146 ; CFG_WriteBackCache |
|
147 ; CFG_CacheWriteAllocate |
|
148 ; CFG_CachePhysicalTag |
|
149 ; CFG_CacheFlushByDataRead |
|
150 ; CFG_CacheFlushByWaySetIndex |
|
151 ; CFG_CacheFlushByLineAlloc |
|
152 ; CFG_CachePolicyInPTE |
|
153 ; CFG_TEX |
|
154 ; CFG_SingleEntryDCacheFlush |
|
155 ; CFG_SingleEntryICacheFlush |
|
156 ; CFG_SingleEntryITLBFlush |
|
157 ; CFG_SingleEntryTLBFlush |
|
158 ; CFG_CacheTypeReg |
|
159 ; CFG_BTBPresent |
|
160 ; CFG_CARPresent |
|
161 ; CFG_PrefetchBuffer |
|
162 ; CFG_FCSE_Present |
|
163 ; CFG_ASID_Present |
|
164 ; CFG_IncludeRAMAllocator |
|
165 |
|
166 END |