SPM: Select ABI type based on protection domain in IPC model
In current implementation of IPC model, cross call ABI is chosen in
isolation level 1, and SVC call is chosen in isolation level 2 & 3.
However, calling SPM API is basically a function call using SPM's stack
when SPM shares the same protection domain with the calling RoT
partition, which is what cross call ABI is designed for. On the other
hand, when calling partition is in a different domain with SPM, SVC call
is the only choice.
So this patch makes the following changes:
1. For isolation level higher than 1, SPM selects ABI type based on
protection domain by calling HAL function to check whether the boundary
bound with the RoT partition is same with SPM boundary.
2. Remove CMake configurations related to ABI type, and build both cross
call and SVC ABIs for isolation level higher than 1. Because the ABI
type will be selected in runtime.
Signed-off-by: Xinyu Zhang <xinyu.zhang@arm.com>
Change-Id: I5b16707e8ddd526f981420e9f7662f093e482ed9
11 files changed