os/kernelhwsrv/bsptemplate/asspandvariant/template_variant/variant.mmh
author sl@SLION-WIN7.fritz.box
Fri, 15 Jun 2012 03:10:57 +0200
changeset 0 bde4ae8d615e
permissions -rw-r--r--
First public contribution.
sl@0
     1
// Copyright (c) 1998-2009 Nokia Corporation and/or its subsidiary(-ies).
sl@0
     2
// All rights reserved.
sl@0
     3
// This component and the accompanying materials are made available
sl@0
     4
// under the terms of the License "Eclipse Public License v1.0"
sl@0
     5
// which accompanies this distribution, and is available
sl@0
     6
// at the URL "http://www.eclipse.org/legal/epl-v10.html".
sl@0
     7
//
sl@0
     8
// Initial Contributors:
sl@0
     9
// Nokia Corporation - initial contribution.
sl@0
    10
//
sl@0
    11
// Contributors:
sl@0
    12
//
sl@0
    13
// Description:
sl@0
    14
// template/template_variant/variant.mmh
sl@0
    15
// TO DO: (mandatory)
sl@0
    16
// Add here a definition for your CPU (list in CONFIG.INC)
sl@0
    17
// 
sl@0
    18
//
sl@0
    19
sl@0
    20
macro __CPU_ARM1176__
sl@0
    21
sl@0
    22
// TO DO: (mandatory)
sl@0
    23
//
sl@0
    24
// Add here a definition for your Memory Model
sl@0
    25
//
sl@0
    26
#define MM_MULTIPLE
sl@0
    27
sl@0
    28
// TO DO: (mandatory)
sl@0
    29
//
sl@0
    30
// Macro which generates the names for the binaries for this platform
sl@0
    31
//
sl@0
    32
#define VariantTarget(name,ext) _template_##name##.##ext
sl@0
    33
#define VariantMediaDefIncludePath SYMBIAN_OS_LAYER_PLATFORM_EXPORT_PATH(template)
sl@0
    34
sl@0
    35
//Include debug support. Some e32 tests require debug support
sl@0
    36
macro __DEBUGGER_SUPPORT__
sl@0
    37
sl@0
    38
//
sl@0
    39
// TO DO: 
sl@0
    40
//
sl@0
    41
// If euser is built from the variant, uncomment the following line to build it
sl@0
    42
// as ARM rather than Thumb
sl@0
    43
// 
sl@0
    44
// #define __BUILD_VARIANT_EUSER_AS_ARM__
sl@0
    45
sl@0
    46
// TO DO: (optional)
sl@0
    47
//
sl@0
    48
// To replace some of the generic utility functions with variant specific
sl@0
    49
// versions (eg to replace memcpy with a version optimised for the hardware),
sl@0
    50
// uncomment the two lines below and edit the files in the replacementUtils
sl@0
    51
// directory.
sl@0
    52
//
sl@0
    53
// #define REPLACE_GENERIC_UTILS
sl@0
    54
// #define VariantReplacementUtilsPath template/template_variant/replacement_utils
sl@0
    55
sl@0
    56
// TO DO: (optional)
sl@0
    57
//
sl@0
    58
// Enable BTrace support in release versions of the kernel by adding
sl@0
    59
// the following BTRACE macro declarations
sl@0
    60
//
sl@0
    61
// macro BTRACE_KERNEL_ALL
sl@0
    62
sl@0
    63
// TO DO:
sl@0
    64
//
sl@0
    65
// Uncomment the following line if using the r1p0 release or later of the ARM1136 processor.
sl@0
    66
// 
sl@0
    67
// macro __CPU_ARM1136_IS_R1__
sl@0
    68
sl@0
    69
// TO DO:
sl@0
    70
//
sl@0
    71
// Include the following line if default memory mapping should use shared memory.
sl@0
    72
// Should be on for multicore (SMP) devices.
sl@0
    73
//
sl@0
    74
// macro	__CPU_USE_SHARED_MEMORY
sl@0
    75
//
sl@0
    76
sl@0
    77
// TO DO:
sl@0
    78
//
sl@0
    79
// Uncomment the next line if using the ARM1136 processor and ARM1136 Erratum 406973
sl@0
    80
// "CLREX instruction might be ignored during data cache line fill"
sl@0
    81
// is fixed on this hardware.
sl@0
    82
// 
sl@0
    83
// macro __CPU_ARM1136_ERRATUM_406973_FIXED
sl@0
    84
sl@0
    85
// Uncomment next line if:
sl@0
    86
//	1) using the ARM1136 processor and ARM1136 Erratum 408022 "Cancelled write to CONTEXTID register might update ASID" 
sl@0
    87
//	   is fixed on this hardware, or
sl@0
    88
//	2) using the ARM1176 processor and ARM1176 Erratum 415047 "Cancelled write to CONTEXTID register might update ASID" 
sl@0
    89
//	   is fixed on this hardware.
sl@0
    90
//
sl@0
    91
// macro __CPU_ARM1136_ERRATUM_408022_FIXED
sl@0
    92
                                                                                                                                                                                                                          
sl@0
    93
// Uncomment if:
sl@0
    94
//	1)	using ARM1136 processor and ARM1136 Erratum 411920: "Invalidate Entire Instruction Cache
sl@0
    95
//	  	operation might fail to invalidate some lines if coincident with linefill"
sl@0
    96
//  	  	is fixed on this hardware, or
sl@0
    97
//	2)	using ARM1176 processor and ARM1176 Erratum 415045: "Invalidate Entire Instruction Cache
sl@0
    98
// 	  	operation might fail to invalidate some lines if coincident with linefill
sl@0
    99
//	  	is fixed on this hardware.
sl@0
   100
// Workaround:
sl@0
   101
//	1)	Disables the use of of prefetch range cache operations by setting RV bit in Auxiliary Ctrl Reg.
sl@0
   102
//	2)	Replaces Invalidate ICache operation with the sequence defined in the errata document.
sl@0
   103
// If this macro is enabled, it should be accompanied by:
sl@0
   104
// 	"GBLL CFG_CPU_ARM1136_ERRATUM_411920_FIXED" in variant.mmh
sl@0
   105
//
sl@0
   106
// macro __CPU_ARM1136_ERRATUM_411920_FIXED
sl@0
   107
sl@0
   108
// Uncomment next line if using the ARM1176 processor and ARM1176 Erratum 720013 "Invalidate Instruction
sl@0
   109
// Cache operations can fail" is fixed on this hardware.
sl@0
   110
//
sl@0
   111
// macro __CPU_ARM1176_ERRATUM_720013_FIXED
sl@0
   112
sl@0
   113
// TO DO:
sl@0
   114
//
sl@0
   115
// Uncomment the next line if using the ARM1136 processor with L210/L220 cache and ARM1136
sl@0
   116
// Erratum 317041:"TTBR0/TTBR1 bits[4:3] do not read back correctly"
sl@0
   117
// is fixed on this hardware.
sl@0
   118
// 
sl@0
   119
// macro __CPU_ARM1136_ERRATUM_317041_FIXED
sl@0
   120
sl@0
   121
// Uncomment the following line if Page Tables/Dirs have to be updated in main memory.
sl@0
   122
// Standard platforms shouldn't have this feature switched on.
sl@0
   123
// This must be accompanied by __ARM_L210_CACHE__ or __ARM_L220_CACHE__ macro.
sl@0
   124
// Omission::  The solution doesn't update temporary mappings 
sl@0
   125
// of inter-process communication (IPC) - aka aliasing.
sl@0
   126
//
sl@0
   127
// macro __FLUSH_PT_INTO_RAM__
sl@0
   128
sl@0
   129
// Uncomment the following line if Symbian OS is running in TrustZone non-secure state and the
sl@0
   130
// secure state has prevented code executing in non-secure state from being able to mask FIQs by
sl@0
   131
// setting the SCR.FW bit in the secure configuration register.
sl@0
   132
//
sl@0
   133
// macro __FIQ_RESERVED_FOR_SECURE_STATE__
sl@0
   134
sl@0
   135
// Various PlatSec configuration options cannot be disabled even by clearing the appropriate
sl@0
   136
// bits in the kernel configuration flags - they are enforced at compile time.  Uncomment the
sl@0
   137
// following to allow the clearing of bits in the kernel config flags to disable the relevant
sl@0
   138
// options at run time.
sl@0
   139
//
sl@0
   140
//macro __PLATSEC_UNLOCKED__
sl@0
   141
sl@0
   142
// If this macro is enabled then EMapAttrBufferedNC memory will be remapped as EMapAttrFullyBlocking
sl@0
   143
//macro FAULTY_NONSHARED_DEVICE_MEMORY
sl@0
   144
sl@0
   145
// Uncomment the following line if L210/20 cache is running in forced-WT mode.
sl@0
   146
// (Forced_WT bit set in Debug Control Register of L210/20 cache controller.)
sl@0
   147
// macro __ARM_L2_CACHE_WT_MODE
sl@0
   148
sl@0
   149
// For the status of errata of L210 & L220 cache, see the header of source file:
sl@0
   150
// e32\kernel\arm\cachel2.cpp
sl@0
   151
sl@0
   152
#if defined(__USING_USING_ASSP_REGISTER_API__) || defined(__USING_INTERRUPT_API__) || defined(__USING_ASSP_REGISTER_API__)
sl@0
   153
library	VariantTarget(katemplate,lib)
sl@0
   154
#endif
sl@0
   155
sl@0
   156
// Uncomment the following if IIC Controller is required
sl@0
   157
// library		iic.lib  // commented out as this iic.lib is now included from iic_channel.mmh
sl@0
   158