OpenCores
URL https://opencores.org/ocsvn/c0or1k/c0or1k/trunk

Subversion Repositories c0or1k

[/] [c0or1k/] [trunk/] [config/] [cml/] [arm.ruleset] - Blame information for rev 2

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 2 drasko
start main_menu
2
 
3
#############
4
#  SYMBOLS  #
5
#############
6
symbols
7
 
8
ARCH_ARM                'ARM'
9
 
10
arm_cpu_type            'ARM Processor Type'
11
CPU_ARM1136             'ARM1136 - Experimental'
12
CPU_ARM11MPCORE         'ARM11 MPCore - Experimental'
13
CPU_ARM926              'ARM926EJ-S'
14
CPU_CORTEXA8            'ARM Cortex-A8'
15
CPU_CORTEXA9            'ARM Cortex-A9'
16
 
17
arm_platform_type       'ARM Platform Type'
18
PLATFORM_EB             'Realview EB Platform'
19
PLATFORM_PBA8           'Realview PB-A8 Platform, To be added'
20
PLATFORM_PB926          'Versatile PB926 Platform'
21
PLATFORM_PB11MPCORE     'Realview PB11MPCore Platform'
22
PLATFORM_BEAGLE         'OMAP3530/Cortex-A8 Beagle Board'
23
PLATFORM_PBA9           'Realview Express Cortex-A9'
24
 
25
main_menu               'Codezero Microkernel Configurator'
26
arm_menu                'ARM Architecture Configuration'
27
arm_cpu_menu            'ARM CPU type'
28
arm_platform_menu       'ARM Platform Type'
29
processor_properties    'Generic Processor Properties'
30
kernel_generic_options  'Generic Kernel Properties'
31
toolchain_menu          'Toolchain Prefix'
32
containers_menu         'Container Setup'
33
arch_type               'Main architecture'
34
 
35
SMP                     'Enable SMP Support'
36
NCPU                    'Number of SMP CPUs'
37
DEBUG_ACCOUNTING        'Enable system operations accounting'
38
DEBUG_PERFMON           'Enable performance monitoring'
39
DEBUG_PERFMON_USER      'Userspace access to perfmon registers (in-kernel measurements disabled)'
40
DEBUG_SPINLOCKS         'Debug spinlocks, e.g. detect recursive locks, double unlocks'
41
SCHED_TICKS             'Scheduler ticks per second'
42
ICACHE_DISABLE          'Disable the L1 instruction cache'
43
DCACHE_DISABLE          'Disable the L1 data cache'
44
PREEMPT_DISABLE         'Disable Kernel Preemption'
45
TOOLCHAIN_USERSPACE     'Toolchain prefix for userspace'
46
TOOLCHAIN_KERNEL        'Toolchain prefix for kernel'
47
 
48
CAPABILITIES            'Enable capability checking'
49
 
50
#############
51
#  CHOICES  #
52
#############
53
 
54
choices arch_type
55
        ARCH_ARM
56
        default ARCH_ARM
57
 
58
choices arm_platform_type
59
        PLATFORM_EB
60
        PLATFORM_PBA8
61
        PLATFORM_PB926
62
        PLATFORM_PB11MPCORE
63
        PLATFORM_BEAGLE
64
        PLATFORM_PBA9
65
        default PLATFORM_PB926
66
 
67
choices arm_cpu_type
68
        CPU_ARM926
69
        CPU_ARM1136
70
        CPU_ARM11MPCORE
71
        CPU_CORTEXA8
72
        CPU_CORTEXA9
73
        default CPU_ARM926
74
 
75
#############
76
#   MENUS   #
77
#############
78
 
79
menu arm_cpu_menu
80
        arm_cpu_type
81
 
82
menu arm_platform_menu
83
        arm_platform_type
84
 
85
menu arm_menu
86
        arm_platform_menu
87
        arm_cpu_menu
88
 
89
menu processor_properties
90
        SMP
91
        NCPU%
92
        ICACHE_DISABLE
93
        DCACHE_DISABLE
94
 
95
menu kernel_generic_options
96
        PREEMPT_DISABLE
97
        DEBUG_ACCOUNTING
98
        DEBUG_PERFMON
99
        DEBUG_PERFMON_USER
100
        DEBUG_SPINLOCKS
101
        SCHED_TICKS%
102
 
103
menu toolchain_menu
104
        TOOLCHAIN_USERSPACE$
105
        TOOLCHAIN_KERNEL$
106
 
107
menu main_menu
108
        arch_type
109
        arm_menu
110
        processor_properties
111
        kernel_generic_options
112
        toolchain_menu
113
        containers_menu
114
 
115
#############
116
#   RULES   #
117
#############
118
#Capability/Container rules:
119
default CAPABILITIES from y
120
default DEBUG_ACCOUNTING from n
121
default DEBUG_PERFMON from n
122
default DEBUG_PERFMON_USER from n
123
default DEBUG_SPINLOCKS from n
124
default SCHED_TICKS from 1000
125
derive DEBUG_PERFMON_KERNEL from DEBUG_PERFMON == y and DEBUG_PERFMON_USER != y
126
 
127
#Subarch Derivation Rules
128
derive SUBARCH_V5 from CPU_ARM926
129
 
130
derive SUBARCH_V6 from CPU_ARM1136 or
131
                       CPU_ARM11MPCORE
132
 
133
derive SUBARCH_V7 from CPU_CORTEXA8 or
134
                       CPU_CORTEXA9
135
 
136
#CPU rules:
137
unless PLATFORM_PB926                          suppress        CPU_ARM926
138
unless PLATFORM_PB11MPCORE or PLATFORM_EB      suppress        CPU_ARM11MPCORE
139
unless PLATFORM_EB                             suppress        CPU_ARM1136
140
unless PLATFORM_PBA9 or PLATFORM_EB            suppress        CPU_CORTEXA9
141
 
142
unless PLATFORM_BEAGLE or
143
       PLATFORM_PBA8 or
144
       PLATFORM_EB           suppress        CPU_CORTEXA8
145
 
146
#SMP support rules
147
unless CPU_CORTEXA9 or CPU_ARM11MPCORE suppress SMP
148
unless CPU_CORTEXA9 or CPU_ARM11MPCORE suppress NCPU
149
unless SMP suppress NCPU
150
unless DEBUG_ACCOUNTING suppress DEBUG_PERFMON
151
                                 DEBUG_PERFMON_USER
152
unless DEBUG_PERFMON suppress DEBUG_PERFMON_USER
153
 
154
# NOTE: Unlike menus, choices dont take { sym } model of visibility
155
# dependencies. Instead, a choice symbol is declared in a menu, and
156
# suppress statement is used to make sym visible, instead of a
157
# { sym } model under the choices. (See manual for { sym } usage).
158
 
159
unless ARCH_ARM suppress arm_menu
160
derive DRIVER_UART_PL011 from PLATFORM_PB926 or
161
                              PLATFORM_PB11MPCORE or
162
                              PLATFORM_PBA9 or
163
                              PLATFORM_EB or
164
                              PLATFORM_PBA8
165
 
166
derive DRIVER_TIMER_SP804 from PLATFORM_PB926 or
167
                               PLATFORM_PB11MPCORE or
168
                               PLATFORM_PBA9 or
169
                               PLATFORM_EB or
170
                               PLATFORM_PBA8
171
 
172
derive DRIVER_IRQ_PL190 from PLATFORM_PB926
173
 
174
derive DRIVER_IRQ_GIC from PLATFORM_PB11MPCORE or
175
                           PLATFORM_PBA9 or
176
                           PLATFORM_EB or
177
                           PLATFORM_PBA8
178
 
179
derive DRIVER_UART_OMAP from PLATFORM_BEAGLE
180
derive DRIVER_TIMER_OMAP from PLATFORM_BEAGLE
181
derive DRIVER_INTC_OMAP from PLATFORM_BEAGLE
182
 
183
#SMP default value
184
default SMP from y
185
default NCPU from 4
186
default ICACHE_DISABLE from n
187
default DCACHE_DISABLE from n
188
default PREEMPT_DISABLE from n
189
 
190
require NCPU <= 4
191
 
192
# Derive Ram base address depending on platform selected
193
# we use this in setting containers physical regions
194
# default values
195
# FIXME: Find a better solution
196
derive RAM_BASE_PLAT from  PLATFORM_BEAGLE ? 0x80000000 : 0x00000000
197
 
198
# Toolchains:
199
default TOOLCHAIN_USERSPACE from 'arm-none-linux-gnueabi-'
200
default TOOLCHAIN_KERNEL from 'arm-none-eabi-'
201
 
202
prefix CONFIG_
203
 
204
# Checklist for correct CML2
205
# 1) Have you defined a prompt for each menu, choice_type?
206
# 2) Have you defined a default for each symbol?
207
# 3) Have you put 'symbols' keyword before each symbol, menu and choice?
208
 
209
 
210
# Important note on derived symbols
211
# DO NOT place any declaration for derived symbols like normal symbols,
212
# otherwise the derivation will be silently ignored, and you will be left
213
# wondering why.

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.