Fix type of SMC function ID

The SMC function identifier is always a 32-bit integer, regardless of
the caller's execution state and of the SMC calling convention in use.

Change-Id: I8d4f7b9efcea3f00ac2ff0a397ca0d8ab824eecb
Signed-off-by: Sandrine Bailleux <sandrine.bailleux@arm.com>
diff --git a/include/lib/tftf_lib.h b/include/lib/tftf_lib.h
index e5900b8..97b6f41 100644
--- a/include/lib/tftf_lib.h
+++ b/include/lib/tftf_lib.h
@@ -132,22 +132,24 @@
  * specify it.
  */
 typedef struct {
-  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;
+	/* Function identifier. Identifies which function is being invoked. */
+	uint32_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;
 } smc_args;
 
 /* SMC calls can return up to 4 register values */
 typedef struct {
-  u_register_t	ret0;
-  u_register_t	ret1;
-  u_register_t	ret2;
-  u_register_t	ret3;
+	u_register_t	ret0;
+	u_register_t	ret1;
+	u_register_t	ret2;
+	u_register_t	ret3;
 } smc_ret_values;
 
 /*
diff --git a/lib/smc/aarch64/asm_smc.S b/lib/smc/aarch64/asm_smc.S
index 2b305b9..48a80a3 100644
--- a/lib/smc/aarch64/asm_smc.S
+++ b/lib/smc/aarch64/asm_smc.S
@@ -12,14 +12,14 @@
 
 
 /* ---------------------------------------------------------------------------
- * smc_ret_values asm_tftf_smc64(uint64_t arg0,
- *					      uint64_t arg1,
- *					      uint64_t arg2,
- *					      uint64_t arg3,
- *					      uint64_t arg4,
- *					      uint64_t arg5,
- *					      uint64_t arg6,
- *					      uint64_t arg7);
+ * smc_ret_values asm_tftf_smc64(uint32_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);
  * ---------------------------------------------------------------------------
  */
 func asm_tftf_smc64
diff --git a/lib/smc/aarch64/smc.c b/lib/smc/aarch64/smc.c
index 06b841c..cbe4bb9 100644
--- a/lib/smc/aarch64/smc.c
+++ b/lib/smc/aarch64/smc.c
@@ -7,14 +7,14 @@
 #include <stdint.h>
 #include <tftf.h>
 
-smc_ret_values asm_tftf_smc64(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);
+smc_ret_values asm_tftf_smc64(uint32_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);
 
 smc_ret_values tftf_smc(const smc_args *args)
 {