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