mirror of
https://github.com/drasko/codezero.git
synced 2026-08-04 21:40:07 +02:00
Significant cleanup to how configuration files are generated.
Default autogenerated version works. Need to sort out config options
This commit is contained in:
143
config/cml/arm.ruleset
Normal file
143
config/cml/arm.ruleset
Normal file
@@ -0,0 +1,143 @@
|
||||
start main_menu
|
||||
|
||||
#############
|
||||
# SYMBOLS #
|
||||
#############
|
||||
symbols
|
||||
|
||||
ARCH_ARM 'ARM'
|
||||
|
||||
arm_cpu_type 'ARM Processor Type'
|
||||
CPU_ARM1136 'ARM1136 - To be added'
|
||||
CPU_ARM11MPCORE 'ARM11 MPCore - To be added'
|
||||
CPU_ARM926 'ARM926EJ-S'
|
||||
CPU_CORTEXA8 'ARM Cortex-A8 - Not supported'
|
||||
|
||||
arm_subarch_type 'ARM Architecture Family'
|
||||
SUBARCH_V5 'ARM v5 Architecture'
|
||||
SUBARCH_V6 'ARM v6 Architecture, To be added'
|
||||
SUBARCH_V7 'ARM v7 Architecture, To be added'
|
||||
|
||||
arm_platform_type 'ARM Platform Type'
|
||||
PLATFORM_EB 'Realview EB Platform, Unsupported yet'
|
||||
PLATFORM_AB926 'Versatile AB926 Platform, Unsupported yet'
|
||||
PLATFORM_PB926 'Versatile PB926 Platform'
|
||||
PLATFORM_PB11MPCORE 'Realview PB11MPCore Platform'
|
||||
PLATFORM_PBA8 'Realview PB-A8 Platform'
|
||||
|
||||
DRIVER_UART_PL011 'ARM UART Primecell driver PL011'
|
||||
DRIVER_TIMER_SP804 'ARM Dual Timer Primecell driver SP804'
|
||||
DRIVER_IRQ_PL190 'ARM Vectored Interrupt Controller PL190'
|
||||
DRIVER_IRQ_GIC 'ARM Generic Interrupt Controller GIC'
|
||||
|
||||
main_menu 'Codezero Microkernel Configurator'
|
||||
arm_menu 'ARM Architecture Configuration'
|
||||
arm_cpu_menu 'ARM CPU type'
|
||||
arm_platform_menu 'ARM Platform Type'
|
||||
drivers_menu 'Platform Drivers'
|
||||
containers_menu 'Container Setup'
|
||||
arch_type 'Main architecture'
|
||||
|
||||
CONTAINERS 'Number of containers'
|
||||
|
||||
#############
|
||||
# CHOICES #
|
||||
#############
|
||||
|
||||
choices arch_type
|
||||
ARCH_ARM
|
||||
default ARCH_ARM
|
||||
|
||||
choices arm_subarch_type
|
||||
SUBARCH_V5
|
||||
SUBARCH_V6
|
||||
SUBARCH_V7
|
||||
default SUBARCH_V5
|
||||
|
||||
choices arm_cpu_type
|
||||
CPU_ARM926
|
||||
CPU_ARM1136
|
||||
CPU_ARM11MPCORE
|
||||
CPU_CORTEXA8
|
||||
default CPU_ARM926
|
||||
|
||||
choices arm_platform_type
|
||||
PLATFORM_EB
|
||||
PLATFORM_AB926
|
||||
PLATFORM_PB926
|
||||
PLATFORM_PB11MPCORE
|
||||
PLATFORM_PBA8
|
||||
default PLATFORM_PB926
|
||||
|
||||
#############
|
||||
# MENUS #
|
||||
#############
|
||||
|
||||
menu arm_cpu_menu
|
||||
arm_cpu_type
|
||||
|
||||
menu arm_platform_menu
|
||||
arm_platform_type
|
||||
|
||||
menu drivers_menu
|
||||
DRIVER_UART_PL011
|
||||
DRIVER_TIMER_SP804
|
||||
DRIVER_IRQ_PL190
|
||||
DRIVER_IRQ_GIC
|
||||
|
||||
menu arm_menu
|
||||
arm_subarch_type
|
||||
arm_cpu_menu
|
||||
arm_platform_menu
|
||||
drivers_menu
|
||||
|
||||
menu main_menu
|
||||
arch_type
|
||||
arm_menu
|
||||
CONTAINERS%
|
||||
containers_menu
|
||||
|
||||
#############
|
||||
# RULES #
|
||||
#############
|
||||
|
||||
#Platform rules:
|
||||
unless SUBARCH_V5 suppress PLATFORM_PB926
|
||||
unless SUBARCH_V5 suppress PLATFORM_AB926
|
||||
unless SUBARCH_V6 suppress PLATFORM_PB11MPCORE
|
||||
unless SUBARCH_V7 suppress PLATFORM_PBA8
|
||||
|
||||
#CPU rules:
|
||||
unless SUBARCH_V5 suppress CPU_ARM926
|
||||
unless SUBARCH_V6 suppress CPU_ARM1136
|
||||
unless SUBARCH_V6 suppress CPU_ARM11MPCORE
|
||||
unless SUBARCH_V7 suppress CPU_CORTEXA8
|
||||
|
||||
# NOTE: Unlike menus, choices dont take { sym } model of visibility
|
||||
# dependencies. Instead, a choice symbol is declared in a menu, and
|
||||
# suppress statement is used to make sym visible, instead of a
|
||||
# { sym } model under the choices. (See manual for { sym } usage).
|
||||
|
||||
unless SUBARCH_V5 suppress PLATFORM_PB926
|
||||
unless ARCH_ARM suppress arm_menu
|
||||
unless PLATFORM_PB926 or PLATFORM_AB926 suppress DRIVER_IRQ_PL190
|
||||
unless PLATFORM_EB suppress CPU_ARM1136
|
||||
unless PLATFORM_EB or PLATFORM_PBA8 or PLATFORM_PB11MPCORE suppress DRIVER_IRQ_GIC
|
||||
default DRIVER_UART_PL011 from y
|
||||
default DRIVER_TIMER_SP804 from y
|
||||
default DRIVER_IRQ_PL190 from y
|
||||
default DRIVER_IRQ_GIC from y
|
||||
|
||||
|
||||
prefix CONFIG_
|
||||
|
||||
# Checklist for correct CML2
|
||||
# 1) Have you defined a prompt for each menu, choice_type?
|
||||
# 2) Have you defined a default for each symbol?
|
||||
# 3) Have you put 'symbols' keyword before each symbol, menu and choice?
|
||||
|
||||
|
||||
# Important note on derived symbols
|
||||
# DO NOT place any declaration for derived symbols like normal symbols,
|
||||
# otherwise the derivation will be silently ignored, and you will be left
|
||||
# wondering why.
|
||||
Reference in New Issue
Block a user