feat(ff-a): update FF-A version to v1.2
Bump the required FF-A version in framework and manifests to v1.2 as
upstream feature development goes.
Signed-off-by: Kathleen Capella <kathleen.capella@arm.com>
Change-Id: Id00cdbd94466570a962d9c6956fda793758ee5d9
diff --git a/include/runtime_services/ffa_svc.h b/include/runtime_services/ffa_svc.h
index bf535ea..3abd21f 100644
--- a/include/runtime_services/ffa_svc.h
+++ b/include/runtime_services/ffa_svc.h
@@ -24,7 +24,7 @@
/* The macros below are used to identify FFA calls from the SMC function ID */
#define FFA_FNUM_MIN_VALUE U(0x60)
-#define FFA_FNUM_MAX_VALUE U(0x87)
+#define FFA_FNUM_MAX_VALUE U(0x8C)
#define is_ffa_fid(fid) __extension__ ({ \
__typeof__(fid) _fid = (fid); \
((GET_SMC_NUM(_fid) >= FFA_FNUM_MIN_VALUE) && \
@@ -34,7 +34,7 @@
#define FFA_VERSION_MAJOR U(1)
#define FFA_VERSION_MAJOR_SHIFT 16
#define FFA_VERSION_MAJOR_MASK U(0x7FFF)
-#define FFA_VERSION_MINOR U(1)
+#define FFA_VERSION_MINOR U(2)
#define FFA_VERSION_MINOR_SHIFT 0
#define FFA_VERSION_MINOR_MASK U(0xFFFF)
#define FFA_VERSION_BIT31_MASK U(1 << 31)
@@ -100,10 +100,11 @@
#define FFA_FNUM_SPM_ID_GET U(0x85)
#define FFA_FNUM_MSG_SEND2 U(0x86)
#define FFA_FNUM_SECONDARY_EP_REGISTER U(0x87)
-#define FFA_FNUM_PARTITION_INFO_GET_REGS U(0x8B)
-/* Implementation defined function numbers */
+/* FF-A v1.2 */
#define FFA_FNUM_CONSOLE_LOG U(0x8A)
+#define FFA_FNUM_PARTITION_INFO_GET_REGS U(0x8B)
+#define FFA_FNUM_EL3_INTR_HANDLE U(0x8C)
/* FFA SMC32 FIDs */
#define FFA_ERROR FFA_FID(SMC_32, FFA_FNUM_ERROR)
diff --git a/spm/cactus/plat/arm/fvp/fdts/cactus-secondary.dts b/spm/cactus/plat/arm/fvp/fdts/cactus-secondary.dts
index 871cf0b..1c01a9f 100644
--- a/spm/cactus/plat/arm/fvp/fdts/cactus-secondary.dts
+++ b/spm/cactus/plat/arm/fvp/fdts/cactus-secondary.dts
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2019-2022, Arm Limited. All rights reserved.
+ * Copyright (c) 2019-2023, Arm Limited. All rights reserved.
*
* SPDX-License-Identifier: BSD-3-Clause
*
@@ -15,7 +15,7 @@
/* Properties */
description = "Base-1";
- ffa-version = <0x00010001>; /* 31:16 - Major, 15:0 - Minor */
+ ffa-version = <0x00010002>; /* 31:16 - Major, 15:0 - Minor */
uuid = <0x092358d1 0xb94723f0 0x64447c82 0xc88f57f5>;
id = <2>;
auxiliary-id = <0xae>;
diff --git a/spm/cactus/plat/arm/fvp/fdts/cactus-tertiary.dts b/spm/cactus/plat/arm/fvp/fdts/cactus-tertiary.dts
index 65a5c23..946301d 100644
--- a/spm/cactus/plat/arm/fvp/fdts/cactus-tertiary.dts
+++ b/spm/cactus/plat/arm/fvp/fdts/cactus-tertiary.dts
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2020-2022, Arm Limited. All rights reserved.
+ * Copyright (c) 2020-2023, Arm Limited. All rights reserved.
*
* SPDX-License-Identifier: BSD-3-Clause
*
@@ -15,7 +15,7 @@
/* Properties */
description = "Base-1";
- ffa-version = <0x00010001>; /* 31:16 - Major, 15:0 - Minor */
+ ffa-version = <0x00010002>; /* 31:16 - Major, 15:0 - Minor */
uuid = <0x735cb579 0xb9448c1d 0xe1619385 0xd2d80a77>;
id = <3>;
auxiliary-id = <0xae>;
diff --git a/spm/cactus/plat/arm/fvp/fdts/cactus.dts b/spm/cactus/plat/arm/fvp/fdts/cactus.dts
index ed4eb6d..78c5d97 100644
--- a/spm/cactus/plat/arm/fvp/fdts/cactus.dts
+++ b/spm/cactus/plat/arm/fvp/fdts/cactus.dts
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2019-2022, Arm Limited. All rights reserved.
+ * Copyright (c) 2019-2023, Arm Limited. All rights reserved.
*
* SPDX-License-Identifier: BSD-3-Clause
*
@@ -15,7 +15,7 @@
/* Properties */
description = "Base-1";
- ffa-version = <0x00010001>; /* 31:16 - Major, 15:0 - Minor */
+ ffa-version = <0x00010002>; /* 31:16 - Major, 15:0 - Minor */
uuid = <0x1e67b5b4 0xe14f904a 0x13fb1fb8 0xcbdae1da>;
id = <1>;
auxiliary-id = <0xae>;
diff --git a/spm/cactus/plat/arm/tc/fdts/cactus-secondary.dts b/spm/cactus/plat/arm/tc/fdts/cactus-secondary.dts
index 01caf4d..839fb82 100644
--- a/spm/cactus/plat/arm/tc/fdts/cactus-secondary.dts
+++ b/spm/cactus/plat/arm/tc/fdts/cactus-secondary.dts
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2020-2021, Arm Limited. All rights reserved.
+ * Copyright (c) 2020-2023, Arm Limited. All rights reserved.
*
* SPDX-License-Identifier: BSD-3-Clause
*
@@ -15,7 +15,7 @@
/* Properties */
description = "cactus-2";
- ffa-version = <0x00010001>; /* 31:16 - Major, 15:0 - Minor */
+ ffa-version = <0x00010002>; /* 31:16 - Major, 15:0 - Minor */
uuid = <0x092358d1 0xb94723f0 0x64447c82 0xc88f57f5>;
id = <2>;
execution-ctx-count = <8>;
diff --git a/spm/cactus/plat/arm/tc/fdts/cactus-tertiary.dts b/spm/cactus/plat/arm/tc/fdts/cactus-tertiary.dts
index dba2777..1db2c1e 100644
--- a/spm/cactus/plat/arm/tc/fdts/cactus-tertiary.dts
+++ b/spm/cactus/plat/arm/tc/fdts/cactus-tertiary.dts
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2020-2021, Arm Limited. All rights reserved.
+ * Copyright (c) 2020-2023, Arm Limited. All rights reserved.
*
* SPDX-License-Identifier: BSD-3-Clause
*
@@ -15,7 +15,7 @@
/* Properties */
description = "cactus-3";
- ffa-version = <0x00010001>; /* 31:16 - Major, 15:0 - Minor */
+ ffa-version = <0x00010002>; /* 31:16 - Major, 15:0 - Minor */
uuid = <0x735cb579 0xb9448c1d 0xe1619385 0xd2d80a77>;
id = <3>;
execution-ctx-count = <1>;
diff --git a/spm/cactus/plat/arm/tc/fdts/cactus.dts b/spm/cactus/plat/arm/tc/fdts/cactus.dts
index 99d3ae8..fe450e8 100644
--- a/spm/cactus/plat/arm/tc/fdts/cactus.dts
+++ b/spm/cactus/plat/arm/tc/fdts/cactus.dts
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2020-2021, Arm Limited. All rights reserved.
+ * Copyright (c) 2020-2023, Arm Limited. All rights reserved.
*
* SPDX-License-Identifier: BSD-3-Clause
*
@@ -15,7 +15,7 @@
/* Properties */
description = "cactus-1";
- ffa-version = <0x00010001>; /* 31:16 - Major, 15:0 - Minor */
+ ffa-version = <0x00010002>; /* 31:16 - Major, 15:0 - Minor */
uuid = <0x1e67b5b4 0xe14f904a 0x13fb1fb8 0xcbdae1da>;
id = <1>;
execution-ctx-count = <8>;
diff --git a/spm/ivy/app/plat/arm/fvp/fdts/ivy-sel0.dts b/spm/ivy/app/plat/arm/fvp/fdts/ivy-sel0.dts
index 3317e21..7bf7d91 100644
--- a/spm/ivy/app/plat/arm/fvp/fdts/ivy-sel0.dts
+++ b/spm/ivy/app/plat/arm/fvp/fdts/ivy-sel0.dts
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2022, Arm Limited. All rights reserved.
+ * Copyright (c) 2022-2023, Arm Limited. All rights reserved.
*
* SPDX-License-Identifier: BSD-3-Clause
*
@@ -15,7 +15,7 @@
/* Properties */
description = "ivy-sel0-fvp";
- ffa-version = <0x00010001>; /* 31:16 - Major, 15:0 - Minor */
+ ffa-version = <0x00010002>; /* 31:16 - Major, 15:0 - Minor */
uuid = <0xd883baea 0xaf4eafba 0xfdf74481 0xa744e5cb>;
execution-ctx-count = <1>;
exception-level = <1>; /* S-EL0 */
diff --git a/spm/ivy/app/plat/arm/fvp/fdts/ivy-sel1.dts b/spm/ivy/app/plat/arm/fvp/fdts/ivy-sel1.dts
index eb6108a..a4d26ef 100644
--- a/spm/ivy/app/plat/arm/fvp/fdts/ivy-sel1.dts
+++ b/spm/ivy/app/plat/arm/fvp/fdts/ivy-sel1.dts
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2018-2022, Arm Limited. All rights reserved.
+ * Copyright (c) 2018-2023, Arm Limited. All rights reserved.
*
* SPDX-License-Identifier: BSD-3-Clause
*
@@ -16,7 +16,7 @@
/* Properties */
description = "ivy-sel1-fvp";
- ffa-version = <0x00010001>; /* 31:16 - Major, 15:0 - Minor */
+ ffa-version = <0x00010002>; /* 31:16 - Major, 15:0 - Minor */
uuid = <0xd883baea 0xaf4eafba 0xfdf74481 0xa744e5cb>;
execution-ctx-count = <1>;
exception-level = <2>; /* S-EL1 */
diff --git a/spm/ivy/app/plat/arm/tc/fdts/ivy-sel0.dts b/spm/ivy/app/plat/arm/tc/fdts/ivy-sel0.dts
index bbc7b00..7d333a6 100644
--- a/spm/ivy/app/plat/arm/tc/fdts/ivy-sel0.dts
+++ b/spm/ivy/app/plat/arm/tc/fdts/ivy-sel0.dts
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2022, Arm Limited. All rights reserved.
+ * Copyright (c) 2022-2023, Arm Limited. All rights reserved.
*
* SPDX-License-Identifier: BSD-3-Clause
*
@@ -14,7 +14,7 @@
/* Properties */
description = "ivy-sel0-tc";
- ffa-version = <0x00010001>; /* 31:16 - Major, 15:0 - Minor */
+ ffa-version = <0x00010002>; /* 31:16 - Major, 15:0 - Minor */
uuid = <0xd883baea 0xaf4eafba 0xfdf74481 0xa744e5cb>;
execution-ctx-count = <1>;
exception-level = <1>; /* S-EL0 */
diff --git a/spm/ivy/app/plat/arm/tc/fdts/ivy-sel1.dts b/spm/ivy/app/plat/arm/tc/fdts/ivy-sel1.dts
index 322dd74..6503e15 100644
--- a/spm/ivy/app/plat/arm/tc/fdts/ivy-sel1.dts
+++ b/spm/ivy/app/plat/arm/tc/fdts/ivy-sel1.dts
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2020-2022, Arm Limited. All rights reserved.
+ * Copyright (c) 2020-2023, Arm Limited. All rights reserved.
*
* SPDX-License-Identifier: BSD-3-Clause
*
@@ -15,7 +15,7 @@
/* Properties */
description = "ivy-sel1-tc";
- ffa-version = <0x00010001>; /* 31:16 - Major, 15:0 - Minor */
+ ffa-version = <0x00010002>; /* 31:16 - Major, 15:0 - Minor */
uuid = <0xd883baea 0xaf4eafba 0xfdf74481 0xa744e5cb>;
execution-ctx-count = <1>;
exception-level = <2>; /* S-EL1 */
diff --git a/tftf/tests/runtime_services/secure_service/test_ffa_smccc.c b/tftf/tests/runtime_services/secure_service/test_ffa_smccc.c
index 7a42633..15ca712 100644
--- a/tftf/tests/runtime_services/secure_service/test_ffa_smccc.c
+++ b/tftf/tests/runtime_services/secure_service/test_ffa_smccc.c
@@ -66,7 +66,7 @@
args.fid = FFA_VERSION;
args.arg1 = 0x10001;
expect_eq(test_ffa_smc(&args), 0);
- expect_eq(args.fid, 0x10001);
+ expect_eq(args.fid, FFA_VERSION_COMPILED);
expect_eq(args.arg1, 0);
expect_eq(args.arg2, 0);
expect_eq(args.arg3, 0);