baseport/syborg/variant.mmh
author Mike Kinghan <mikek@symbian.org>
Thu, 25 Nov 2010 14:08:02 +0000
branchGCC_SURGE
changeset 133 bdd30170987b
parent 127 c0501b51f2b9
permissions -rw-r--r--
Provide an option for the base/rom extension that causes the toolchain id (ARMCC or GCCE) to be defined for the C preprocessor phase of rombuild, enabling rom files to be conditionally included or excluded depending on whether the toolchain can build them. This mimics the same change for Beagleboard.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
0
ffa851df0825 Initial syborg (baseport) and documentation import
martin.trojer@nokia.com
parents:
diff changeset
     1
/*
ffa851df0825 Initial syborg (baseport) and documentation import
martin.trojer@nokia.com
parents:
diff changeset
     2
* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
ffa851df0825 Initial syborg (baseport) and documentation import
martin.trojer@nokia.com
parents:
diff changeset
     3
* All rights reserved.
ffa851df0825 Initial syborg (baseport) and documentation import
martin.trojer@nokia.com
parents:
diff changeset
     4
* This component and the accompanying materials are made available
ffa851df0825 Initial syborg (baseport) and documentation import
martin.trojer@nokia.com
parents:
diff changeset
     5
* under the terms of the License "Eclipse Public License v1.0"
ffa851df0825 Initial syborg (baseport) and documentation import
martin.trojer@nokia.com
parents:
diff changeset
     6
* which accompanies this distribution, and is available
ffa851df0825 Initial syborg (baseport) and documentation import
martin.trojer@nokia.com
parents:
diff changeset
     7
* at the URL "http://www.eclipse.org/legal/epl-v10.html".
ffa851df0825 Initial syborg (baseport) and documentation import
martin.trojer@nokia.com
parents:
diff changeset
     8
*
ffa851df0825 Initial syborg (baseport) and documentation import
martin.trojer@nokia.com
parents:
diff changeset
     9
* Initial Contributors:
ffa851df0825 Initial syborg (baseport) and documentation import
martin.trojer@nokia.com
parents:
diff changeset
    10
* Nokia Corporation - initial contribution.
ffa851df0825 Initial syborg (baseport) and documentation import
martin.trojer@nokia.com
parents:
diff changeset
    11
*
ffa851df0825 Initial syborg (baseport) and documentation import
martin.trojer@nokia.com
parents:
diff changeset
    12
* Contributors:
ffa851df0825 Initial syborg (baseport) and documentation import
martin.trojer@nokia.com
parents:
diff changeset
    13
*
ffa851df0825 Initial syborg (baseport) and documentation import
martin.trojer@nokia.com
parents:
diff changeset
    14
* Description:
ffa851df0825 Initial syborg (baseport) and documentation import
martin.trojer@nokia.com
parents:
diff changeset
    15
*
ffa851df0825 Initial syborg (baseport) and documentation import
martin.trojer@nokia.com
parents:
diff changeset
    16
*/
ffa851df0825 Initial syborg (baseport) and documentation import
martin.trojer@nokia.com
parents:
diff changeset
    17
48
34cd6bf038ac Very rough additions to get baseport building after the header reorganisation. Original hardcoded systeminclude paths still left in.
MattD <mattd@symbian.org>
parents: 10
diff changeset
    18
#include <platform_paths.hrh>
34cd6bf038ac Very rough additions to get baseport building after the header reorganisation. Original hardcoded systeminclude paths still left in.
MattD <mattd@symbian.org>
parents: 10
diff changeset
    19
0
ffa851df0825 Initial syborg (baseport) and documentation import
martin.trojer@nokia.com
parents:
diff changeset
    20
//macro   __CPU_ARM926J__
ffa851df0825 Initial syborg (baseport) and documentation import
martin.trojer@nokia.com
parents:
diff changeset
    21
//#define __CPU__ ARM926EJ-S
ffa851df0825 Initial syborg (baseport) and documentation import
martin.trojer@nokia.com
parents:
diff changeset
    22
ffa851df0825 Initial syborg (baseport) and documentation import
martin.trojer@nokia.com
parents:
diff changeset
    23
//macro __CPU_ARM1136__
ffa851df0825 Initial syborg (baseport) and documentation import
martin.trojer@nokia.com
parents:
diff changeset
    24
ffa851df0825 Initial syborg (baseport) and documentation import
martin.trojer@nokia.com
parents:
diff changeset
    25
//#define __CPU_ARM1176__
ffa851df0825 Initial syborg (baseport) and documentation import
martin.trojer@nokia.com
parents:
diff changeset
    26
ffa851df0825 Initial syborg (baseport) and documentation import
martin.trojer@nokia.com
parents:
diff changeset
    27
macro __CPU_CORTEX_A8N__
ffa851df0825 Initial syborg (baseport) and documentation import
martin.trojer@nokia.com
parents:
diff changeset
    28
macro __VFP_V3
ffa851df0825 Initial syborg (baseport) and documentation import
martin.trojer@nokia.com
parents:
diff changeset
    29
#define SYBORG
ffa851df0825 Initial syborg (baseport) and documentation import
martin.trojer@nokia.com
parents:
diff changeset
    30
macro __SYBORG__
ffa851df0825 Initial syborg (baseport) and documentation import
martin.trojer@nokia.com
parents:
diff changeset
    31
ffa851df0825 Initial syborg (baseport) and documentation import
martin.trojer@nokia.com
parents:
diff changeset
    32
#define MM_MULTIPLE
ffa851df0825 Initial syborg (baseport) and documentation import
martin.trojer@nokia.com
parents:
diff changeset
    33
//#define MM_FLEXIBLE
ffa851df0825 Initial syborg (baseport) and documentation import
martin.trojer@nokia.com
parents:
diff changeset
    34
ffa851df0825 Initial syborg (baseport) and documentation import
martin.trojer@nokia.com
parents:
diff changeset
    35
// TO DO: decide if we need to switch these on or off!!
ffa851df0825 Initial syborg (baseport) and documentation import
martin.trojer@nokia.com
parents:
diff changeset
    36
//
ffa851df0825 Initial syborg (baseport) and documentation import
martin.trojer@nokia.com
parents:
diff changeset
    37
// Uncomment the following line if using the r1p0 release or later of the ARM1136 processor.
ffa851df0825 Initial syborg (baseport) and documentation import
martin.trojer@nokia.com
parents:
diff changeset
    38
// 
ffa851df0825 Initial syborg (baseport) and documentation import
martin.trojer@nokia.com
parents:
diff changeset
    39
//#define __CPU_ARM1136_IS_R1__
ffa851df0825 Initial syborg (baseport) and documentation import
martin.trojer@nokia.com
parents:
diff changeset
    40
//
ffa851df0825 Initial syborg (baseport) and documentation import
martin.trojer@nokia.com
parents:
diff changeset
    41
ffa851df0825 Initial syborg (baseport) and documentation import
martin.trojer@nokia.com
parents:
diff changeset
    42
/* Uncomment if ARM1136 Erratum 351912
ffa851df0825 Initial syborg (baseport) and documentation import
martin.trojer@nokia.com
parents:
diff changeset
    43
 * "VFP11 double precision multiply can corrupt data"
ffa851df0825 Initial syborg (baseport) and documentation import
martin.trojer@nokia.com
parents:
diff changeset
    44
 * is fixed on this hardware.
ffa851df0825 Initial syborg (baseport) and documentation import
martin.trojer@nokia.com
parents:
diff changeset
    45
 */
ffa851df0825 Initial syborg (baseport) and documentation import
martin.trojer@nokia.com
parents:
diff changeset
    46
//macro __CPU_ARM1136_ERRATUM_351912_FIXED
ffa851df0825 Initial syborg (baseport) and documentation import
martin.trojer@nokia.com
parents:
diff changeset
    47
ffa851df0825 Initial syborg (baseport) and documentation import
martin.trojer@nokia.com
parents:
diff changeset
    48
/* Uncomment if ARM1136 Erratum 353494
ffa851df0825 Initial syborg (baseport) and documentation import
martin.trojer@nokia.com
parents:
diff changeset
    49
 * "Rare conditions can cause corruption of the Instruction Cache"
ffa851df0825 Initial syborg (baseport) and documentation import
martin.trojer@nokia.com
parents:
diff changeset
    50
 * is fixed on this hardware.
ffa851df0825 Initial syborg (baseport) and documentation import
martin.trojer@nokia.com
parents:
diff changeset
    51
 */
ffa851df0825 Initial syborg (baseport) and documentation import
martin.trojer@nokia.com
parents:
diff changeset
    52
//macro __CPU_ARM1136_ERRATUM_353494_FIXED
ffa851df0825 Initial syborg (baseport) and documentation import
martin.trojer@nokia.com
parents:
diff changeset
    53
ffa851df0825 Initial syborg (baseport) and documentation import
martin.trojer@nokia.com
parents:
diff changeset
    54
/* Uncomment if ARM1136 Erratum 371025
ffa851df0825 Initial syborg (baseport) and documentation import
martin.trojer@nokia.com
parents:
diff changeset
    55
 * "Invalidate Instruction Cache operation can fail"
ffa851df0825 Initial syborg (baseport) and documentation import
martin.trojer@nokia.com
parents:
diff changeset
    56
 * is fixed on this hardware.
ffa851df0825 Initial syborg (baseport) and documentation import
martin.trojer@nokia.com
parents:
diff changeset
    57
 */
ffa851df0825 Initial syborg (baseport) and documentation import
martin.trojer@nokia.com
parents:
diff changeset
    58
//macro __CPU_ARM1136_ERRATUM_371025_FIXED
ffa851df0825 Initial syborg (baseport) and documentation import
martin.trojer@nokia.com
parents:
diff changeset
    59
ffa851df0825 Initial syborg (baseport) and documentation import
martin.trojer@nokia.com
parents:
diff changeset
    60
/* Uncomment if using ARM1136 processor and ARM1136 Erratum 399234
ffa851df0825 Initial syborg (baseport) and documentation import
martin.trojer@nokia.com
parents:
diff changeset
    61
 * "Write back data cache entry evicted by write through entry causes data corruption"
ffa851df0825 Initial syborg (baseport) and documentation import
martin.trojer@nokia.com
parents:
diff changeset
    62
 * is fixed on this hardware.
ffa851df0825 Initial syborg (baseport) and documentation import
martin.trojer@nokia.com
parents:
diff changeset
    63
 * Workaround
ffa851df0825 Initial syborg (baseport) and documentation import
martin.trojer@nokia.com
parents:
diff changeset
    64
 * The erratum may be avoided by marking all cacheable memory as one of write through or write back.
ffa851df0825 Initial syborg (baseport) and documentation import
martin.trojer@nokia.com
parents:
diff changeset
    65
 * This requires the memory attributes described in the translation tables to be modified by software
ffa851df0825 Initial syborg (baseport) and documentation import
martin.trojer@nokia.com
parents:
diff changeset
    66
 * appropriately, or the use of the remapping capability to remap write through regions to non cacheable.
ffa851df0825 Initial syborg (baseport) and documentation import
martin.trojer@nokia.com
parents:
diff changeset
    67
 * If this macro is enabled, it should be acompanied by:
ffa851df0825 Initial syborg (baseport) and documentation import
martin.trojer@nokia.com
parents:
diff changeset
    68
 *					GBLL	CFG_CPU_ARM1136_ERRATUM_399234_FIXED in config.inc
ffa851df0825 Initial syborg (baseport) and documentation import
martin.trojer@nokia.com
parents:
diff changeset
    69
 */
ffa851df0825 Initial syborg (baseport) and documentation import
martin.trojer@nokia.com
parents:
diff changeset
    70
//macro __CPU_ARM1136_ERRATUM_399234_FIXED
ffa851df0825 Initial syborg (baseport) and documentation import
martin.trojer@nokia.com
parents:
diff changeset
    71
ffa851df0825 Initial syborg (baseport) and documentation import
martin.trojer@nokia.com
parents:
diff changeset
    72
/* Uncomment if ARM1136 Erratum 408022 "Cancelled write to CONTEXTID register might update ASID" 
ffa851df0825 Initial syborg (baseport) and documentation import
martin.trojer@nokia.com
parents:
diff changeset
    73
 * is fixed on this hardware.
ffa851df0825 Initial syborg (baseport) and documentation import
martin.trojer@nokia.com
parents:
diff changeset
    74
 */
ffa851df0825 Initial syborg (baseport) and documentation import
martin.trojer@nokia.com
parents:
diff changeset
    75
//macro __CPU_ARM1136_ERRATUM_408022_FIXED
ffa851df0825 Initial syborg (baseport) and documentation import
martin.trojer@nokia.com
parents:
diff changeset
    76
ffa851df0825 Initial syborg (baseport) and documentation import
martin.trojer@nokia.com
parents:
diff changeset
    77
// TO DO:
ffa851df0825 Initial syborg (baseport) and documentation import
martin.trojer@nokia.com
parents:
diff changeset
    78
//
ffa851df0825 Initial syborg (baseport) and documentation import
martin.trojer@nokia.com
parents:
diff changeset
    79
// Uncomment the next line if using the ARM1136 processor and ARM1136 Erratum 406973
ffa851df0825 Initial syborg (baseport) and documentation import
martin.trojer@nokia.com
parents:
diff changeset
    80
// "CLREX instruction might be ignored during data cache line fill"
ffa851df0825 Initial syborg (baseport) and documentation import
martin.trojer@nokia.com
parents:
diff changeset
    81
// is fixed on this hardware.
ffa851df0825 Initial syborg (baseport) and documentation import
martin.trojer@nokia.com
parents:
diff changeset
    82
// 
ffa851df0825 Initial syborg (baseport) and documentation import
martin.trojer@nokia.com
parents:
diff changeset
    83
//#define __CPU_ARM1136_ERRATUM_406973_FIXED
ffa851df0825 Initial syborg (baseport) and documentation import
martin.trojer@nokia.com
parents:
diff changeset
    84
ffa851df0825 Initial syborg (baseport) and documentation import
martin.trojer@nokia.com
parents:
diff changeset
    85
ffa851df0825 Initial syborg (baseport) and documentation import
martin.trojer@nokia.com
parents:
diff changeset
    86
// Uncomment if:
ffa851df0825 Initial syborg (baseport) and documentation import
martin.trojer@nokia.com
parents:
diff changeset
    87
//	1)	using ARM1136 processor and ARM1136 Erratum 411920: "Invalidate Entire Instruction Cache
ffa851df0825 Initial syborg (baseport) and documentation import
martin.trojer@nokia.com
parents:
diff changeset
    88
//	  	operation might fail to invalidate some lines if coincident with linefill"
ffa851df0825 Initial syborg (baseport) and documentation import
martin.trojer@nokia.com
parents:
diff changeset
    89
//  	  	is fixed on this hardware, or
ffa851df0825 Initial syborg (baseport) and documentation import
martin.trojer@nokia.com
parents:
diff changeset
    90
//	2)	using ARM1176 processor and ARM1176 Erratum 415045: "Invalidate Entire Instruction Cache
ffa851df0825 Initial syborg (baseport) and documentation import
martin.trojer@nokia.com
parents:
diff changeset
    91
// 	  	operation might fail to invalidate some lines if coincident with linefill
ffa851df0825 Initial syborg (baseport) and documentation import
martin.trojer@nokia.com
parents:
diff changeset
    92
//	  	is fixed on this hardware.
ffa851df0825 Initial syborg (baseport) and documentation import
martin.trojer@nokia.com
parents:
diff changeset
    93
// Workaround:
ffa851df0825 Initial syborg (baseport) and documentation import
martin.trojer@nokia.com
parents:
diff changeset
    94
//	1)	Disables the use of of prefetch range cache operations by setting RV bit in Auxiliary Ctrl Reg.
ffa851df0825 Initial syborg (baseport) and documentation import
martin.trojer@nokia.com
parents:
diff changeset
    95
//	2)	Replaces Invalidate ICache operation with the sequence defined in the errata document.
ffa851df0825 Initial syborg (baseport) and documentation import
martin.trojer@nokia.com
parents:
diff changeset
    96
// If this macro is enabled, it should be accompanied by:
ffa851df0825 Initial syborg (baseport) and documentation import
martin.trojer@nokia.com
parents:
diff changeset
    97
// 	"GBLL CFG_CPU_ARM1136_ERRATUM_411920_FIXED" in variant.mmh
ffa851df0825 Initial syborg (baseport) and documentation import
martin.trojer@nokia.com
parents:
diff changeset
    98
//
ffa851df0825 Initial syborg (baseport) and documentation import
martin.trojer@nokia.com
parents:
diff changeset
    99
//macro __CPU_ARM1136_ERRATUM_411920_FIXED
ffa851df0825 Initial syborg (baseport) and documentation import
martin.trojer@nokia.com
parents:
diff changeset
   100
ffa851df0825 Initial syborg (baseport) and documentation import
martin.trojer@nokia.com
parents:
diff changeset
   101
86
42ae69d3c4a8 1) Fix for Bug 3157 - Compilation error in gui_common.h
mikek
parents: 48
diff changeset
   102
#ifndef GCCE
0
ffa851df0825 Initial syborg (baseport) and documentation import
martin.trojer@nokia.com
parents:
diff changeset
   103
macro __CPU_HAS_VFP
ffa851df0825 Initial syborg (baseport) and documentation import
martin.trojer@nokia.com
parents:
diff changeset
   104
#define USE_VFP_MATH
86
42ae69d3c4a8 1) Fix for Bug 3157 - Compilation error in gui_common.h
mikek
parents: 48
diff changeset
   105
#endif
0
ffa851df0825 Initial syborg (baseport) and documentation import
martin.trojer@nokia.com
parents:
diff changeset
   106
// !@! not moving when 1136
ffa851df0825 Initial syborg (baseport) and documentation import
martin.trojer@nokia.com
parents:
diff changeset
   107
//#define MM_MOVING
ffa851df0825 Initial syborg (baseport) and documentation import
martin.trojer@nokia.com
parents:
diff changeset
   108
macro __DEBUGGER_SUPPORT__
ffa851df0825 Initial syborg (baseport) and documentation import
martin.trojer@nokia.com
parents:
diff changeset
   109
macro FASTTRACE_KERNEL_ALL
ffa851df0825 Initial syborg (baseport) and documentation import
martin.trojer@nokia.com
parents:
diff changeset
   110
macro __EMI_SUPPORT__
ffa851df0825 Initial syborg (baseport) and documentation import
martin.trojer@nokia.com
parents:
diff changeset
   111
ffa851df0825 Initial syborg (baseport) and documentation import
martin.trojer@nokia.com
parents:
diff changeset
   112
#define VariantTarget(name,ext)     _syborg_##name##.##ext
127
c0501b51f2b9 Fix for Bug 3898 - [GCCE] Name sf/adapation -> sf/adapt breaks syborg buiild
Mike Kinghan <mikek@symbian.org>
parents: 86
diff changeset
   113
#define AsspNKernIncludePath        /sf/adapt/qemu/baseport/syborg/specific
5
1df3a4173277 Fix the #defined include paths, convert \ separators to /
William Roberts <williamr@symbian.org>
parents: 3
diff changeset
   114
#define VariantMediaDefIncludePath  /epoc32/include/syborg        
0
ffa851df0825 Initial syborg (baseport) and documentation import
martin.trojer@nokia.com
parents:
diff changeset
   115
#define PlatformLib		   		    kasyborg.lib
ffa851df0825 Initial syborg (baseport) and documentation import
martin.trojer@nokia.com
parents:
diff changeset
   116
5
1df3a4173277 Fix the #defined include paths, convert \ separators to /
William Roberts <williamr@symbian.org>
parents: 3
diff changeset
   117
systeminclude	/epoc32/include/memmodel/epoc/mmubase
1df3a4173277 Fix the #defined include paths, convert \ separators to /
William Roberts <williamr@symbian.org>
parents: 3
diff changeset
   118
//systeminclude	/epoc32/include/memmodel/epoc/moving
1df3a4173277 Fix the #defined include paths, convert \ separators to /
William Roberts <williamr@symbian.org>
parents: 3
diff changeset
   119
//systeminclude	/epoc32/include/memmodel/epoc/moving/arm
1df3a4173277 Fix the #defined include paths, convert \ separators to /
William Roberts <williamr@symbian.org>
parents: 3
diff changeset
   120
//systeminclude	/epoc32/include/memmodel/epoc/flexible
1df3a4173277 Fix the #defined include paths, convert \ separators to /
William Roberts <williamr@symbian.org>
parents: 3
diff changeset
   121
//systeminclude	/epoc32/include/memmodel/epoc/flexible/arm
1df3a4173277 Fix the #defined include paths, convert \ separators to /
William Roberts <williamr@symbian.org>
parents: 3
diff changeset
   122
systeminclude	/epoc32/include/memmodel/epoc/multiple
1df3a4173277 Fix the #defined include paths, convert \ separators to /
William Roberts <williamr@symbian.org>
parents: 3
diff changeset
   123
systeminclude	/epoc32/include/memmodel/epoc/multiple/arm
0
ffa851df0825 Initial syborg (baseport) and documentation import
martin.trojer@nokia.com
parents:
diff changeset
   124
48
34cd6bf038ac Very rough additions to get baseport building after the header reorganisation. Original hardcoded systeminclude paths still left in.
MattD <mattd@symbian.org>
parents: 10
diff changeset
   125
SYMBIAN_BASE_SYSTEMINCLUDE(memmodel/epoc/mmubase)
34cd6bf038ac Very rough additions to get baseport building after the header reorganisation. Original hardcoded systeminclude paths still left in.
MattD <mattd@symbian.org>
parents: 10
diff changeset
   126
SYMBIAN_BASE_SYSTEMINCLUDE(memmodel/epoc/multiple)
34cd6bf038ac Very rough additions to get baseport building after the header reorganisation. Original hardcoded systeminclude paths still left in.
MattD <mattd@symbian.org>
parents: 10
diff changeset
   127
SYMBIAN_BASE_SYSTEMINCLUDE(memmodel/epoc/multiple/arm)
34cd6bf038ac Very rough additions to get baseport building after the header reorganisation. Original hardcoded systeminclude paths still left in.
MattD <mattd@symbian.org>
parents: 10
diff changeset
   128
OS_LAYER_SYSTEMINCLUDE
34cd6bf038ac Very rough additions to get baseport building after the header reorganisation. Original hardcoded systeminclude paths still left in.
MattD <mattd@symbian.org>
parents: 10
diff changeset
   129
10
1cf69c2c2bbd Adjust to /sf/adaptation/qemu, add package_definition.xml and syborg.mrp
William Roberts <williamr@symbian.org>
parents: 5
diff changeset
   130
systeminclude	../../../../os/kernelhwsrv/driversupport/socassp/interface
0
ffa851df0825 Initial syborg (baseport) and documentation import
martin.trojer@nokia.com
parents:
diff changeset
   131
ffa851df0825 Initial syborg (baseport) and documentation import
martin.trojer@nokia.com
parents:
diff changeset
   132
// Uncomment for T_USERCOMDEB test
ffa851df0825 Initial syborg (baseport) and documentation import
martin.trojer@nokia.com
parents:
diff changeset
   133
//#define BUILD_TESTS
ffa851df0825 Initial syborg (baseport) and documentation import
martin.trojer@nokia.com
parents:
diff changeset
   134
ffa851df0825 Initial syborg (baseport) and documentation import
martin.trojer@nokia.com
parents:
diff changeset
   135
#ifdef BUILD_TESTS
ffa851df0825 Initial syborg (baseport) and documentation import
martin.trojer@nokia.com
parents:
diff changeset
   136
macro BTRACE_KERNEL_ALL
ffa851df0825 Initial syborg (baseport) and documentation import
martin.trojer@nokia.com
parents:
diff changeset
   137
#endif
ffa851df0825 Initial syborg (baseport) and documentation import
martin.trojer@nokia.com
parents:
diff changeset
   138
ffa851df0825 Initial syborg (baseport) and documentation import
martin.trojer@nokia.com
parents:
diff changeset
   139
//OPTION_REPLACE	ARMCC  --cpu __CPU__
ffa851df0825 Initial syborg (baseport) and documentation import
martin.trojer@nokia.com
parents:
diff changeset
   140
//OPTION_REPLACE	ARMASM --cpu __CPU__