feat(rme): test access outside PAR from Plane N
Signed-off-by: Javier Almansa Sobrino <javier.almansasobrino@arm.com>
Change-Id: I3c5069e14fdf27e6c36bd1e0651ceff4ee7396ef
diff --git a/realm/realm_plane.c b/realm/realm_plane.c
index 656c688..a29a1ca 100644
--- a/realm/realm_plane.c
+++ b/realm/realm_plane.c
@@ -150,6 +150,10 @@
ret = realm_exit_to_host_as_plane_n(HOST_CALL_EXIT_PRINT_CMD, plane_index);
run->enter.gprs[0] = ret;
return PSI_RETURN_TO_PN;
+ case PSI_CALL_EXIT_SUCCESS_CMD:
+ case PSI_CALL_EXIT_FAILED_CMD:
+ run->exit.gprs[0] = hvc_id;
+ return PSI_RETURN_TO_P0;
case PSI_P0_CALL:
default:
return PSI_RETURN_TO_P0;
@@ -207,8 +211,8 @@
ret = handle_plane_exit(plane_index, perm_index, run);
- if (ret != PSI_RETURN_TO_PN) {
- return true;
+ if (ret == PSI_RETURN_TO_P0) {
+ return !(run->exit.gprs[0] == PSI_CALL_EXIT_FAILED_CMD);
}
}
}