mirror of
https://github.com/drasko/codezero.git
synced 2026-03-15 00:31:50 +01:00
Added multiple physical and virtual memory regions to configuration and parsing
This commit is contained in:
@@ -131,51 +131,241 @@ 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_CONT0_PHYS0_START 'Container 0 physical start address'
|
||||
CONFIG_CONT0_PHYS0_END 'Container 0 physical end address'
|
||||
CONFIG_CONT0_PHYS1_START 'Container 0 physical start address'
|
||||
CONFIG_CONT0_PHYS1_END 'Container 0 physical end address'
|
||||
CONFIG_CONT0_PHYS2_START 'Container 0 physical start address'
|
||||
CONFIG_CONT0_PHYS2_END 'Container 0 physical end address'
|
||||
CONFIG_CONT0_PHYS3_START 'Container 0 physical start address'
|
||||
CONFIG_CONT0_PHYS3_END 'Container 0 physical end address'
|
||||
|
||||
CONFIG_CONT0_VIRT0_START 'Container 0 virtual start address'
|
||||
CONFIG_CONT0_VIRT0_END 'Container 0 virtual end address'
|
||||
CONFIG_CONT0_VIRT1_START 'Container 0 virtual start address'
|
||||
CONFIG_CONT0_VIRT1_END 'Container 0 virtual end address'
|
||||
CONFIG_CONT0_VIRT2_START 'Container 0 virtual start address'
|
||||
CONFIG_CONT0_VIRT2_END 'Container 0 virtual end address'
|
||||
CONFIG_CONT0_VIRT3_START 'Container 0 virtual start address'
|
||||
CONFIG_CONT0_VIRT3_END 'Container 0 virtual end address'
|
||||
CONFIG_CONT0_VIRT4_START 'Container 0 virtual start address'
|
||||
CONFIG_CONT0_VIRT4_END 'Container 0 virtual end address'
|
||||
CONFIG_CONT0_VIRT5_START 'Container 0 virtual start address'
|
||||
CONFIG_CONT0_VIRT5_END 'Container 0 virtual end address'
|
||||
|
||||
|
||||
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
|
||||
CONFIG_CONT1_PHYS0_START 'Container 0 physical start address'
|
||||
CONFIG_CONT1_PHYS0_END 'Container 0 physical end address'
|
||||
CONFIG_CONT1_PHYS1_START 'Container 0 physical start address'
|
||||
CONFIG_CONT1_PHYS1_END 'Container 0 physical end address'
|
||||
CONFIG_CONT1_PHYS2_START 'Container 0 physical start address'
|
||||
CONFIG_CONT1_PHYS2_END 'Container 0 physical end address'
|
||||
CONFIG_CONT1_PHYS3_START 'Container 0 physical start address'
|
||||
CONFIG_CONT1_PHYS3_END 'Container 0 physical end address'
|
||||
|
||||
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
|
||||
CONFIG_CONT1_VIRT0_START 'Container 0 virtual start address'
|
||||
CONFIG_CONT1_VIRT0_END 'Container 0 virtual end address'
|
||||
CONFIG_CONT1_VIRT1_START 'Container 0 virtual start address'
|
||||
CONFIG_CONT1_VIRT1_END 'Container 0 virtual end address'
|
||||
CONFIG_CONT1_VIRT2_START 'Container 0 virtual start address'
|
||||
CONFIG_CONT1_VIRT2_END 'Container 0 virtual end address'
|
||||
CONFIG_CONT1_VIRT3_START 'Container 0 virtual start address'
|
||||
CONFIG_CONT1_VIRT3_END 'Container 0 virtual end address'
|
||||
CONFIG_CONT1_VIRT4_START 'Container 0 virtual start address'
|
||||
CONFIG_CONT1_VIRT4_END 'Container 0 virtual end address'
|
||||
CONFIG_CONT1_VIRT5_START 'Container 0 virtual start address'
|
||||
CONFIG_CONT1_VIRT5_END 'Container 0 virtual end address'
|
||||
|
||||
CONFIG_CONT0_PAGER_LMA 'Container 0 Pager LMA'
|
||||
CONFIG_CONT0_PAGER_VMA 'Container 0 Pager VMA'
|
||||
CONFIG_CONT0_PAGER_SIZE 'Container 0 Pager Initial map size (Optional)'
|
||||
CONFIG_CONT0_LINUX_PAGE_OFFSET 'Container 0 Linux PAGE_OFFSET parameter'
|
||||
CONFIG_CONT0_LINUX_TEXT_OFFSET 'Container 0 Linux TEXT_OFFSET parameter'
|
||||
CONFIG_CONT0_LINUX_PHYS_OFFSET 'Container 0 Linux PHYS_OFFSET parameter'
|
||||
|
||||
CONFIG_CONT1_PAGER_LMA 'Container 1 Pager LMA'
|
||||
CONFIG_CONT1_PAGER_VMA 'Container 1 Pager VMA'
|
||||
CONFIG_CONT1_PAGER_SIZE 'Container 1 Pager Initial map size (Optional)'
|
||||
CONFIG_CONT1_LINUX_PAGE_OFFSET 'Container 1 Linux PAGE_OFFSET parameter'
|
||||
CONFIG_CONT1_LINUX_TEXT_OFFSET 'Container 1 Linux TEXT_OFFSET parameter'
|
||||
CONFIG_CONT1_LINUX_PHYS_OFFSET 'Container 1 Linux PHYS_OFFSET parameter'
|
||||
|
||||
default CONFIG_CONT0_PAGER_LMA from 0x0
|
||||
default CONFIG_CONT0_PAGER_VMA from 0x0
|
||||
default CONFIG_CONT0_PAGER_SIZE from 0x0
|
||||
default CONFIG_CONT0_LINUX_PAGE_OFFSET from 0x0
|
||||
default CONFIG_CONT0_LINUX_TEXT_OFFSET from 0x0
|
||||
default CONFIG_CONT0_LINUX_PHYS_OFFSET from 0x0
|
||||
|
||||
default CONFIG_CONT1_PAGER_LMA from 0x0
|
||||
default CONFIG_CONT1_PAGER_VMA from 0x0
|
||||
default CONFIG_CONT1_PAGER_SIZE from 0x0
|
||||
default CONFIG_CONT1_LINUX_PAGE_OFFSET from 0x0
|
||||
default CONFIG_CONT1_LINUX_TEXT_OFFSET from 0x0
|
||||
default CONFIG_CONT1_LINUX_PHYS_OFFSET from 0x0
|
||||
|
||||
default CONFIG_CONTAINERS from 2
|
||||
default CONFIG_CONT0_PHYS0_START from 0x0
|
||||
default CONFIG_CONT0_PHYS0_END from 0x0
|
||||
default CONFIG_CONT0_PHYS1_START from 0x0
|
||||
default CONFIG_CONT0_PHYS1_END from 0x0
|
||||
default CONFIG_CONT0_PHYS2_START from 0x0
|
||||
default CONFIG_CONT0_PHYS2_END from 0x0
|
||||
default CONFIG_CONT0_PHYS3_START from 0x0
|
||||
default CONFIG_CONT0_PHYS3_END from 0x0
|
||||
|
||||
default CONFIG_CONT0_VIRT0_START from 0x0
|
||||
default CONFIG_CONT0_VIRT0_END from 0x0
|
||||
default CONFIG_CONT0_VIRT1_START from 0x0
|
||||
default CONFIG_CONT0_VIRT1_END from 0x0
|
||||
default CONFIG_CONT0_VIRT2_START from 0x0
|
||||
default CONFIG_CONT0_VIRT2_END from 0x0
|
||||
default CONFIG_CONT0_VIRT3_START from 0x0
|
||||
default CONFIG_CONT0_VIRT3_END from 0x0
|
||||
default CONFIG_CONT0_VIRT4_START from 0x0
|
||||
default CONFIG_CONT0_VIRT4_END from 0x0
|
||||
default CONFIG_CONT0_VIRT5_START from 0x0
|
||||
default CONFIG_CONT0_VIRT5_END from 0x0
|
||||
|
||||
|
||||
default CONFIG_CONT1_PHYS0_START from 0x0
|
||||
default CONFIG_CONT1_PHYS0_END from 0x0
|
||||
default CONFIG_CONT1_PHYS1_START from 0x0
|
||||
default CONFIG_CONT1_PHYS1_END from 0x0
|
||||
default CONFIG_CONT1_PHYS2_START from 0x0
|
||||
default CONFIG_CONT1_PHYS2_END from 0x0
|
||||
default CONFIG_CONT1_PHYS3_START from 0x0
|
||||
default CONFIG_CONT1_PHYS3_END from 0x0
|
||||
|
||||
default CONFIG_CONT1_VIRT0_START from 0x0
|
||||
default CONFIG_CONT1_VIRT0_END from 0x0
|
||||
default CONFIG_CONT1_VIRT1_START from 0x0
|
||||
default CONFIG_CONT1_VIRT1_END from 0x0
|
||||
default CONFIG_CONT1_VIRT2_START from 0x0
|
||||
default CONFIG_CONT1_VIRT2_END from 0x0
|
||||
default CONFIG_CONT1_VIRT3_START from 0x0
|
||||
default CONFIG_CONT1_VIRT3_END from 0x0
|
||||
default CONFIG_CONT1_VIRT4_START from 0x0
|
||||
default CONFIG_CONT1_VIRT4_END from 0x0
|
||||
default CONFIG_CONT1_VIRT5_START from 0x0
|
||||
default CONFIG_CONT1_VIRT5_END from 0x0
|
||||
|
||||
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
|
||||
|
||||
when CONFIG_CONT0_TYPE_LINUX==y suppress cont0_bare_pager_params
|
||||
when CONFIG_CONT0_TYPE_BARE==y suppress cont0_linux_pager_params
|
||||
when CONFIG_CONT1_TYPE_LINUX==y suppress cont1_bare_pager_params
|
||||
when CONFIG_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
|
||||
CONFIG_CONT0_PAGER_LMA@
|
||||
CONFIG_CONT0_PAGER_VMA@
|
||||
CONFIG_CONT0_PAGER_SIZE@
|
||||
|
||||
menu cont0_linux_pager_params
|
||||
CONFIG_CONT0_LINUX_PAGE_OFFSET@
|
||||
CONFIG_CONT0_LINUX_TEXT_OFFSET@
|
||||
CONFIG_CONT0_LINUX_PHYS_OFFSET@
|
||||
|
||||
menu cont1_bare_pager_params
|
||||
CONFIG_CONT1_PAGER_LMA@
|
||||
CONFIG_CONT1_PAGER_VMA@
|
||||
CONFIG_CONT1_PAGER_SIZE@
|
||||
|
||||
menu cont1_linux_pager_params
|
||||
CONFIG_CONT1_LINUX_PAGE_OFFSET@
|
||||
CONFIG_CONT1_LINUX_TEXT_OFFSET@
|
||||
CONFIG_CONT1_LINUX_PHYS_OFFSET@
|
||||
|
||||
menu cont0_physmem_list
|
||||
CONFIG_CONT0_PHYS0_START@
|
||||
CONFIG_CONT0_PHYS0_END@
|
||||
CONFIG_CONT0_PHYS1_START@
|
||||
CONFIG_CONT0_PHYS1_END@
|
||||
CONFIG_CONT0_PHYS2_START@
|
||||
CONFIG_CONT0_PHYS2_END@
|
||||
CONFIG_CONT0_PHYS3_START@
|
||||
CONFIG_CONT0_PHYS3_END@
|
||||
|
||||
menu cont1_physmem_list
|
||||
CONFIG_CONT1_PHYS0_START@
|
||||
CONFIG_CONT1_PHYS0_END@
|
||||
CONFIG_CONT1_PHYS1_START@
|
||||
CONFIG_CONT1_PHYS1_END@
|
||||
CONFIG_CONT1_PHYS2_START@
|
||||
CONFIG_CONT1_PHYS2_END@
|
||||
CONFIG_CONT1_PHYS3_START@
|
||||
CONFIG_CONT1_PHYS3_END@
|
||||
|
||||
menu cont0_virtmem_list
|
||||
CONFIG_CONT0_VIRT0_START@
|
||||
CONFIG_CONT0_VIRT0_END@
|
||||
CONFIG_CONT0_VIRT1_START@
|
||||
CONFIG_CONT0_VIRT1_END@
|
||||
CONFIG_CONT0_VIRT2_START@
|
||||
CONFIG_CONT0_VIRT2_END@
|
||||
CONFIG_CONT0_VIRT3_START@
|
||||
CONFIG_CONT0_VIRT3_END@
|
||||
CONFIG_CONT0_VIRT4_START@
|
||||
CONFIG_CONT0_VIRT4_END@
|
||||
CONFIG_CONT0_VIRT5_START@
|
||||
CONFIG_CONT0_VIRT5_END@
|
||||
|
||||
menu cont1_virtmem_list
|
||||
CONFIG_CONT1_VIRT0_START@
|
||||
CONFIG_CONT1_VIRT0_END@
|
||||
CONFIG_CONT1_VIRT1_START@
|
||||
CONFIG_CONT1_VIRT1_END@
|
||||
CONFIG_CONT1_VIRT2_START@
|
||||
CONFIG_CONT1_VIRT2_END@
|
||||
CONFIG_CONT1_VIRT3_START@
|
||||
CONFIG_CONT1_VIRT3_END@
|
||||
CONFIG_CONT1_VIRT4_START@
|
||||
CONFIG_CONT1_VIRT4_END@
|
||||
CONFIG_CONT1_VIRT5_START@
|
||||
CONFIG_CONT1_VIRT5_END@
|
||||
|
||||
menu container0_options
|
||||
CONFIG_CONT0_OPT_DIRNAME$
|
||||
cont0_linux_pager_params
|
||||
cont0_bare_pager_params
|
||||
cont0_physmem_list
|
||||
cont0_virtmem_list
|
||||
|
||||
menu container1_options
|
||||
CONFIG_CONT1_OPT_DIRNAME$
|
||||
cont1_linux_pager_params
|
||||
cont1_bare_pager_params
|
||||
cont1_physmem_list
|
||||
cont1_virtmem_list
|
||||
|
||||
choices container0_type
|
||||
CONFIG_CONT0_TYPE_LINUX
|
||||
@@ -192,18 +382,10 @@ choices container1_type
|
||||
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
|
||||
|
||||
Reference in New Issue
Block a user