Update contrib.
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".
8 // Initial Contributors:
9 // Nokia Corporation - initial contribution.
14 // template/template_variant/variant.mmh
16 // Add here a definition for your CPU (list in CONFIG.INC)
24 // Add here a definition for your Memory Model
30 // Macro which generates the names for the binaries for this platform
32 #define VariantTarget(name,ext) _template_##name##.##ext
33 #define VariantMediaDefIncludePath SYMBIAN_OS_LAYER_PLATFORM_EXPORT_PATH(template)
35 //Include debug support. Some e32 tests require debug support
36 macro __DEBUGGER_SUPPORT__
41 // If euser is built from the variant, uncomment the following line to build it
42 // as ARM rather than Thumb
44 // #define __BUILD_VARIANT_EUSER_AS_ARM__
48 // To replace some of the generic utility functions with variant specific
49 // versions (eg to replace memcpy with a version optimised for the hardware),
50 // uncomment the two lines below and edit the files in the replacementUtils
53 // #define REPLACE_GENERIC_UTILS
54 // #define VariantReplacementUtilsPath template/template_variant/replacement_utils
58 // Enable BTrace support in release versions of the kernel by adding
59 // the following BTRACE macro declarations
61 // macro BTRACE_KERNEL_ALL
65 // Uncomment the following line if using the r1p0 release or later of the ARM1136 processor.
67 // macro __CPU_ARM1136_IS_R1__
71 // Include the following line if default memory mapping should use shared memory.
72 // Should be on for multicore (SMP) devices.
74 // macro __CPU_USE_SHARED_MEMORY
79 // Uncomment the next line if using the ARM1136 processor and ARM1136 Erratum 406973
80 // "CLREX instruction might be ignored during data cache line fill"
81 // is fixed on this hardware.
83 // macro __CPU_ARM1136_ERRATUM_406973_FIXED
85 // Uncomment next line if:
86 // 1) using the ARM1136 processor and ARM1136 Erratum 408022 "Cancelled write to CONTEXTID register might update ASID"
87 // is fixed on this hardware, or
88 // 2) using the ARM1176 processor and ARM1176 Erratum 415047 "Cancelled write to CONTEXTID register might update ASID"
89 // is fixed on this hardware.
91 // macro __CPU_ARM1136_ERRATUM_408022_FIXED
94 // 1) using ARM1136 processor and ARM1136 Erratum 411920: "Invalidate Entire Instruction Cache
95 // operation might fail to invalidate some lines if coincident with linefill"
96 // is fixed on this hardware, or
97 // 2) using ARM1176 processor and ARM1176 Erratum 415045: "Invalidate Entire Instruction Cache
98 // operation might fail to invalidate some lines if coincident with linefill
99 // is fixed on this hardware.
101 // 1) Disables the use of of prefetch range cache operations by setting RV bit in Auxiliary Ctrl Reg.
102 // 2) Replaces Invalidate ICache operation with the sequence defined in the errata document.
103 // If this macro is enabled, it should be accompanied by:
104 // "GBLL CFG_CPU_ARM1136_ERRATUM_411920_FIXED" in variant.mmh
106 // macro __CPU_ARM1136_ERRATUM_411920_FIXED
108 // Uncomment next line if using the ARM1176 processor and ARM1176 Erratum 720013 "Invalidate Instruction
109 // Cache operations can fail" is fixed on this hardware.
111 // macro __CPU_ARM1176_ERRATUM_720013_FIXED
115 // Uncomment the next line if using the ARM1136 processor with L210/L220 cache and ARM1136
116 // Erratum 317041:"TTBR0/TTBR1 bits[4:3] do not read back correctly"
117 // is fixed on this hardware.
119 // macro __CPU_ARM1136_ERRATUM_317041_FIXED
121 // Uncomment the following line if Page Tables/Dirs have to be updated in main memory.
122 // Standard platforms shouldn't have this feature switched on.
123 // This must be accompanied by __ARM_L210_CACHE__ or __ARM_L220_CACHE__ macro.
124 // Omission:: The solution doesn't update temporary mappings
125 // of inter-process communication (IPC) - aka aliasing.
127 // macro __FLUSH_PT_INTO_RAM__
129 // Uncomment the following line if Symbian OS is running in TrustZone non-secure state and the
130 // secure state has prevented code executing in non-secure state from being able to mask FIQs by
131 // setting the SCR.FW bit in the secure configuration register.
133 // macro __FIQ_RESERVED_FOR_SECURE_STATE__
135 // Various PlatSec configuration options cannot be disabled even by clearing the appropriate
136 // bits in the kernel configuration flags - they are enforced at compile time. Uncomment the
137 // following to allow the clearing of bits in the kernel config flags to disable the relevant
138 // options at run time.
140 //macro __PLATSEC_UNLOCKED__
142 // If this macro is enabled then EMapAttrBufferedNC memory will be remapped as EMapAttrFullyBlocking
143 //macro FAULTY_NONSHARED_DEVICE_MEMORY
145 // Uncomment the following line if L210/20 cache is running in forced-WT mode.
146 // (Forced_WT bit set in Debug Control Register of L210/20 cache controller.)
147 // macro __ARM_L2_CACHE_WT_MODE
149 // For the status of errata of L210 & L220 cache, see the header of source file:
150 // e32\kernel\arm\cachel2.cpp
152 #if defined(__USING_USING_ASSP_REGISTER_API__) || defined(__USING_INTERRUPT_API__) || defined(__USING_ASSP_REGISTER_API__)
153 library VariantTarget(katemplate,lib)
156 // Uncomment the following if IIC Controller is required
157 // library iic.lib // commented out as this iic.lib is now included from iic_channel.mmh