diff --git a/boards/arm64/fvp_base_revc_2xaemv8a/Kconfig b/boards/arm64/fvp_base_revc_2xaemv8a/Kconfig new file mode 100644 index 00000000000..8059b39fe90 --- /dev/null +++ b/boards/arm64/fvp_base_revc_2xaemv8a/Kconfig @@ -0,0 +1,18 @@ +# Copyright (c) 2021 BayLibre SAS +# SPDX-License-Identifier: Apache-2.0 + +# The GICv3 & ITS drivers allocation needs are: +# - LPI prop table: global 1x64K aligned on 64K +# - LPI pend table: for each redistributor/cpu 1x64K aligned on 64K +# - Devices table: 128x4K aligned on 4K +# - Interrupt Collections table: 1x4K aligned on 4K +# +# This makes 11x64K to permit all allocations to success. +# +# Note, will need 64K HEAP_MEM per CPUs added. +# +# This doesn't necessarily include the Interrupt Translation Table, which are +# 256bytes aligned tables, for reference a 32 ITEs table needs 256bytes. +# With 11x64K HEAP, up to 116 ITT tables of 32 ITEs can be allocated. +config HEAP_MEM_POOL_SIZE + default 720896 if GIC_V3_ITS diff --git a/tests/arch/arm64/arm64_gicv3_its/boards/fvp_base_revc_2xaemv8a.conf b/tests/arch/arm64/arm64_gicv3_its/boards/fvp_base_revc_2xaemv8a.conf new file mode 100644 index 00000000000..aa094e60d11 --- /dev/null +++ b/tests/arch/arm64/arm64_gicv3_its/boards/fvp_base_revc_2xaemv8a.conf @@ -0,0 +1,15 @@ +# The GICv3 & ITS drivers allocation needs are: +# - LPI prop table: global 1x64K aligned on 64K +# - LPI pend table: for each redistributor/cpu 1x64K aligned on 64K +# - Devices table: 128x4K aligned on 4K +# - Interrupt Collections table: 1x4K aligned on 4K +# +# This makes 11x64K to permit all allocations to success. +# +# Note, will need 64K HEAP_MEM per CPUs added. +# +# This doesn't necessarely include the Interrupt Translation Table, which are +# 256bytes aligned tables, for reference a 32 ITEs table needs 256bytes. +# +# To permit allocating 256 ITT tables of 32 ITEs, 13x64K HEAP_MEM is needed +CONFIG_HEAP_MEM_POOL_SIZE=851968