mirror of
https://github.com/drasko/codezero.git
synced 2026-04-17 17:29:04 +02:00
Added all three UARTs as capability
This commit is contained in:
@@ -139,6 +139,18 @@ cap_strings = { 'ipc' : \
|
|||||||
\t\t\t\t.size = ${size},
|
\t\t\t\t.size = ${size},
|
||||||
\t\t\t},
|
\t\t\t},
|
||||||
'''
|
'''
|
||||||
|
, 'uart' : \
|
||||||
|
'''
|
||||||
|
\t\t\t[${idx}] = {
|
||||||
|
\t\t\t\t/* For device selection. */
|
||||||
|
\t\t\t\t.target = ${cid},
|
||||||
|
\t\t\t\t.devid = ${devid},
|
||||||
|
\t\t\t\t.type = CAP_DEVTYPE_UART | CAP_TYPE_MAP_PHYSMEM | CAP_RTYPE_CONTAINER,
|
||||||
|
\t\t\t\t.access = CAP_MAP_READ | CAP_MAP_WRITE | CAP_MAP_EXEC |
|
||||||
|
\t\t\t\t\tCAP_MAP_CACHED | CAP_MAP_UNCACHED | CAP_MAP_UNMAP | CAP_MAP_UTCB,
|
||||||
|
\t\t\t\t.start = 0, .end = 0, .size = 0,
|
||||||
|
\t\t\t},
|
||||||
|
'''
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -187,7 +199,17 @@ def prepare_typed_capability(cont, param, val):
|
|||||||
|
|
||||||
# USE makes us assign the initial cap string with blank fields
|
# USE makes us assign the initial cap string with blank fields
|
||||||
if 'USE' in params:
|
if 'USE' in params:
|
||||||
cont.caps[captype] = cap_strings[captype]
|
|
||||||
|
# Special case for device
|
||||||
|
if 'DEVICE' in params:
|
||||||
|
# Extract device name and number
|
||||||
|
devnum = captype[-1:]
|
||||||
|
devname = captype[: -1]
|
||||||
|
|
||||||
|
cont.caps[captype] = cap_strings[devname]
|
||||||
|
|
||||||
|
else:
|
||||||
|
cont.caps[captype] = cap_strings[captype]
|
||||||
|
|
||||||
# Prepare string template from capability type
|
# Prepare string template from capability type
|
||||||
templ = Template(cont.caps[captype])
|
templ = Template(cont.caps[captype])
|
||||||
@@ -196,6 +218,10 @@ def prepare_typed_capability(cont, param, val):
|
|||||||
if captype[-len('pool'):] == 'pool':
|
if captype[-len('pool'):] == 'pool':
|
||||||
cont.caps[captype] = templ.safe_substitute(cid = cont.id)
|
cont.caps[captype] = templ.safe_substitute(cid = cont.id)
|
||||||
|
|
||||||
|
# If device, amend current container id and devnum as default
|
||||||
|
if 'DEVICE' in params:
|
||||||
|
cont.caps[captype] = templ.safe_substitute(cid = cont.id, devid = devnum)
|
||||||
|
|
||||||
# Fill in the blank size field
|
# Fill in the blank size field
|
||||||
elif 'SIZE' in params:
|
elif 'SIZE' in params:
|
||||||
# Get reference to capability string template
|
# Get reference to capability string template
|
||||||
|
|||||||
@@ -144,6 +144,7 @@ symbols
|
|||||||
cont%(cn)d_menu 'Container %(cn)d Parameters'
|
cont%(cn)d_menu 'Container %(cn)d Parameters'
|
||||||
cont%(cn)d_physmem_list 'Container %(cn)d Physical Memory Regions (Capabilities)'
|
cont%(cn)d_physmem_list 'Container %(cn)d Physical Memory Regions (Capabilities)'
|
||||||
cont%(cn)d_virtmem_list 'Container %(cn)d Virtual Memory Regions (Capabilities)'
|
cont%(cn)d_virtmem_list 'Container %(cn)d Virtual Memory Regions (Capabilities)'
|
||||||
|
cont%(cn)d_device_list 'Container %(cn)d Devices (Capabilities)'
|
||||||
container%(cn)d_type 'Container %(cn)d Type'
|
container%(cn)d_type 'Container %(cn)d Type'
|
||||||
container%(cn)d_options 'Container %(cn)d Options'
|
container%(cn)d_options 'Container %(cn)d Options'
|
||||||
|
|
||||||
@@ -208,6 +209,99 @@ menu cont%(cn)d_physmem_list
|
|||||||
CONT%(cn)d_PHYS3_START@
|
CONT%(cn)d_PHYS3_START@
|
||||||
CONT%(cn)d_PHYS3_END@
|
CONT%(cn)d_PHYS3_END@
|
||||||
|
|
||||||
|
#
|
||||||
|
# Device menu and options per container
|
||||||
|
#
|
||||||
|
symbols
|
||||||
|
cont%(cn)d_device_uart1 'Container %(cn)d UART1 Menu'
|
||||||
|
cont%(cn)d_device_uart2 'Container %(cn)d UART2 Menu'
|
||||||
|
cont%(cn)d_device_uart3 'Container %(cn)d UART3 Menu'
|
||||||
|
|
||||||
|
CONT%(cn)d_CAP_UART1_DEVICE_USE 'Container %(cn)d UART1 Enable'
|
||||||
|
CONT%(cn)d_CAP_UART2_DEVICE_USE 'Container %(cn)d UART2 Enable'
|
||||||
|
CONT%(cn)d_CAP_UART3_DEVICE_USE 'Container %(cn)d UART3 Enable'
|
||||||
|
|
||||||
|
default CONT%(cn)d_CAP_UART1_DEVICE_USE from n
|
||||||
|
default CONT%(cn)d_CAP_UART2_DEVICE_USE from n
|
||||||
|
default CONT%(cn)d_CAP_UART3_DEVICE_USE from n
|
||||||
|
|
||||||
|
# Note: We are suppressing the menu not symbol here, as in future
|
||||||
|
# we will add new parameters to menu, so suprpressing each symbol
|
||||||
|
# will be cumbersome
|
||||||
|
when CONT0_CAP_UART1_DEVICE_USE == y suppress
|
||||||
|
cont1_device_uart1
|
||||||
|
cont2_device_uart1
|
||||||
|
cont3_device_uart1
|
||||||
|
|
||||||
|
when CONT1_CAP_UART1_DEVICE_USE == y suppress
|
||||||
|
cont0_device_uart1
|
||||||
|
cont2_device_uart1
|
||||||
|
cont3_device_uart1
|
||||||
|
|
||||||
|
when CONT2_CAP_UART1_DEVICE_USE == y suppress
|
||||||
|
cont0_device_uart1
|
||||||
|
cont1_device_uart1
|
||||||
|
cont3_device_uart1
|
||||||
|
|
||||||
|
when CONT3_CAP_UART1_DEVICE_USE == y suppress
|
||||||
|
cont0_device_uart1
|
||||||
|
cont1_device_uart1
|
||||||
|
cont2_device_uart1
|
||||||
|
|
||||||
|
when CONT0_CAP_UART2_DEVICE_USE == y suppress
|
||||||
|
cont1_device_uart2
|
||||||
|
cont2_device_uart2
|
||||||
|
cont3_device_uart2
|
||||||
|
|
||||||
|
when CONT1_CAP_UART2_DEVICE_USE == y suppress
|
||||||
|
cont0_device_uart2
|
||||||
|
cont2_device_uart2
|
||||||
|
cont3_device_uart2
|
||||||
|
|
||||||
|
when CONT2_CAP_UART2_DEVICE_USE == y suppress
|
||||||
|
cont0_device_uart2
|
||||||
|
cont1_device_uart2
|
||||||
|
cont2_device_uart2
|
||||||
|
|
||||||
|
when CONT3_CAP_UART2_DEVICE_USE == y suppress
|
||||||
|
cont0_device_uart2
|
||||||
|
cont1_device_uart2
|
||||||
|
cont2_device_uart2
|
||||||
|
|
||||||
|
when CONT0_CAP_UART3_DEVICE_USE == y suppress
|
||||||
|
cont1_device_uart3
|
||||||
|
cont2_device_uart3
|
||||||
|
cont3_device_uart3
|
||||||
|
|
||||||
|
when CONT1_CAP_UART3_DEVICE_USE == y suppress
|
||||||
|
cont0_device_uart3
|
||||||
|
cont2_device_uart3
|
||||||
|
cont3_device_uart3
|
||||||
|
|
||||||
|
when CONT2_CAP_UART3_DEVICE_USE == y suppress
|
||||||
|
cont0_device_uart3
|
||||||
|
cont1_device_uart3
|
||||||
|
cont3_device_uart3
|
||||||
|
|
||||||
|
when CONT3_CAP_UART3_DEVICE_USE == y suppress
|
||||||
|
cont0_device_uart3
|
||||||
|
cont1_device_uart3
|
||||||
|
cont2_device_uart3
|
||||||
|
|
||||||
|
menu cont%(cn)d_device_uart1
|
||||||
|
CONT%(cn)d_CAP_UART1_DEVICE_USE
|
||||||
|
|
||||||
|
menu cont%(cn)d_device_uart2
|
||||||
|
CONT%(cn)d_CAP_UART2_DEVICE_USE
|
||||||
|
|
||||||
|
menu cont%(cn)d_device_uart3
|
||||||
|
CONT%(cn)d_CAP_UART3_DEVICE_USE
|
||||||
|
|
||||||
|
menu cont%(cn)d_device_list
|
||||||
|
cont%(cn)d_device_uart1
|
||||||
|
cont%(cn)d_device_uart2
|
||||||
|
cont%(cn)d_device_uart3
|
||||||
|
|
||||||
#
|
#
|
||||||
# Settings for Custom Capabilities
|
# Settings for Custom Capabilities
|
||||||
#
|
#
|
||||||
@@ -639,6 +733,7 @@ menu container%(cn)d_options
|
|||||||
cont%(cn)d_physmem_list
|
cont%(cn)d_physmem_list
|
||||||
cont%(cn)d_virtmem_list
|
cont%(cn)d_virtmem_list
|
||||||
cont%(cn)d_capability_list
|
cont%(cn)d_capability_list
|
||||||
|
cont%(cn)d_device_list
|
||||||
|
|
||||||
choices container%(cn)d_type
|
choices container%(cn)d_type
|
||||||
CONT%(cn)d_TYPE_BAREMETAL
|
CONT%(cn)d_TYPE_BAREMETAL
|
||||||
|
|||||||
@@ -12,7 +12,6 @@ class Container:
|
|||||||
self.name = None
|
self.name = None
|
||||||
self.type = None
|
self.type = None
|
||||||
self.id = id
|
self.id = id
|
||||||
self.src_path = None
|
|
||||||
self.baremetal_id = 0
|
self.baremetal_id = 0
|
||||||
self.pager_lma = 0
|
self.pager_lma = 0
|
||||||
self.pager_vma = 0
|
self.pager_vma = 0
|
||||||
|
|||||||
Reference in New Issue
Block a user