feat(rmm-eac4): modify RSI_ATTESTATION_TOKEN commands
Modifies RSI_ATTESTATION_TOKEN_INIT and
RSI_ATTESTATION_TOKEN_CONTINUE commands as per
RMM Specification 1.0-eac4.
Number of 4K pages allocated for attestation
buffer is defined by RMM_ATTEST_BUFFER_PAGES
in CommonConfigs.cmake and set to 1 by default.
Signed-off-by: AlexeiFedorov <Alexei.Fedorov@arm.com>
Change-Id: Icda7f26e291a19b143ae14a291c03cc7bda0e076
diff --git a/lib/allocator/include/memory_alloc.h b/lib/allocator/include/memory_alloc.h
index 06f381a..eb7da95 100644
--- a/lib/allocator/include/memory_alloc.h
+++ b/lib/allocator/include/memory_alloc.h
@@ -11,12 +11,12 @@
typedef struct memory_header_s memory_header_t;
/* MbedTLS needs 8K of heap for attestation usecases */
-#define REC_HEAP_PAGES 2U
-#define REC_HEAP_SIZE (REC_HEAP_PAGES * SZ_4K)
+#define REC_HEAP_PAGES 2U
+#define REC_HEAP_SIZE (REC_HEAP_PAGES * SZ_4K)
/* Number of pages per REC for PMU state */
-#define REC_PMU_PAGES 1U
-#define REC_PMU_SIZE (REC_PMU_PAGES * SZ_4K)
+#define REC_PMU_PAGES 1U
+#define REC_PMU_SIZE (REC_PMU_PAGES * SZ_4K)
/*
* SIMD context that holds FPU/SVE registers. Space to save max arch supported
@@ -27,18 +27,22 @@
* Size of other status registers : 32 bytes
* Total size is ~3 Pages (rounded up to page size).
*/
-#define REC_SIMD_PAGES 3U
-#define REC_SIMD_SIZE (REC_SIMD_PAGES * SZ_4K)
+#define REC_SIMD_PAGES 3U
+#define REC_SIMD_SIZE (REC_SIMD_PAGES * SZ_4K)
/* Number of pages per REC for 'rec_attest_data' structure */
-#define REC_ATTEST_PAGES 1U
-#define REC_ATTEST_SIZE (REC_ATTEST_PAGES * SZ_4K)
+#define REC_ATTEST_PAGES 1U
+#define REC_ATTEST_SIZE (REC_ATTEST_PAGES * SZ_4K)
+
+/* Number of pages per REC for attestation buffer */
+#define REC_ATTEST_TOKEN_BUF_SIZE (RMM_CCA_TOKEN_BUFFER * SZ_4K)
/* Number of pages per REC to be allocated */
#define REC_NUM_PAGES (REC_HEAP_PAGES + \
REC_PMU_PAGES + \
REC_SIMD_PAGES + \
- REC_ATTEST_PAGES)
+ REC_ATTEST_PAGES + \
+ RMM_CCA_TOKEN_BUFFER)
struct buffer_alloc_ctx {
unsigned char *buf;