refactor: SP manifest defines
This patch makes the partition manifest defines related to number of
memory regions, device regions, interrupts and streams pre device region
into platform build options, as opposed to being defined in header
files.
Large SoCs tend to have many memory regions and device regions that need
to be covered in SPs. An example SP is a RAS SP which requires access to
large number of memory regions and device regions to triage RAS issues.
Moreover, such SPs need to handle a large number of interrupts as well
and the current limits of 8 memory regions, 8 device regions and 4
interrupts per device regions are inadequate.
By making this a platform specific build option, it allows freedom for
platforms to choose the right number of regions and interrupts per
device.
This patch extends the allowed limit of memory and device regions to 64K
and have up to 256 interrupts and streams per device region.
Also note that the new defines are in platform.gni as opposed to in
architecture specific build/args gni files since SP specific details
have leaked into manifest.h, which is included in many architecture
agnostic files. Adding it into args.gni in the aarch64 folder yielded
compile errors which require further modification to many other
unrelated BUILD.gn files.
Change-Id: If71e154319e66f2864b18c33936a049d8cde4db4
Signed-off-by: Raghu Krishnamurthy <raghu.ncstate@gmail.com>
diff --git a/build/toolchain/platform.gni b/build/toolchain/platform.gni
index 33e01c2..adcfb68 100644
--- a/build/toolchain/platform.gni
+++ b/build/toolchain/platform.gni
@@ -32,4 +32,16 @@
# The maximum number of VMs required for the platform.
plat_max_vms = 0
+
+ # The maximum number of memory regions allowed per partition, in the partition manifest
+ plat_partition_max_memory_regions = 8
+
+ # The maximum number of device regions allower per partition, in the partition manifest
+ plat_partition_max_device_regions = 8
+
+ # The maximum number of interrupts allowed per device, per partition, in the partition manifest
+ plat_partition_max_intr_per_device = 4
+
+ # the maximum number of streams allowed per device, per partition, in the partition manifest
+ plat_partition_max_streams_per_device = 4
}