Add support for 64-bit operation status values
For compatibility with 64-bit EFI status codes, opstatus values
are now treated as 64-bit rather than 32-bit. A new rpc_opstatus_t
type has been introduced in this change. Note that the FFARPC
still maps the opstatus value to a 32-bit regsiter value but
this is sign extended up to 64-bits in RPC callers. The MM
Communicate RPC caller and endpoint handle 64-bit status values.
Signed-off-by: Julian Hall <julian.hall@arm.com>
Change-Id: I06a0883394f370ccb543ebab797973bb604ff489
diff --git a/components/rpc/common/interface/rpc_status.h b/components/rpc/common/interface/rpc_status.h
index 0405a64..cba9dac 100644
--- a/components/rpc/common/interface/rpc_status.h
+++ b/components/rpc/common/interface/rpc_status.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2020, Arm Limited and Contributors. All rights reserved.
+ * Copyright (c) 2020-2021, Arm Limited and Contributors. All rights reserved.
*
* SPDX-License-Identifier: BSD-3-Clause
*/
@@ -21,6 +21,15 @@
*/
typedef int32_t rpc_status_t;
+/** \brief RPC operation status code type
+ *
+ * Used for returning the endpoint specific operation status.
+ * Different service layer protocols will use different status
+ * value schemes. Status values returned by an operation are
+ * carried by the RPC layer using this type.
+ */
+typedef int64_t rpc_opstatus_t;
+
#ifdef __cplusplus
}
#endif