mirror of
https://github.com/drasko/codezero.git
synced 2026-01-12 10:53:16 +01:00
218 lines
6.3 KiB
Plaintext
218 lines
6.3 KiB
Plaintext
start main_menu
|
|
|
|
#############
|
|
# SYMBOLS #
|
|
#############
|
|
symbols
|
|
|
|
CONFIG_ARCH_ARM 'ARM'
|
|
|
|
arm_cpu_type 'ARM Processor Type'
|
|
CONFIG_CPU_ARM1136 'ARM1136 - To be added'
|
|
CONFIG_CPU_ARM11MPCORE 'ARM11 MPCore - To be added'
|
|
CONFIG_CPU_ARM926 'ARM926EJ-S'
|
|
CONFIG_CPU_CORTEXA8 'ARM Cortex-A8 - Not supported'
|
|
|
|
arm_subarch_type 'ARM Architecture Family'
|
|
CONFIG_SUBARCH_V5 'ARM v5 Architecture'
|
|
CONFIG_SUBARCH_V6 'ARM v6 Architecture, To be added'
|
|
CONFIG_SUBARCH_V7 'ARM v7 Architecture, To be added'
|
|
|
|
arm_platform_type 'ARM Platform Type'
|
|
CONFIG_PLATFORM_EB 'Realview EB Platform, Unsupported yet'
|
|
CONFIG_PLATFORM_AB926 'Versatile AB926 Platform, Unsupported yet'
|
|
CONFIG_PLATFORM_PB926 'Versatile PB926 Platform'
|
|
CONFIG_PLATFORM_PB11MPCORE 'Realview PB11MPCore Platform'
|
|
CONFIG_PLATFORM_PBA8 'Realview PB-A8 Platform'
|
|
|
|
CONFIG_DRIVER_UART_PL011 'ARM UART Primecell driver PL011'
|
|
CONFIG_DRIVER_TIMER_SP804 'ARM Dual Timer Primecell driver SP804'
|
|
CONFIG_DRIVER_IRQ_PL190 'ARM Vectored Interrupt Controller PL190'
|
|
CONFIG_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'
|
|
arch_type 'Main architecture'
|
|
|
|
#############
|
|
# CHOICES #
|
|
#############
|
|
|
|
choices arch_type
|
|
CONFIG_ARCH_ARM
|
|
default CONFIG_ARCH_ARM
|
|
|
|
choices arm_subarch_type
|
|
CONFIG_SUBARCH_V5
|
|
CONFIG_SUBARCH_V6
|
|
CONFIG_SUBARCH_V7
|
|
default CONFIG_SUBARCH_V5
|
|
|
|
choices arm_cpu_type
|
|
CONFIG_CPU_ARM926
|
|
CONFIG_CPU_ARM1136
|
|
CONFIG_CPU_ARM11MPCORE
|
|
CONFIG_CPU_CORTEXA8
|
|
default CONFIG_CPU_ARM926
|
|
|
|
choices arm_platform_type
|
|
CONFIG_PLATFORM_EB
|
|
CONFIG_PLATFORM_AB926
|
|
CONFIG_PLATFORM_PB926
|
|
CONFIG_PLATFORM_PB11MPCORE
|
|
CONFIG_PLATFORM_PBA8
|
|
default CONFIG_PLATFORM_PB926
|
|
|
|
#############
|
|
# MENUS #
|
|
#############
|
|
|
|
menu arm_cpu_menu
|
|
arm_cpu_type
|
|
|
|
menu arm_platform_menu
|
|
arm_platform_type
|
|
|
|
menu drivers_menu
|
|
CONFIG_DRIVER_UART_PL011
|
|
CONFIG_DRIVER_TIMER_SP804
|
|
CONFIG_DRIVER_IRQ_PL190
|
|
CONFIG_DRIVER_IRQ_GIC
|
|
|
|
menu arm_menu
|
|
arm_subarch_type
|
|
arm_cpu_menu
|
|
arm_platform_menu
|
|
drivers_menu
|
|
|
|
menu main_menu
|
|
arch_type
|
|
arm_menu
|
|
CONFIG_CONTAINERS%
|
|
containers_menu
|
|
|
|
#############
|
|
# RULES #
|
|
#############
|
|
|
|
#Platform rules:
|
|
unless CONFIG_SUBARCH_V5 suppress CONFIG_PLATFORM_PB926
|
|
unless CONFIG_SUBARCH_V5 suppress CONFIG_PLATFORM_AB926
|
|
unless CONFIG_SUBARCH_V6 suppress CONFIG_PLATFORM_PB11MPCORE
|
|
unless CONFIG_SUBARCH_V7 suppress CONFIG_PLATFORM_PBA8
|
|
|
|
#CPU rules:
|
|
unless CONFIG_SUBARCH_V5 suppress CONFIG_CPU_ARM926
|
|
unless CONFIG_SUBARCH_V6 suppress CONFIG_CPU_ARM1136
|
|
unless CONFIG_SUBARCH_V6 suppress CONFIG_CPU_ARM11MPCORE
|
|
unless CONFIG_SUBARCH_V7 suppress CONFIG_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 CONFIG_SUBARCH_V5 suppress CONFIG_PLATFORM_PB926
|
|
unless CONFIG_ARCH_ARM suppress arm_menu
|
|
unless CONFIG_PLATFORM_PB926 or CONFIG_PLATFORM_AB926 suppress CONFIG_DRIVER_IRQ_PL190
|
|
unless CONFIG_PLATFORM_EB suppress CONFIG_CPU_ARM1136
|
|
unless CONFIG_PLATFORM_EB or CONFIG_PLATFORM_PBA8 or CONFIG_PLATFORM_PB11MPCORE suppress CONFIG_DRIVER_IRQ_GIC
|
|
default CONFIG_DRIVER_UART_PL011 from y
|
|
default CONFIG_DRIVER_TIMER_SP804 from y
|
|
default CONFIG_DRIVER_IRQ_PL190 from y
|
|
default CONFIG_DRIVER_IRQ_GIC from y
|
|
|
|
# Container Rules
|
|
symbols
|
|
CONFIG_CONTAINERS 'Number of containers'
|
|
CONFIG_CONT0_TYPE_LINUX 'Linux Container'
|
|
CONFIG_CONT0_TYPE_BARE 'Bare Container'
|
|
CONFIG_CONT0_TYPE_C0_POSIX 'Codezero POSIX Services Container (mm0, fs0 microkernel services)'
|
|
CONFIG_CONT0_PHYS_START 'Container 0 physical start address'
|
|
CONFIG_CONT0_PHYS_END 'Container 0 physical end address'
|
|
CONFIG_CONT0_VIRT_START 'Container 0 virtual start address'
|
|
CONFIG_CONT0_VIRT_END 'Container 0 virtual end address'
|
|
CONFIG_CONT0_OPT_DIRNAME 'Containers directory name under conts'
|
|
|
|
CONFIG_CONT1_TYPE_LINUX 'Linux Container'
|
|
CONFIG_CONT1_TYPE_BARE 'Bare Container'
|
|
CONFIG_CONT1_TYPE_C0_POSIX 'Codezero POSIX Services Container (mm0, fs0 microkernel services)'
|
|
CONFIG_CONT1_PHYS_START 'Container 1 physical start address'
|
|
CONFIG_CONT1_PHYS_END 'Container 1 physical end address'
|
|
CONFIG_CONT1_VIRT_START 'Container 1 virtual start address'
|
|
CONFIG_CONT1_VIRT_END 'Container 1 virtual end address'
|
|
CONFIG_CONT1_OPT_DIRNAME 'Containers directory name under conts'
|
|
|
|
default CONFIG_CONTAINERS from 2
|
|
default CONFIG_CONT0_PHYS_START from 0x40000
|
|
default CONFIG_CONT0_PHYS_END from 0x1000000
|
|
default CONFIG_CONT0_VIRT_START from 0x0
|
|
default CONFIG_CONT0_VIRT_END from 0x0
|
|
|
|
default CONFIG_CONT1_PHYS_START from 0x1000000
|
|
default CONFIG_CONT1_PHYS_END from 0x2000000
|
|
default CONFIG_CONT1_VIRT_START from 0
|
|
default CONFIG_CONT1_VIRT_END from 0
|
|
|
|
default CONFIG_CONT0_OPT_DIRNAME from (CONFIG_CONT0_TYPE_LINUX==y) ? "Linux" : ((CONFIG_CONT0_TYPE_BARE==y) ? "Bare" : "Noname")
|
|
default CONFIG_CONT1_OPT_DIRNAME from (CONFIG_CONT1_TYPE_LINUX==y) ? "Linux" : ((CONFIG_CONT1_TYPE_BARE==y) ? "Bare" : "Noname")
|
|
|
|
unless CONFIG_CONTAINERS > 1 suppress cont1_menu
|
|
|
|
symbols
|
|
containers_menu 'Configure Containers'
|
|
cont0_menu 'Container 0 Parameters'
|
|
cont1_menu 'Container 1 Parameters'
|
|
container0_type 'Container 0 Type'
|
|
container1_type 'Container 1 Type'
|
|
container0_options 'Container 0 Options'
|
|
container1_options 'Container 1 Options'
|
|
|
|
menu container0_options
|
|
CONFIG_CONT0_OPT_DIRNAME$
|
|
|
|
menu container1_options
|
|
CONFIG_CONT1_OPT_DIRNAME$
|
|
|
|
choices container0_type
|
|
CONFIG_CONT0_TYPE_LINUX
|
|
CONFIG_CONT0_TYPE_BARE
|
|
CONFIG_CONT0_TYPE_C0_POSIX
|
|
default CONFIG_CONT0_TYPE_LINUX
|
|
|
|
choices container1_type
|
|
CONFIG_CONT1_TYPE_LINUX
|
|
CONFIG_CONT1_TYPE_BARE
|
|
CONFIG_CONT1_TYPE_C0_POSIX
|
|
default CONFIG_CONT1_TYPE_BARE
|
|
|
|
menu cont0_menu
|
|
container0_type
|
|
container0_options
|
|
CONFIG_CONT0_PHYS_START@
|
|
CONFIG_CONT0_PHYS_END@
|
|
CONFIG_CONT0_VIRT_START@
|
|
CONFIG_CONT0_VIRT_END@
|
|
|
|
menu cont1_menu
|
|
container1_type
|
|
container1_options
|
|
CONFIG_CONT1_PHYS_START@
|
|
CONFIG_CONT1_PHYS_END@
|
|
CONFIG_CONT1_VIRT_START@
|
|
CONFIG_CONT1_VIRT_END@
|
|
|
|
menu containers_menu
|
|
cont0_menu
|
|
cont1_menu
|
|
|
|
|
|
# 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?
|
|
|