summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorJulius Werner <jwerner@chromium.org>2019-07-23 20:00:13 -0700
committerJulius Werner <jwerner@chromium.org>2019-07-23 20:25:34 -0700
commit9352be88033900f89aa50dfbb13a13d40d698a9e (patch)
tree6da5a9a6c7adce6bf6e0a119fd432fd29ac6bcb8 /include
parentc1185ffde17cf2fdf50aac172a0be9e2d7669fd0 (diff)
Use explicit-width data types in AAPCS parameter structs
It's not a good idea to use u_register_t for the members of aapcs64_params_t and aapcs32_params_t, since the width of that type always depends on the current execution environment. This would cause problems if e.g. we used this structure to set up the entry point of an AArch32 program from within an AArch64 program. (It doesn't seem like any code is doing that today, but it's probably still a good idea to write this defensively. Also, it helps with my next patch.) Change-Id: I12c04a85611f2b6702589f3362bea3e6a7c9f776 Signed-off-by: Julius Werner <jwerner@chromium.org>
Diffstat (limited to 'include')
-rw-r--r--include/common/ep_info.h24
1 files changed, 12 insertions, 12 deletions
diff --git a/include/common/ep_info.h b/include/common/ep_info.h
index a09d03ba..97df52b3 100644
--- a/include/common/ep_info.h
+++ b/include/common/ep_info.h
@@ -69,21 +69,21 @@
#include <lib/cassert.h>
typedef struct aapcs64_params {
- u_register_t arg0;
- u_register_t arg1;
- u_register_t arg2;
- u_register_t arg3;
- u_register_t arg4;
- u_register_t arg5;
- u_register_t arg6;
- u_register_t arg7;
+ uint64_t arg0;
+ uint64_t arg1;
+ uint64_t arg2;
+ uint64_t arg3;
+ uint64_t arg4;
+ uint64_t arg5;
+ uint64_t arg6;
+ uint64_t arg7;
} aapcs64_params_t;
typedef struct aapcs32_params {
- u_register_t arg0;
- u_register_t arg1;
- u_register_t arg2;
- u_register_t arg3;
+ uint32_t arg0;
+ uint32_t arg1;
+ uint32_t arg2;
+ uint32_t arg3;
} aapcs32_params_t;
/*****************************************************************************