CML2 rule file is autogenerated from arm.cml and the containers template

Container rules are too many and repetitive for each container. With this
change, the cml file is autogenerated from a container template cml and
the architecture cml, e.g. arm.cml. -c option determines the number of
containers. See build.py -h for more.
This commit is contained in:
Bahadir Balban
2009-09-26 16:39:04 +03:00
parent fbb1800562
commit 10d2d7269f
8 changed files with 299 additions and 352 deletions

View File

@@ -5,20 +5,20 @@ start main_menu
#############
symbols
ARCH_ARM 'ARM'
ARCH_ARM 'ARM'
arm_cpu_type 'ARM Processor Type'
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'
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'
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'
@@ -27,7 +27,7 @@ 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_PL190 'ARM Vectored Interrupt Controller PL190'
DRIVER_IRQ_GIC 'ARM Generic Interrupt Controller GIC'
main_menu 'Codezero Microkernel Configurator'
@@ -35,8 +35,11 @@ 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 #
#############
@@ -125,350 +128,6 @@ default DRIVER_TIMER_SP804 from y
default DRIVER_IRQ_PL190 from y
default DRIVER_IRQ_GIC from y
# Container Rules
symbols
CONTAINERS 'Number of containers'
CONT0_TYPE_LINUX 'Linux Container'
CONT0_TYPE_BARE 'Bare Container'
CONT0_TYPE_C0_POSIX 'Codezero POSIX Services Container (mm0, fs0 microkernel services)'
CONT0_OPT_DIRNAME 'Containers directory name under conts'
CONT0_PHYSMEM_REGIONS 'Container 0 number of physical regions'
CONT0_PHYS0_START 'Container 0 physical start address'
CONT0_PHYS0_END 'Container 0 physical end address'
CONT0_PHYS1_START 'Container 0 physical start address'
CONT0_PHYS1_END 'Container 0 physical end address'
CONT0_PHYS2_START 'Container 0 physical start address'
CONT0_PHYS2_END 'Container 0 physical end address'
CONT0_PHYS3_START 'Container 0 physical start address'
CONT0_PHYS3_END 'Container 0 physical end address'
CONT0_VIRTMEM_REGIONS 'Container 0 number of virtual regions'
CONT0_VIRT0_START 'Container 0 virtual start address'
CONT0_VIRT0_END 'Container 0 virtual end address'
CONT0_VIRT1_START 'Container 0 virtual start address'
CONT0_VIRT1_END 'Container 0 virtual end address'
CONT0_VIRT2_START 'Container 0 virtual start address'
CONT0_VIRT2_END 'Container 0 virtual end address'
CONT0_VIRT3_START 'Container 0 virtual start address'
CONT0_VIRT3_END 'Container 0 virtual end address'
CONT0_VIRT4_START 'Container 0 virtual start address'
CONT0_VIRT4_END 'Container 0 virtual end address'
CONT0_VIRT5_START 'Container 0 virtual start address'
CONT0_VIRT5_END 'Container 0 virtual end address'
CONT1_TYPE_LINUX 'Linux Container'
CONT1_TYPE_BARE 'Bare Container'
CONT1_TYPE_C0_POSIX 'Codezero POSIX Services Container (mm0, fs0 microkernel services)'
CONT1_OPT_DIRNAME 'Containers directory name under conts'
CONT1_PHYSMEM_REGIONS 'Container 1 number of physical regions'
CONT1_PHYS0_START 'Container 1 physical start address'
CONT1_PHYS0_END 'Container 1 physical end address'
CONT1_PHYS1_START 'Container 1 physical start address'
CONT1_PHYS1_END 'Container 1 physical end address'
CONT1_PHYS2_START 'Container 1 physical start address'
CONT1_PHYS2_END 'Container 1 physical end address'
CONT1_PHYS3_START 'Container 1 physical start address'
CONT1_PHYS3_END 'Container 1 physical end address'
CONT1_VIRTMEM_REGIONS 'Container 1 number of virtual regions'
CONT1_VIRT0_START 'Container 1 virtual start address'
CONT1_VIRT0_END 'Container 1 virtual end address'
CONT1_VIRT1_START 'Container 1 virtual start address'
CONT1_VIRT1_END 'Container 1 virtual end address'
CONT1_VIRT2_START 'Container 1 virtual start address'
CONT1_VIRT2_END 'Container 1 virtual end address'
CONT1_VIRT3_START 'Container 1 virtual start address'
CONT1_VIRT3_END 'Container 1 virtual end address'
CONT1_VIRT4_START 'Container 1 virtual start address'
CONT1_VIRT4_END 'Container 1 virtual end address'
CONT1_VIRT5_START 'Container 1 virtual start address'
CONT1_VIRT5_END 'Container 1 virtual end address'
CONT0_PAGER_LMA 'Container 0 Pager LMA'
CONT0_PAGER_VMA 'Container 0 Pager VMA'
CONT0_PAGER_SIZE 'Container 0 Pager Initial map size (Optional)'
CONT0_LINUX_PAGE_OFFSET 'Container 0 Linux PAGE_OFFSET parameter'
CONT0_LINUX_TEXT_OFFSET 'Container 0 Linux TEXT_OFFSET parameter'
CONT0_LINUX_PHYS_OFFSET 'Container 0 Linux PHYS_OFFSET parameter'
CONT0_LINUX_MAPSIZE 'Container 0 Linux Initial kernel map size parameter'
CONT1_PAGER_LMA 'Container 1 Pager LMA'
CONT1_PAGER_VMA 'Container 1 Pager VMA'
CONT1_PAGER_SIZE 'Container 1 Pager Initial map size (Optional)'
CONT1_LINUX_PAGE_OFFSET 'Container 1 Linux PAGE_OFFSET parameter'
CONT1_LINUX_TEXT_OFFSET 'Container 1 Linux TEXT_OFFSET parameter'
CONT1_LINUX_PHYS_OFFSET 'Container 1 Linux PHYS_OFFSET parameter'
CONT1_LINUX_MAPSIZE 'Container 1 Linux Initial kernel map size parameter'
default CONT0_PAGER_LMA from 0x0
default CONT0_PAGER_VMA from 0x0
default CONT0_PAGER_SIZE from 0x0
default CONT0_LINUX_PAGE_OFFSET from 0x0
default CONT0_LINUX_TEXT_OFFSET from 0x0
default CONT0_LINUX_PHYS_OFFSET from 0x0
default CONT0_LINUX_MAPSIZE from 0x0
default CONT1_PAGER_LMA from 0x0
default CONT1_PAGER_VMA from 0x0
default CONT1_PAGER_SIZE from 0x0
default CONT1_LINUX_PAGE_OFFSET from 0x0
default CONT1_LINUX_TEXT_OFFSET from 0x0
default CONT1_LINUX_PHYS_OFFSET from 0x0
default CONT1_LINUX_MAPSIZE from 0x0
default CONTAINERS from 2
default CONT0_VIRTMEM_REGIONS from 1
default CONT0_PHYSMEM_REGIONS from 1
default CONT1_VIRTMEM_REGIONS from 1
default CONT1_PHYSMEM_REGIONS from 1
# Define limits on virtual and physical memory regions of a _single_ container 0. Too much code!
when CONT0_VIRTMEM_REGIONS < 2 suppress CONT0_VIRT1_START CONT0_VIRT1_END
when CONT0_VIRTMEM_REGIONS < 2 suppress CONT0_VIRT2_START CONT0_VIRT2_END
when CONT0_VIRTMEM_REGIONS < 2 suppress CONT0_VIRT3_START CONT0_VIRT3_END
when CONT0_VIRTMEM_REGIONS < 2 suppress CONT0_VIRT4_START CONT0_VIRT4_END
when CONT0_VIRTMEM_REGIONS < 2 suppress CONT0_VIRT5_START CONT0_VIRT5_END
when CONT0_VIRTMEM_REGIONS < 3 suppress CONT0_VIRT2_START CONT0_VIRT2_END
when CONT0_VIRTMEM_REGIONS < 3 suppress CONT0_VIRT3_START CONT0_VIRT3_END
when CONT0_VIRTMEM_REGIONS < 3 suppress CONT0_VIRT4_START CONT0_VIRT4_END
when CONT0_VIRTMEM_REGIONS < 3 suppress CONT0_VIRT5_START CONT0_VIRT5_END
when CONT0_VIRTMEM_REGIONS < 4 suppress CONT0_VIRT3_START CONT0_VIRT3_END
when CONT0_VIRTMEM_REGIONS < 4 suppress CONT0_VIRT4_START CONT0_VIRT4_END
when CONT0_VIRTMEM_REGIONS < 4 suppress CONT0_VIRT5_START CONT0_VIRT5_END
when CONT0_VIRTMEM_REGIONS < 5 suppress CONT0_VIRT4_START CONT0_VIRT4_END
when CONT0_VIRTMEM_REGIONS < 5 suppress CONT0_VIRT5_START CONT0_VIRT5_END
when CONT0_VIRTMEM_REGIONS < 6 suppress CONT0_VIRT5_START CONT0_VIRT5_END
when CONT0_PHYSMEM_REGIONS < 2 suppress CONT0_PHYS1_START CONT0_PHYS1_END
when CONT0_PHYSMEM_REGIONS < 2 suppress CONT0_PHYS2_START CONT0_PHYS2_END
when CONT0_PHYSMEM_REGIONS < 2 suppress CONT0_PHYS3_START CONT0_PHYS3_END
when CONT0_PHYSMEM_REGIONS < 3 suppress CONT0_PHYS2_START CONT0_PHYS2_END
when CONT0_PHYSMEM_REGIONS < 3 suppress CONT0_PHYS3_START CONT0_PHYS3_END
when CONT0_PHYSMEM_REGIONS < 4 suppress CONT0_PHYS3_START CONT0_PHYS3_END
# Define limits on virtual and physical memory regions of a _single_ container 0. Too much code!
when CONT1_VIRTMEM_REGIONS < 2 suppress CONT1_VIRT1_START CONT1_VIRT1_END
when CONT1_VIRTMEM_REGIONS < 2 suppress CONT1_VIRT2_START CONT1_VIRT2_END
when CONT1_VIRTMEM_REGIONS < 2 suppress CONT1_VIRT3_START CONT1_VIRT3_END
when CONT1_VIRTMEM_REGIONS < 2 suppress CONT1_VIRT4_START CONT1_VIRT4_END
when CONT1_VIRTMEM_REGIONS < 2 suppress CONT1_VIRT5_START CONT1_VIRT5_END
when CONT1_VIRTMEM_REGIONS < 3 suppress CONT1_VIRT2_START CONT1_VIRT2_END
when CONT1_VIRTMEM_REGIONS < 3 suppress CONT1_VIRT3_START CONT1_VIRT3_END
when CONT1_VIRTMEM_REGIONS < 3 suppress CONT1_VIRT4_START CONT1_VIRT4_END
when CONT1_VIRTMEM_REGIONS < 3 suppress CONT1_VIRT5_START CONT1_VIRT5_END
when CONT1_VIRTMEM_REGIONS < 4 suppress CONT1_VIRT3_START CONT1_VIRT3_END
when CONT1_VIRTMEM_REGIONS < 4 suppress CONT1_VIRT4_START CONT1_VIRT4_END
when CONT1_VIRTMEM_REGIONS < 4 suppress CONT1_VIRT5_START CONT1_VIRT5_END
when CONT1_VIRTMEM_REGIONS < 5 suppress CONT1_VIRT4_START CONT1_VIRT4_END
when CONT1_VIRTMEM_REGIONS < 5 suppress CONT1_VIRT5_START CONT1_VIRT5_END
when CONT1_VIRTMEM_REGIONS < 6 suppress CONT1_VIRT5_START CONT1_VIRT5_END
when CONT1_PHYSMEM_REGIONS < 2 suppress CONT1_PHYS1_START CONT1_PHYS1_END
when CONT1_PHYSMEM_REGIONS < 2 suppress CONT1_PHYS2_START CONT1_PHYS2_END
when CONT1_PHYSMEM_REGIONS < 2 suppress CONT1_PHYS3_START CONT1_PHYS3_END
when CONT1_PHYSMEM_REGIONS < 3 suppress CONT1_PHYS2_START CONT1_PHYS2_END
when CONT1_PHYSMEM_REGIONS < 3 suppress CONT1_PHYS3_START CONT1_PHYS3_END
when CONT1_PHYSMEM_REGIONS < 4 suppress CONT1_PHYS3_START CONT1_PHYS3_END
default CONT0_PHYS0_START from 0x0
default CONT0_PHYS0_END from 0x0
default CONT0_PHYS1_START from 0x0
default CONT0_PHYS1_END from 0x0
default CONT0_PHYS2_START from 0x0
default CONT0_PHYS2_END from 0x0
default CONT0_PHYS3_START from 0x0
default CONT0_PHYS3_END from 0x0
default CONT0_VIRT0_START from 0x0
default CONT0_VIRT0_END from 0x0
default CONT0_VIRT1_START from 0x0
default CONT0_VIRT1_END from 0x0
default CONT0_VIRT2_START from 0x0
default CONT0_VIRT2_END from 0x0
default CONT0_VIRT3_START from 0x0
default CONT0_VIRT3_END from 0x0
default CONT0_VIRT4_START from 0x0
default CONT0_VIRT4_END from 0x0
default CONT0_VIRT5_START from 0x0
default CONT0_VIRT5_END from 0x0
default CONT1_PHYS0_START from 0x0
default CONT1_PHYS0_END from 0x0
default CONT1_PHYS1_START from 0x0
default CONT1_PHYS1_END from 0x0
default CONT1_PHYS2_START from 0x0
default CONT1_PHYS2_END from 0x0
default CONT1_PHYS3_START from 0x0
default CONT1_PHYS3_END from 0x0
default CONT1_VIRT0_START from 0x0
default CONT1_VIRT0_END from 0x0
default CONT1_VIRT1_START from 0x0
default CONT1_VIRT1_END from 0x0
default CONT1_VIRT2_START from 0x0
default CONT1_VIRT2_END from 0x0
default CONT1_VIRT3_START from 0x0
default CONT1_VIRT3_END from 0x0
default CONT1_VIRT4_START from 0x0
default CONT1_VIRT4_END from 0x0
default CONT1_VIRT5_START from 0x0
default CONT1_VIRT5_END from 0x0
default CONT0_OPT_DIRNAME from (CONT0_TYPE_LINUX==y) ? "linux" : ((CONT0_TYPE_BARE==y) ? "bare" : "noname")
default CONT1_OPT_DIRNAME from (CONT1_TYPE_LINUX==y) ? "linux" : ((CONT1_TYPE_BARE==y) ? "bare" : "noname")
unless CONTAINERS > 1 suppress cont1_menu
require CONTAINERS < 2 implies cont1_menu==n
when CONT0_TYPE_LINUX==y suppress cont0_bare_pager_params
when CONT0_TYPE_BARE==y suppress cont0_linux_pager_params
when CONT1_TYPE_LINUX==y suppress cont1_bare_pager_params
when CONT1_TYPE_BARE==y suppress cont1_linux_pager_params
symbols
containers_menu 'Configure Containers'
cont0_menu 'Container 0 Parameters'
cont1_menu 'Container 1 Parameters'
cont0_physmem_list 'Container 0 physical memory regions'
cont1_physmem_list 'Container 1 physical memory regions'
cont0_virtmem_list 'Container 0 Virtual memory regions'
cont1_virtmem_list 'Container 1 Virtual memory regions'
container0_type 'Container 0 Type'
container1_type 'Container 1 Type'
container0_options 'Container 0 Options'
container1_options 'Container 1 Options'
cont0_linux_pager_params 'Container 0 Pager parameters'
cont0_bare_pager_params 'Container 0 Pager parameters'
cont1_linux_pager_params 'Container 1 Pager parameters'
cont1_bare_pager_params 'Container 1 Pager parameters'
menu cont0_bare_pager_params
CONT0_PAGER_LMA@
CONT0_PAGER_VMA@
CONT0_PAGER_SIZE@
menu cont0_linux_pager_params
CONT0_LINUX_PAGE_OFFSET@
CONT0_LINUX_TEXT_OFFSET@
CONT0_LINUX_PHYS_OFFSET@
CONT0_LINUX_MAPSIZE@
menu cont1_bare_pager_params
CONT1_PAGER_LMA@
CONT1_PAGER_VMA@
CONT1_PAGER_SIZE@
menu cont1_linux_pager_params
CONT1_LINUX_PAGE_OFFSET@
CONT1_LINUX_TEXT_OFFSET@
CONT1_LINUX_PHYS_OFFSET@
CONT1_LINUX_MAPSIZE@
menu cont0_physmem_list
CONT0_PHYSMEM_REGIONS%
CONT0_PHYS0_START@
CONT0_PHYS0_END@
CONT0_PHYS1_START@
CONT0_PHYS1_END@
CONT0_PHYS2_START@
CONT0_PHYS2_END@
CONT0_PHYS3_START@
CONT0_PHYS3_END@
menu cont1_physmem_list
CONT1_PHYSMEM_REGIONS%
CONT1_PHYS0_START@
CONT1_PHYS0_END@
CONT1_PHYS1_START@
CONT1_PHYS1_END@
CONT1_PHYS2_START@
CONT1_PHYS2_END@
CONT1_PHYS3_START@
CONT1_PHYS3_END@
menu cont0_virtmem_list
CONT0_VIRTMEM_REGIONS%
CONT0_VIRT0_START@
CONT0_VIRT0_END@
CONT0_VIRT1_START@
CONT0_VIRT1_END@
CONT0_VIRT2_START@
CONT0_VIRT2_END@
CONT0_VIRT3_START@
CONT0_VIRT3_END@
CONT0_VIRT4_START@
CONT0_VIRT4_END@
CONT0_VIRT5_START@
CONT0_VIRT5_END@
menu cont1_virtmem_list
CONT1_VIRTMEM_REGIONS%
CONT1_VIRT0_START@
CONT1_VIRT0_END@
CONT1_VIRT1_START@
CONT1_VIRT1_END@
CONT1_VIRT2_START@
CONT1_VIRT2_END@
CONT1_VIRT3_START@
CONT1_VIRT3_END@
CONT1_VIRT4_START@
CONT1_VIRT4_END@
CONT1_VIRT5_START@
CONT1_VIRT5_END@
menu container0_options
CONT0_OPT_DIRNAME$
cont0_linux_pager_params
cont0_bare_pager_params
cont0_physmem_list
cont0_virtmem_list
menu container1_options
CONT1_OPT_DIRNAME$
cont1_linux_pager_params
cont1_bare_pager_params
cont1_physmem_list
cont1_virtmem_list
choices container0_type
CONT0_TYPE_LINUX
CONT0_TYPE_BARE
CONT0_TYPE_C0_POSIX
default CONT0_TYPE_LINUX
choices container1_type
CONT1_TYPE_LINUX
CONT1_TYPE_BARE
CONT1_TYPE_C0_POSIX
default CONT1_TYPE_BARE
menu cont0_menu
container0_type
container0_options
menu cont1_menu
container1_type
container1_options
menu containers_menu
cont0_menu
cont1_menu
prefix CONFIG_

View File

@@ -0,0 +1,168 @@
symbols
CONT%d_TYPE_LINUX 'Linux Container'
CONT%d_TYPE_BARE 'Bare Container'
CONT%d_TYPE_C0_POSIX 'Codezero POSIX Services Container (mm0, fs0 microkernel services)'
CONT%d_OPT_DIRNAME 'Containers directory name under conts'
CONT%d_PHYSMEM_REGIONS 'Container %d number of physical regions'
CONT%d_PHYS0_START 'Container %d physical start address'
CONT%d_PHYS0_END 'Container %d physical end address'
CONT%d_PHYS1_START 'Container %d physical start address'
CONT%d_PHYS1_END 'Container %d physical end address'
CONT%d_PHYS2_START 'Container %d physical start address'
CONT%d_PHYS2_END 'Container %d physical end address'
CONT%d_PHYS3_START 'Container %d physical start address'
CONT%d_PHYS3_END 'Container %d physical end address'
CONT%d_VIRTMEM_REGIONS 'Container %d number of virtual regions'
CONT%d_VIRT0_START 'Container %d virtual start address'
CONT%d_VIRT0_END 'Container %d virtual end address'
CONT%d_VIRT1_START 'Container %d virtual start address'
CONT%d_VIRT1_END 'Container %d virtual end address'
CONT%d_VIRT2_START 'Container %d virtual start address'
CONT%d_VIRT2_END 'Container %d virtual end address'
CONT%d_VIRT3_START 'Container %d virtual start address'
CONT%d_VIRT3_END 'Container %d virtual end address'
CONT%d_VIRT4_START 'Container %d virtual start address'
CONT%d_VIRT4_END 'Container %d virtual end address'
CONT%d_VIRT5_START 'Container %d virtual start address'
CONT%d_VIRT5_END 'Container %d virtual end address'
CONT%d_PAGER_LMA 'Container %d Pager LMA'
CONT%d_PAGER_VMA 'Container %d Pager VMA'
CONT%d_PAGER_SIZE 'Container %d Pager Initial map size (Optional)'
CONT%d_LINUX_PAGE_OFFSET 'Container %d Linux PAGE_OFFSET parameter'
CONT%d_LINUX_TEXT_OFFSET 'Container %d Linux TEXT_OFFSET parameter'
CONT%d_LINUX_PHYS_OFFSET 'Container %d Linux PHYS_OFFSET parameter'
CONT%d_LINUX_MAPSIZE 'Container %d Linux Initial kernel map size parameter'
default CONT%d_PAGER_LMA from 0x0
default CONT%d_PAGER_VMA from 0x0
default CONT%d_PAGER_SIZE from 0x0
default CONT%d_LINUX_PAGE_OFFSET from 0x0
default CONT%d_LINUX_TEXT_OFFSET from 0x0
default CONT%d_LINUX_PHYS_OFFSET from 0x0
default CONT%d_LINUX_MAPSIZE from 0x0
default CONT%d_VIRTMEM_REGIONS from 1
default CONT%d_PHYSMEM_REGIONS from 1
# Define limits on virtual and physical memory regions of a _single_ container 0. Too much code!
when CONT%d_VIRTMEM_REGIONS < 2 suppress CONT%d_VIRT1_START CONT%d_VIRT1_END
when CONT%d_VIRTMEM_REGIONS < 2 suppress CONT%d_VIRT2_START CONT%d_VIRT2_END
when CONT%d_VIRTMEM_REGIONS < 2 suppress CONT%d_VIRT3_START CONT%d_VIRT3_END
when CONT%d_VIRTMEM_REGIONS < 2 suppress CONT%d_VIRT4_START CONT%d_VIRT4_END
when CONT%d_VIRTMEM_REGIONS < 2 suppress CONT%d_VIRT5_START CONT%d_VIRT5_END
when CONT%d_VIRTMEM_REGIONS < 3 suppress CONT%d_VIRT2_START CONT%d_VIRT2_END
when CONT%d_VIRTMEM_REGIONS < 3 suppress CONT%d_VIRT3_START CONT%d_VIRT3_END
when CONT%d_VIRTMEM_REGIONS < 3 suppress CONT%d_VIRT4_START CONT%d_VIRT4_END
when CONT%d_VIRTMEM_REGIONS < 3 suppress CONT%d_VIRT5_START CONT%d_VIRT5_END
when CONT%d_VIRTMEM_REGIONS < 4 suppress CONT%d_VIRT3_START CONT%d_VIRT3_END
when CONT%d_VIRTMEM_REGIONS < 4 suppress CONT%d_VIRT4_START CONT%d_VIRT4_END
when CONT%d_VIRTMEM_REGIONS < 4 suppress CONT%d_VIRT5_START CONT%d_VIRT5_END
when CONT%d_VIRTMEM_REGIONS < 5 suppress CONT%d_VIRT4_START CONT%d_VIRT4_END
when CONT%d_VIRTMEM_REGIONS < 5 suppress CONT%d_VIRT5_START CONT%d_VIRT5_END
when CONT%d_VIRTMEM_REGIONS < 6 suppress CONT%d_VIRT5_START CONT%d_VIRT5_END
when CONT%d_PHYSMEM_REGIONS < 2 suppress CONT%d_PHYS1_START CONT%d_PHYS1_END
when CONT%d_PHYSMEM_REGIONS < 2 suppress CONT%d_PHYS2_START CONT%d_PHYS2_END
when CONT%d_PHYSMEM_REGIONS < 2 suppress CONT%d_PHYS3_START CONT%d_PHYS3_END
when CONT%d_PHYSMEM_REGIONS < 3 suppress CONT%d_PHYS2_START CONT%d_PHYS2_END
when CONT%d_PHYSMEM_REGIONS < 3 suppress CONT%d_PHYS3_START CONT%d_PHYS3_END
when CONT%d_PHYSMEM_REGIONS < 4 suppress CONT%d_PHYS3_START CONT%d_PHYS3_END
default CONT%d_PHYS0_START from 0x0
default CONT%d_PHYS0_END from 0x0
default CONT%d_PHYS1_START from 0x0
default CONT%d_PHYS1_END from 0x0
default CONT%d_PHYS2_START from 0x0
default CONT%d_PHYS2_END from 0x0
default CONT%d_PHYS3_START from 0x0
default CONT%d_PHYS3_END from 0x0
default CONT%d_VIRT0_START from 0x0
default CONT%d_VIRT0_END from 0x0
default CONT%d_VIRT1_START from 0x0
default CONT%d_VIRT1_END from 0x0
default CONT%d_VIRT2_START from 0x0
default CONT%d_VIRT2_END from 0x0
default CONT%d_VIRT3_START from 0x0
default CONT%d_VIRT3_END from 0x0
default CONT%d_VIRT4_START from 0x0
default CONT%d_VIRT4_END from 0x0
default CONT%d_VIRT5_START from 0x0
default CONT%d_VIRT5_END from 0x0
default CONT%d_OPT_DIRNAME from (CONT%d_TYPE_LINUX==y) ? "linux" : ((CONT%d_TYPE_BARE==y) ? "bare%d" : "noname")
when CONT%d_TYPE_LINUX==y suppress cont%d_bare_pager_params
when CONT%d_TYPE_BARE==y suppress cont%d_linux_pager_params
symbols
cont%d_menu 'Container %d Parameters'
cont%d_physmem_list 'Container %d physical memory regions'
cont%d_virtmem_list 'Container %d Virtual memory regions'
container%d_type 'Container %d Type'
container%d_options 'Container %d Options'
cont%d_linux_pager_params 'Container %d Pager parameters'
cont%d_bare_pager_params 'Container %d Pager parameters'
menu cont%d_bare_pager_params
CONT%d_PAGER_LMA@
CONT%d_PAGER_VMA@
CONT%d_PAGER_SIZE@
menu cont%d_linux_pager_params
CONT%d_LINUX_PAGE_OFFSET@
CONT%d_LINUX_TEXT_OFFSET@
CONT%d_LINUX_PHYS_OFFSET@
CONT%d_LINUX_MAPSIZE@
menu cont%d_virtmem_list
CONT%d_VIRTMEM_REGIONS%
CONT%d_VIRT0_START@
CONT%d_VIRT0_END@
CONT%d_VIRT1_START@
CONT%d_VIRT1_END@
CONT%d_VIRT2_START@
CONT%d_VIRT2_END@
CONT%d_VIRT3_START@
CONT%d_VIRT3_END@
CONT%d_VIRT4_START@
CONT%d_VIRT4_END@
CONT%d_VIRT5_START@
CONT%d_VIRT5_END@
menu cont%d_physmem_list
CONT%d_PHYSMEM_REGIONS%
CONT%d_PHYS0_START@
CONT%d_PHYS0_END@
CONT%d_PHYS1_START@
CONT%d_PHYS1_END@
CONT%d_PHYS2_START@
CONT%d_PHYS2_END@
CONT%d_PHYS3_START@
CONT%d_PHYS3_END@
menu container%d_options
CONT%d_OPT_DIRNAME$
cont%d_linux_pager_params
cont%d_bare_pager_params
cont%d_physmem_list
cont%d_virtmem_list
choices container%d_type
CONT%d_TYPE_LINUX
CONT%d_TYPE_BARE
CONT%d_TYPE_C0_POSIX
default CONT%d_TYPE_BARE
menu cont%d_menu
container%d_type
container%d_options

View File

@@ -10,7 +10,7 @@ PROJROOT = os.path.abspath(os.path.join(os.path.dirname(__file__), '..'))
BUILDDIR = join(PROJROOT, "build")
TOOLSDIR = join(PROJROOT, "tools")
CML2_CONFIG_SRCDIR = join(PROJROOT, "config/cml")
CML2_RULES_FILE = join(CML2_CONFIG_SRCDIR, 'arm.cml')
CML2_CML_FILE = join(CML2_CONFIG_SRCDIR, 'out.cml')
CML2_CONT_DEFFILE = join(PROJROOT, 'config/cml/container.template.cml')
CML2TOOLSDIR = join(TOOLSDIR, "cml2-tools")
CML2RULES = join(BUILDDIR, "cml2_rules.out")