os/kernelhwsrv/kerneltest/e32test/smr/ne1/variant.mmh
author sl
Tue, 10 Jun 2014 14:32:02 +0200
changeset 1 260cb5ec6c19
permissions -rw-r--r--
Update contrib.
sl@0
     1
/*
sl@0
     2
* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
sl@0
     3
* All rights reserved.
sl@0
     4
* This component and the accompanying materials are made available
sl@0
     5
* under the terms of the License "Eclipse Public License v1.0"
sl@0
     6
* which accompanies this distribution, and is available
sl@0
     7
* at the URL "http://www.eclipse.org/legal/epl-v10.html".
sl@0
     8
*
sl@0
     9
* Initial Contributors:
sl@0
    10
* Nokia Corporation - initial contribution.
sl@0
    11
*
sl@0
    12
* Contributors:
sl@0
    13
*
sl@0
    14
* Description:
sl@0
    15
*
sl@0
    16
*/
sl@0
    17
//
sl@0
    18
// TO DO: (mandatory)
sl@0
    19
//
sl@0
    20
// Add here a definition for your CPU (list in CONFIG.INC)
sl@0
    21
//
sl@0
    22
macro __CPU_ARM11MP__
sl@0
    23
//
sl@0
    24
// TO DO: (mandatory)
sl@0
    25
//
sl@0
    26
// Add here a definition for your Memory Model
sl@0
    27
//
sl@0
    28
#define MM_MULTIPLE
sl@0
    29
//
sl@0
    30
// TO DO: (mandatory)
sl@0
    31
//
sl@0
    32
// Macro which generates the names for the binaries for this platform
sl@0
    33
//
sl@0
    34
#ifndef VariantTarget
sl@0
    35
#define VariantTarget(name,ext) _ne1_tb_##name##.##ext
sl@0
    36
#endif
sl@0
    37
sl@0
    38
#ifndef VariantMediaDefIncludePath
sl@0
    39
#define VariantMediaDefIncludePath /epoc32/include/ne1_tb
sl@0
    40
#endif
sl@0
    41
sl@0
    42
// Used in MMP files for include paths e.g. to hcrconfig.h header
sl@0
    43
#ifndef VariantIncludePath
sl@0
    44
#define VariantIncludePath /epoc32/include/ne1_tb
sl@0
    45
#endif
sl@0
    46
sl@0
    47
sl@0
    48
//Include debug support
sl@0
    49
macro __DEBUGGER_SUPPORT__
sl@0
    50
sl@0
    51
//
sl@0
    52
// TO DO: 
sl@0
    53
//
sl@0
    54
// If euser is built from the variant, uncomment the following line to build it
sl@0
    55
// as ARM rather than Thumb
sl@0
    56
// 
sl@0
    57
//#define __BUILD_VARIANT_EUSER_AS_ARM__
sl@0
    58
//
sl@0
    59
// TO DO: (optional)
sl@0
    60
//
sl@0
    61
// To replace some of the generic utility functions with variant specific
sl@0
    62
// versions (eg to replace memcpy with a version optimised for the hardware),
sl@0
    63
// uncomment the two lines below and edit the files in the replacementUtils
sl@0
    64
// directory.
sl@0
    65
//
sl@0
    66
//#define REPLACE_GENERIC_UTILS
sl@0
    67
//#define VariantReplacementUtilsPath ne1_tb/replacement_utils
sl@0
    68
//
sl@0
    69
// TO DO: (optional)
sl@0
    70
//
sl@0
    71
// Enable BTrace support in release versions of the kernel by adding
sl@0
    72
// the following BTRACE macro declarations
sl@0
    73
//
sl@0
    74
macro BTRACE_KERNEL_ALL
sl@0
    75
//
sl@0
    76
// TO DO:
sl@0
    77
//
sl@0
    78
// Uncomment the following line if using the r1p0 release or later of the ARM1136 processor.
sl@0
    79
// 
sl@0
    80
//#define __CPU_ARM1136_IS_R1__
sl@0
    81
//
sl@0
    82
sl@0
    83
// Include the following line if default memory mapping should use shared memory.
sl@0
    84
// Should be on for multicore (SMP) devices.
sl@0
    85
sl@0
    86
macro	__CPU_USE_SHARED_MEMORY
sl@0
    87
sl@0
    88
// Include the following line if CPU cannot tolerate the presence of nonshared
sl@0
    89
// cached memory. This seems to be the case for the ARM11 MPCore - corruption
sl@0
    90
// of data is observed in non-shared cached regions if __CPU_USE_SHARED_MEMORY
sl@0
    91
// is used.
sl@0
    92
sl@0
    93
macro	__CPU_FORCE_SHARED_MEMORY_IF_CACHED
sl@0
    94
sl@0
    95
sl@0
    96
sl@0
    97
// TO DO:
sl@0
    98
//
sl@0
    99
// Uncomment the next line if using the ARM1136 processor and ARM1136 Erratum 406973
sl@0
   100
// "CLREX instruction might be ignored during data cache line fill"
sl@0
   101
// is fixed on this hardware.
sl@0
   102
// 
sl@0
   103
//#define __CPU_ARM1136_ERRATUM_406973_FIXED
sl@0
   104
sl@0
   105
// Uncomment next line if using the ARM1136 processor and ARM1136 Erratum 408022 
sl@0
   106
// "Cancelled write to CONTEXTID register might update ASID" 
sl@0
   107
// is fixed on this hardware.
sl@0
   108
//
sl@0
   109
//#define __CPU_ARM1136_ERRATUM_408022_FIXED
sl@0
   110
sl@0
   111
sl@0
   112
// Uncomment if:
sl@0
   113
//	1)	using ARM1136 processor and ARM1136 Erratum 411920: "Invalidate Entire Instruction Cache
sl@0
   114
//	  	operation might fail to invalidate some lines if coincident with linefill"
sl@0
   115
//  	  	is fixed on this hardware, or
sl@0
   116
//	2)	using ARM1176 processor and ARM1176 Erratum 415045: "Invalidate Entire Instruction Cache
sl@0
   117
// 	  	operation might fail to invalidate some lines if coincident with linefill
sl@0
   118
//	  	is fixed on this hardware.
sl@0
   119
// Workaround:
sl@0
   120
//	1)	Disables the use of of prefetch range cache operations by setting RV bit in Auxiliary Ctrl Reg.
sl@0
   121
//	2)	Replaces Invalidate ICache operation with the sequence defined in the errata document.
sl@0
   122
// If this macro is enabled, it should be accompanied by:
sl@0
   123
// 	"GBLL CFG_CPU_ARM1136_ERRATUM_411920_FIXED" in variant.mmh
sl@0
   124
//
sl@0
   125
// #define __CPU_ARM1136_ERRATUM_411920_FIXED
sl@0
   126
sl@0
   127
macro FAULTY_NONSHARED_DEVICE_MEMORY
sl@0
   128
sl@0
   129
#define AsspNKernIncludePath		/epoc32/include/assp/naviengine/nkern
sl@0
   130
sl@0
   131
// FIQ can not be disabled on naviengine, tell kernel to ignore it...
sl@0
   132
macro __FIQ_IS_UNCONTROLLED__
sl@0
   133
sl@0
   134
macro MONITOR_THREAD_CPU_TIME
sl@0
   135
sl@0
   136
#if defined(__USING_USING_ASSP_REGISTER_API__) || defined(__USING_INTERRUPT_API__) || defined(__USING_ASSP_REGISTER_API__)
sl@0
   137
library	VariantTarget(kanaviengine,lib)
sl@0
   138
#endif
sl@0
   139