xref: /rk3399_ARM-atf/plat/arm/board/fvp/fvp_plat_attest_token.c (revision 056b4154ae946a594d8410922f2b07df237543f2)
10f9159b7SSoby Mathew /*
2*42cf6026SJuan Pablo Conde  * Copyright (c) 2022-2024, Arm Limited and Contributors. All rights reserved.
3157375d6SThomas Fossati  * Copyright (c) 2024, Linaro Limited and Contributors. All rights reserved.
40f9159b7SSoby Mathew  *
50f9159b7SSoby Mathew  * SPDX-License-Identifier: BSD-3-Clause
60f9159b7SSoby Mathew  */
70f9159b7SSoby Mathew 
8eb8700a9SManish V Badarkhe #include <errno.h>
9eb8700a9SManish V Badarkhe #include <string.h>
10eb8700a9SManish V Badarkhe 
11eb8700a9SManish V Badarkhe #include <plat/common/platform.h>
12eb8700a9SManish V Badarkhe 
13157375d6SThomas Fossati /*
14157375d6SThomas Fossati  * This is the CBOR serialization of the CCA platform token described at
15157375d6SThomas Fossati  * https://git.trustedfirmware.org/TF-M/tf-m-tools/+/refs/heads/main/iat-verifier/tests/data/cca_example_platform_token.yaml
16157375d6SThomas Fossati  */
17eb8700a9SManish V Badarkhe static const uint8_t sample_platform_token[] = {
18157375d6SThomas Fossati 	0xd2, 0x84, 0x44, 0xa1, 0x01, 0x38, 0x22, 0xa0,
194f3e0cdcSTamas Ban 	0x59, 0x05, 0x81, 0xa9, 0x19, 0x01, 0x09, 0x78,
204f3e0cdcSTamas Ban 	0x23, 0x74, 0x61, 0x67, 0x3a, 0x61, 0x72, 0x6d,
214f3e0cdcSTamas Ban 	0x2e, 0x63, 0x6f, 0x6d, 0x2c, 0x32, 0x30, 0x32,
224f3e0cdcSTamas Ban 	0x33, 0x3a, 0x63, 0x63, 0x61, 0x5f, 0x70, 0x6c,
234f3e0cdcSTamas Ban 	0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x23, 0x31,
244f3e0cdcSTamas Ban 	0x2e, 0x30, 0x2e, 0x30, 0x0a, 0x58, 0x20, 0x0d,
254f3e0cdcSTamas Ban 	0x22, 0xe0, 0x8a, 0x98, 0x46, 0x90, 0x58, 0x48,
264f3e0cdcSTamas Ban 	0x63, 0x18, 0x28, 0x34, 0x89, 0xbd, 0xb3, 0x6f,
274f3e0cdcSTamas Ban 	0x09, 0xdb, 0xef, 0xeb, 0x18, 0x64, 0xdf, 0x43,
284f3e0cdcSTamas Ban 	0x3f, 0xa6, 0xe5, 0x4e, 0xa2, 0xd7, 0x11, 0x19,
294f3e0cdcSTamas Ban 	0x09, 0x5c, 0x58, 0x20, 0x7f, 0x45, 0x4c, 0x46,
304f3e0cdcSTamas Ban 	0x02, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
314f3e0cdcSTamas Ban 	0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x3e, 0x00,
324f3e0cdcSTamas Ban 	0x01, 0x00, 0x00, 0x00, 0x50, 0x58, 0x00, 0x00,
334f3e0cdcSTamas Ban 	0x00, 0x00, 0x00, 0x00, 0x19, 0x01, 0x00, 0x58,
344f3e0cdcSTamas Ban 	0x21, 0x01, 0x07, 0x06, 0x05, 0x04, 0x03, 0x02,
354f3e0cdcSTamas Ban 	0x01, 0x00, 0x0f, 0x0e, 0x0d, 0x0c, 0x0b, 0x0a,
364f3e0cdcSTamas Ban 	0x09, 0x08, 0x17, 0x16, 0x15, 0x14, 0x13, 0x12,
374f3e0cdcSTamas Ban 	0x11, 0x10, 0x1f, 0x1e, 0x1d, 0x1c, 0x1b, 0x1a,
384f3e0cdcSTamas Ban 	0x19, 0x18, 0x19, 0x09, 0x61, 0x44, 0xcf, 0xcf,
394f3e0cdcSTamas Ban 	0xcf, 0xcf, 0x19, 0x09, 0x5b, 0x19, 0x30, 0x03,
404f3e0cdcSTamas Ban 	0x19, 0x09, 0x62, 0x67, 0x73, 0x68, 0x61, 0x2d,
414f3e0cdcSTamas Ban 	0x32, 0x35, 0x36, 0x19, 0x09, 0x60, 0x78, 0x3a,
424f3e0cdcSTamas Ban 	0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f,
434f3e0cdcSTamas Ban 	0x76, 0x65, 0x72, 0x61, 0x69, 0x73, 0x6f, 0x6e,
444f3e0cdcSTamas Ban 	0x2e, 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65,
454f3e0cdcSTamas Ban 	0x2f, 0x2e, 0x77, 0x65, 0x6c, 0x6c, 0x2d, 0x6b,
464f3e0cdcSTamas Ban 	0x6e, 0x6f, 0x77, 0x6e, 0x2f, 0x76, 0x65, 0x72,
474f3e0cdcSTamas Ban 	0x61, 0x69, 0x73, 0x6f, 0x6e, 0x2f, 0x76, 0x65,
484f3e0cdcSTamas Ban 	0x72, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69,
494f3e0cdcSTamas Ban 	0x6f, 0x6e, 0x19, 0x09, 0x5f, 0x8d, 0xa4, 0x01,
504f3e0cdcSTamas Ban 	0x69, 0x52, 0x53, 0x45, 0x5f, 0x42, 0x4c, 0x31,
514f3e0cdcSTamas Ban 	0x5f, 0x32, 0x05, 0x58, 0x20, 0x53, 0x78, 0x79,
524f3e0cdcSTamas Ban 	0x63, 0x07, 0x53, 0x5d, 0xf3, 0xec, 0x8d, 0x8b,
534f3e0cdcSTamas Ban 	0x15, 0xa2, 0xe2, 0xdc, 0x56, 0x41, 0x41, 0x9c,
544f3e0cdcSTamas Ban 	0x3d, 0x30, 0x60, 0xcf, 0xe3, 0x22, 0x38, 0xc0,
554f3e0cdcSTamas Ban 	0xfa, 0x97, 0x3f, 0x7a, 0xa3, 0x02, 0x58, 0x20,
564f3e0cdcSTamas Ban 	0x9a, 0x27, 0x1f, 0x2a, 0x91, 0x6b, 0x0b, 0x6e,
574f3e0cdcSTamas Ban 	0xe6, 0xce, 0xcb, 0x24, 0x26, 0xf0, 0xb3, 0x20,
584f3e0cdcSTamas Ban 	0x6e, 0xf0, 0x74, 0x57, 0x8b, 0xe5, 0x5d, 0x9b,
594f3e0cdcSTamas Ban 	0xc9, 0x4f, 0x6f, 0x3f, 0xe3, 0xab, 0x86, 0xaa,
604f3e0cdcSTamas Ban 	0x06, 0x67, 0x73, 0x68, 0x61, 0x2d, 0x32, 0x35,
614f3e0cdcSTamas Ban 	0x36, 0xa4, 0x01, 0x67, 0x52, 0x53, 0x45, 0x5f,
62157375d6SThomas Fossati 	0x42, 0x4c, 0x32, 0x05, 0x58, 0x20, 0x53, 0x78,
63157375d6SThomas Fossati 	0x79, 0x63, 0x07, 0x53, 0x5d, 0xf3, 0xec, 0x8d,
64157375d6SThomas Fossati 	0x8b, 0x15, 0xa2, 0xe2, 0xdc, 0x56, 0x41, 0x41,
65157375d6SThomas Fossati 	0x9c, 0x3d, 0x30, 0x60, 0xcf, 0xe3, 0x22, 0x38,
66157375d6SThomas Fossati 	0xc0, 0xfa, 0x97, 0x3f, 0x7a, 0xa3, 0x02, 0x58,
674f3e0cdcSTamas Ban 	0x20, 0x53, 0xc2, 0x34, 0xe5, 0xe8, 0x47, 0x2b,
684f3e0cdcSTamas Ban 	0x6a, 0xc5, 0x1c, 0x1a, 0xe1, 0xca, 0xb3, 0xfe,
694f3e0cdcSTamas Ban 	0x06, 0xfa, 0xd0, 0x53, 0xbe, 0xb8, 0xeb, 0xfd,
704f3e0cdcSTamas Ban 	0x89, 0x77, 0xb0, 0x10, 0x65, 0x5b, 0xfd, 0xd3,
714f3e0cdcSTamas Ban 	0xc3, 0x06, 0x67, 0x73, 0x68, 0x61, 0x2d, 0x32,
724f3e0cdcSTamas Ban 	0x35, 0x36, 0xa4, 0x01, 0x65, 0x52, 0x53, 0x45,
734f3e0cdcSTamas Ban 	0x5f, 0x53, 0x05, 0x58, 0x20, 0x53, 0x78, 0x79,
744f3e0cdcSTamas Ban 	0x63, 0x07, 0x53, 0x5d, 0xf3, 0xec, 0x8d, 0x8b,
754f3e0cdcSTamas Ban 	0x15, 0xa2, 0xe2, 0xdc, 0x56, 0x41, 0x41, 0x9c,
764f3e0cdcSTamas Ban 	0x3d, 0x30, 0x60, 0xcf, 0xe3, 0x22, 0x38, 0xc0,
774f3e0cdcSTamas Ban 	0xfa, 0x97, 0x3f, 0x7a, 0xa3, 0x02, 0x58, 0x20,
784f3e0cdcSTamas Ban 	0x11, 0x21, 0xcf, 0xcc, 0xd5, 0x91, 0x3f, 0x0a,
794f3e0cdcSTamas Ban 	0x63, 0xfe, 0xc4, 0x0a, 0x6f, 0xfd, 0x44, 0xea,
804f3e0cdcSTamas Ban 	0x64, 0xf9, 0xdc, 0x13, 0x5c, 0x66, 0x63, 0x4b,
814f3e0cdcSTamas Ban 	0xa0, 0x01, 0xd1, 0x0b, 0xcf, 0x43, 0x02, 0xa2,
824f3e0cdcSTamas Ban 	0x06, 0x67, 0x73, 0x68, 0x61, 0x2d, 0x32, 0x35,
834f3e0cdcSTamas Ban 	0x36, 0xa4, 0x01, 0x66, 0x41, 0x50, 0x5f, 0x42,
844f3e0cdcSTamas Ban 	0x4c, 0x31, 0x05, 0x58, 0x20, 0x53, 0x78, 0x79,
854f3e0cdcSTamas Ban 	0x63, 0x07, 0x53, 0x5d, 0xf3, 0xec, 0x8d, 0x8b,
864f3e0cdcSTamas Ban 	0x15, 0xa2, 0xe2, 0xdc, 0x56, 0x41, 0x41, 0x9c,
874f3e0cdcSTamas Ban 	0x3d, 0x30, 0x60, 0xcf, 0xe3, 0x22, 0x38, 0xc0,
884f3e0cdcSTamas Ban 	0xfa, 0x97, 0x3f, 0x7a, 0xa3, 0x02, 0x58, 0x20,
894f3e0cdcSTamas Ban 	0x15, 0x71, 0xb5, 0xec, 0x78, 0xbd, 0x68, 0x51,
904f3e0cdcSTamas Ban 	0x2b, 0xf7, 0x83, 0x0b, 0xb6, 0xa2, 0xa4, 0x4b,
914f3e0cdcSTamas Ban 	0x20, 0x47, 0xc7, 0xdf, 0x57, 0xbc, 0xe7, 0x9e,
924f3e0cdcSTamas Ban 	0xb8, 0xa1, 0xc0, 0xe5, 0xbe, 0xa0, 0xa5, 0x01,
934f3e0cdcSTamas Ban 	0x06, 0x67, 0x73, 0x68, 0x61, 0x2d, 0x32, 0x35,
944f3e0cdcSTamas Ban 	0x36, 0xa4, 0x01, 0x66, 0x41, 0x50, 0x5f, 0x42,
954f3e0cdcSTamas Ban 	0x4c, 0x32, 0x05, 0x58, 0x20, 0x53, 0x78, 0x79,
964f3e0cdcSTamas Ban 	0x63, 0x07, 0x53, 0x5d, 0xf3, 0xec, 0x8d, 0x8b,
974f3e0cdcSTamas Ban 	0x15, 0xa2, 0xe2, 0xdc, 0x56, 0x41, 0x41, 0x9c,
984f3e0cdcSTamas Ban 	0x3d, 0x30, 0x60, 0xcf, 0xe3, 0x22, 0x38, 0xc0,
994f3e0cdcSTamas Ban 	0xfa, 0x97, 0x3f, 0x7a, 0xa3, 0x02, 0x58, 0x20,
1004f3e0cdcSTamas Ban 	0x10, 0x15, 0x9b, 0xaf, 0x26, 0x2b, 0x43, 0xa9,
1014f3e0cdcSTamas Ban 	0x2d, 0x95, 0xdb, 0x59, 0xda, 0xe1, 0xf7, 0x2c,
1024f3e0cdcSTamas Ban 	0x64, 0x51, 0x27, 0x30, 0x16, 0x61, 0xe0, 0xa3,
1034f3e0cdcSTamas Ban 	0xce, 0x4e, 0x38, 0xb2, 0x95, 0xa9, 0x7c, 0x58,
1044f3e0cdcSTamas Ban 	0x06, 0x67, 0x73, 0x68, 0x61, 0x2d, 0x32, 0x35,
1054f3e0cdcSTamas Ban 	0x36, 0xa4, 0x01, 0x67, 0x53, 0x43, 0x50, 0x5f,
1064f3e0cdcSTamas Ban 	0x42, 0x4c, 0x31, 0x05, 0x58, 0x20, 0x53, 0x78,
107157375d6SThomas Fossati 	0x79, 0x63, 0x07, 0x53, 0x5d, 0xf3, 0xec, 0x8d,
108157375d6SThomas Fossati 	0x8b, 0x15, 0xa2, 0xe2, 0xdc, 0x56, 0x41, 0x41,
109157375d6SThomas Fossati 	0x9c, 0x3d, 0x30, 0x60, 0xcf, 0xe3, 0x22, 0x38,
110157375d6SThomas Fossati 	0xc0, 0xfa, 0x97, 0x3f, 0x7a, 0xa3, 0x02, 0x58,
1114f3e0cdcSTamas Ban 	0x20, 0x10, 0x12, 0x2e, 0x85, 0x6b, 0x3f, 0xcd,
1124f3e0cdcSTamas Ban 	0x49, 0xf0, 0x63, 0x63, 0x63, 0x17, 0x47, 0x61,
1134f3e0cdcSTamas Ban 	0x49, 0xcb, 0x73, 0x0a, 0x1a, 0xa1, 0xcf, 0xaa,
1144f3e0cdcSTamas Ban 	0xd8, 0x18, 0x55, 0x2b, 0x72, 0xf5, 0x6d, 0x6f,
1154f3e0cdcSTamas Ban 	0x68, 0x06, 0x67, 0x73, 0x68, 0x61, 0x2d, 0x32,
1164f3e0cdcSTamas Ban 	0x35, 0x36, 0xa4, 0x01, 0x67, 0x53, 0x43, 0x50,
1174f3e0cdcSTamas Ban 	0x5f, 0x42, 0x4c, 0x32, 0x05, 0x58, 0x20, 0xf1,
1184f3e0cdcSTamas Ban 	0x4b, 0x49, 0x87, 0x90, 0x4b, 0xcb, 0x58, 0x14,
1194f3e0cdcSTamas Ban 	0xe4, 0x45, 0x9a, 0x05, 0x7e, 0xd4, 0xd2, 0x0f,
1204f3e0cdcSTamas Ban 	0x58, 0xa6, 0x33, 0x15, 0x22, 0x88, 0xa7, 0x61,
1214f3e0cdcSTamas Ban 	0x21, 0x4d, 0xcd, 0x28, 0x78, 0x0b, 0x56, 0x02,
1224f3e0cdcSTamas Ban 	0x58, 0x20, 0xaa, 0x67, 0xa1, 0x69, 0xb0, 0xbb,
1234f3e0cdcSTamas Ban 	0xa2, 0x17, 0xaa, 0x0a, 0xa8, 0x8a, 0x65, 0x34,
1244f3e0cdcSTamas Ban 	0x69, 0x20, 0xc8, 0x4c, 0x42, 0x44, 0x7c, 0x36,
1254f3e0cdcSTamas Ban 	0xba, 0x5f, 0x7e, 0xa6, 0x5f, 0x42, 0x2c, 0x1f,
1264f3e0cdcSTamas Ban 	0xe5, 0xd8, 0x06, 0x67, 0x73, 0x68, 0x61, 0x2d,
1274f3e0cdcSTamas Ban 	0x32, 0x35, 0x36, 0xa4, 0x01, 0x67, 0x41, 0x50,
1284f3e0cdcSTamas Ban 	0x5f, 0x42, 0x4c, 0x33, 0x31, 0x05, 0x58, 0x20,
1294f3e0cdcSTamas Ban 	0x53, 0x78, 0x79, 0x63, 0x07, 0x53, 0x5d, 0xf3,
1304f3e0cdcSTamas Ban 	0xec, 0x8d, 0x8b, 0x15, 0xa2, 0xe2, 0xdc, 0x56,
1314f3e0cdcSTamas Ban 	0x41, 0x41, 0x9c, 0x3d, 0x30, 0x60, 0xcf, 0xe3,
1324f3e0cdcSTamas Ban 	0x22, 0x38, 0xc0, 0xfa, 0x97, 0x3f, 0x7a, 0xa3,
1334f3e0cdcSTamas Ban 	0x02, 0x58, 0x20, 0x2e, 0x6d, 0x31, 0xa5, 0x98,
1344f3e0cdcSTamas Ban 	0x3a, 0x91, 0x25, 0x1b, 0xfa, 0xe5, 0xae, 0xfa,
1354f3e0cdcSTamas Ban 	0x1c, 0x0a, 0x19, 0xd8, 0xba, 0x3c, 0xf6, 0x01,
1364f3e0cdcSTamas Ban 	0xd0, 0xe8, 0xa7, 0x06, 0xb4, 0xcf, 0xa9, 0x66,
1374f3e0cdcSTamas Ban 	0x1a, 0x6b, 0x8a, 0x06, 0x67, 0x73, 0x68, 0x61,
1384f3e0cdcSTamas Ban 	0x2d, 0x32, 0x35, 0x36, 0xa4, 0x01, 0x63, 0x52,
1394f3e0cdcSTamas Ban 	0x4d, 0x4d, 0x05, 0x58, 0x20, 0x53, 0x78, 0x79,
1404f3e0cdcSTamas Ban 	0x63, 0x07, 0x53, 0x5d, 0xf3, 0xec, 0x8d, 0x8b,
1414f3e0cdcSTamas Ban 	0x15, 0xa2, 0xe2, 0xdc, 0x56, 0x41, 0x41, 0x9c,
1424f3e0cdcSTamas Ban 	0x3d, 0x30, 0x60, 0xcf, 0xe3, 0x22, 0x38, 0xc0,
1434f3e0cdcSTamas Ban 	0xfa, 0x97, 0x3f, 0x7a, 0xa3, 0x02, 0x58, 0x20,
1444f3e0cdcSTamas Ban 	0xa1, 0xfb, 0x50, 0xe6, 0xc8, 0x6f, 0xae, 0x16,
1454f3e0cdcSTamas Ban 	0x79, 0xef, 0x33, 0x51, 0x29, 0x6f, 0xd6, 0x71,
1464f3e0cdcSTamas Ban 	0x34, 0x11, 0xa0, 0x8c, 0xf8, 0xdd, 0x17, 0x90,
1474f3e0cdcSTamas Ban 	0xa4, 0xfd, 0x05, 0xfa, 0xe8, 0x68, 0x81, 0x64,
1484f3e0cdcSTamas Ban 	0x06, 0x67, 0x73, 0x68, 0x61, 0x2d, 0x32, 0x35,
1494f3e0cdcSTamas Ban 	0x36, 0xa4, 0x01, 0x69, 0x48, 0x57, 0x5f, 0x43,
1504f3e0cdcSTamas Ban 	0x4f, 0x4e, 0x46, 0x49, 0x47, 0x05, 0x58, 0x20,
1514f3e0cdcSTamas Ban 	0x53, 0x78, 0x79, 0x63, 0x07, 0x53, 0x5d, 0xf3,
1524f3e0cdcSTamas Ban 	0xec, 0x8d, 0x8b, 0x15, 0xa2, 0xe2, 0xdc, 0x56,
1534f3e0cdcSTamas Ban 	0x41, 0x41, 0x9c, 0x3d, 0x30, 0x60, 0xcf, 0xe3,
1544f3e0cdcSTamas Ban 	0x22, 0x38, 0xc0, 0xfa, 0x97, 0x3f, 0x7a, 0xa3,
1554f3e0cdcSTamas Ban 	0x02, 0x58, 0x20, 0x1a, 0x25, 0x24, 0x02, 0x97,
1564f3e0cdcSTamas Ban 	0x2f, 0x60, 0x57, 0xfa, 0x53, 0xcc, 0x17, 0x2b,
1574f3e0cdcSTamas Ban 	0x52, 0xb9, 0xff, 0xca, 0x69, 0x8e, 0x18, 0x31,
1584f3e0cdcSTamas Ban 	0x1f, 0xac, 0xd0, 0xf3, 0xb0, 0x6e, 0xca, 0xae,
1594f3e0cdcSTamas Ban 	0xf7, 0x9e, 0x17, 0x06, 0x67, 0x73, 0x68, 0x61,
1604f3e0cdcSTamas Ban 	0x2d, 0x32, 0x35, 0x36, 0xa4, 0x01, 0x69, 0x46,
1614f3e0cdcSTamas Ban 	0x57, 0x5f, 0x43, 0x4f, 0x4e, 0x46, 0x49, 0x47,
1624f3e0cdcSTamas Ban 	0x05, 0x58, 0x20, 0x53, 0x78, 0x79, 0x63, 0x07,
1634f3e0cdcSTamas Ban 	0x53, 0x5d, 0xf3, 0xec, 0x8d, 0x8b, 0x15, 0xa2,
1644f3e0cdcSTamas Ban 	0xe2, 0xdc, 0x56, 0x41, 0x41, 0x9c, 0x3d, 0x30,
1654f3e0cdcSTamas Ban 	0x60, 0xcf, 0xe3, 0x22, 0x38, 0xc0, 0xfa, 0x97,
1664f3e0cdcSTamas Ban 	0x3f, 0x7a, 0xa3, 0x02, 0x58, 0x20, 0x9a, 0x92,
1674f3e0cdcSTamas Ban 	0xad, 0xbc, 0x0c, 0xee, 0x38, 0xef, 0x65, 0x8c,
1684f3e0cdcSTamas Ban 	0x71, 0xce, 0x1b, 0x1b, 0xf8, 0xc6, 0x56, 0x68,
1694f3e0cdcSTamas Ban 	0xf1, 0x66, 0xbf, 0xb2, 0x13, 0x64, 0x4c, 0x89,
1704f3e0cdcSTamas Ban 	0x5c, 0xcb, 0x1a, 0xd0, 0x7a, 0x25, 0x06, 0x67,
1714f3e0cdcSTamas Ban 	0x73, 0x68, 0x61, 0x2d, 0x32, 0x35, 0x36, 0xa4,
1724f3e0cdcSTamas Ban 	0x01, 0x6c, 0x54, 0x42, 0x5f, 0x46, 0x57, 0x5f,
173157375d6SThomas Fossati 	0x43, 0x4f, 0x4e, 0x46, 0x49, 0x47, 0x05, 0x58,
174157375d6SThomas Fossati 	0x20, 0x53, 0x78, 0x79, 0x63, 0x07, 0x53, 0x5d,
175157375d6SThomas Fossati 	0xf3, 0xec, 0x8d, 0x8b, 0x15, 0xa2, 0xe2, 0xdc,
176157375d6SThomas Fossati 	0x56, 0x41, 0x41, 0x9c, 0x3d, 0x30, 0x60, 0xcf,
177157375d6SThomas Fossati 	0xe3, 0x22, 0x38, 0xc0, 0xfa, 0x97, 0x3f, 0x7a,
1784f3e0cdcSTamas Ban 	0xa3, 0x02, 0x58, 0x20, 0x23, 0x89, 0x03, 0x18,
1794f3e0cdcSTamas Ban 	0x0c, 0xc1, 0x04, 0xec, 0x2c, 0x5d, 0x8b, 0x3f,
1804f3e0cdcSTamas Ban 	0x20, 0xc5, 0xbc, 0x61, 0xb3, 0x89, 0xec, 0x0a,
1814f3e0cdcSTamas Ban 	0x96, 0x7d, 0xf8, 0xcc, 0x20, 0x8c, 0xdc, 0x7c,
1824f3e0cdcSTamas Ban 	0xd4, 0x54, 0x17, 0x4f, 0x06, 0x67, 0x73, 0x68,
1834f3e0cdcSTamas Ban 	0x61, 0x2d, 0x32, 0x35, 0x36, 0xa4, 0x01, 0x6d,
1844f3e0cdcSTamas Ban 	0x53, 0x4f, 0x43, 0x5f, 0x46, 0x57, 0x5f, 0x43,
1854f3e0cdcSTamas Ban 	0x4f, 0x4e, 0x46, 0x49, 0x47, 0x05, 0x58, 0x20,
1864f3e0cdcSTamas Ban 	0x53, 0x78, 0x79, 0x63, 0x07, 0x53, 0x5d, 0xf3,
1874f3e0cdcSTamas Ban 	0xec, 0x8d, 0x8b, 0x15, 0xa2, 0xe2, 0xdc, 0x56,
1884f3e0cdcSTamas Ban 	0x41, 0x41, 0x9c, 0x3d, 0x30, 0x60, 0xcf, 0xe3,
1894f3e0cdcSTamas Ban 	0x22, 0x38, 0xc0, 0xfa, 0x97, 0x3f, 0x7a, 0xa3,
1904f3e0cdcSTamas Ban 	0x02, 0x58, 0x20, 0xe6, 0xc2, 0x1e, 0x8d, 0x26,
1914f3e0cdcSTamas Ban 	0x0f, 0xe7, 0x18, 0x82, 0xde, 0xbd, 0xb3, 0x39,
1924f3e0cdcSTamas Ban 	0xd2, 0x40, 0x2a, 0x2c, 0xa7, 0x64, 0x85, 0x29,
1934f3e0cdcSTamas Ban 	0xbc, 0x23, 0x03, 0xf4, 0x86, 0x49, 0xbc, 0xe0,
1944f3e0cdcSTamas Ban 	0x38, 0x00, 0x17, 0x06, 0x67, 0x73, 0x68, 0x61,
1954f3e0cdcSTamas Ban 	0x2d, 0x32, 0x35, 0x36, 0x58, 0x60, 0x31, 0xd0,
1964f3e0cdcSTamas Ban 	0x4d, 0x52, 0xcc, 0xde, 0x95, 0x2c, 0x1e, 0x32,
1974f3e0cdcSTamas Ban 	0xcb, 0xa1, 0x81, 0x88, 0x5a, 0x40, 0xb8, 0xcc,
1984f3e0cdcSTamas Ban 	0x38, 0xe0, 0x52, 0x8c, 0x1e, 0x89, 0x58, 0x98,
1994f3e0cdcSTamas Ban 	0x07, 0x64, 0x2a, 0xa5, 0xe3, 0xf2, 0xbc, 0x37,
2004f3e0cdcSTamas Ban 	0xf9, 0x53, 0x74, 0x50, 0x6b, 0xff, 0x4d, 0x2e,
2014f3e0cdcSTamas Ban 	0x4b, 0xe7, 0x06, 0x3c, 0x4d, 0x72, 0x41, 0x92,
2024f3e0cdcSTamas Ban 	0x70, 0xc7, 0x22, 0xe8, 0xd4, 0xd9, 0x3e, 0xe8,
2034f3e0cdcSTamas Ban 	0xb6, 0xc9, 0xfa, 0xce, 0x3b, 0x43, 0xc9, 0x76,
2044f3e0cdcSTamas Ban 	0x1a, 0x49, 0x94, 0x1a, 0xb6, 0xf3, 0x8f, 0xfd,
2054f3e0cdcSTamas Ban 	0xff, 0x49, 0x6a, 0xd4, 0x63, 0xb4, 0xcb, 0xfa,
2064f3e0cdcSTamas Ban 	0x11, 0xd8, 0x3e, 0x23, 0xe3, 0x1f, 0x7f, 0x62,
2074f3e0cdcSTamas Ban 	0x32, 0x9d, 0xe3, 0x0c, 0x1c, 0xc8
208eb8700a9SManish V Badarkhe };
209*42cf6026SJuan Pablo Conde static uint64_t platform_token_offset;
2100f9159b7SSoby Mathew 
211d679cdecSManish V Badarkhe /*
212eb8700a9SManish V Badarkhe  * Get the hardcoded platform attestation token as FVP does not support
213a822b8d8STamas Ban  * RSE.
214*42cf6026SJuan Pablo Conde  *
215*42cf6026SJuan Pablo Conde  * Note: This implementation caters for retrieval of the platform token
216*42cf6026SJuan Pablo Conde  * in hunks to facilitate EL3-RMM interface testing. For most platforms,
217*42cf6026SJuan Pablo Conde  * since the shared buffer size is known, the implementation can be more
218*42cf6026SJuan Pablo Conde  * optimized.
219d679cdecSManish V Badarkhe  */
plat_rmmd_get_cca_attest_token(uintptr_t buf,size_t * len,uintptr_t hash,size_t hash_size,size_t * remaining_len)2208c980a4aSJavier Almansa Sobrino int plat_rmmd_get_cca_attest_token(uintptr_t buf, size_t *len,
221*42cf6026SJuan Pablo Conde 				   uintptr_t hash, size_t hash_size,
222*42cf6026SJuan Pablo Conde 				   size_t *remaining_len)
2230f9159b7SSoby Mathew {
224eb8700a9SManish V Badarkhe 	(void)hash;
225eb8700a9SManish V Badarkhe 	(void)hash_size;
226*42cf6026SJuan Pablo Conde 	size_t platform_token_size = sizeof(sample_platform_token);
227*42cf6026SJuan Pablo Conde 	size_t local_hunk_len;
228*42cf6026SJuan Pablo Conde 	size_t local_remaining_len;
2290f9159b7SSoby Mathew 
230*42cf6026SJuan Pablo Conde 	if (hash_size != 0) {
231*42cf6026SJuan Pablo Conde 		platform_token_offset = 0;
232*42cf6026SJuan Pablo Conde 	} else if (platform_token_offset == 0) {
233eb8700a9SManish V Badarkhe 		return -EINVAL;
234eb8700a9SManish V Badarkhe 	}
2350f9159b7SSoby Mathew 
236*42cf6026SJuan Pablo Conde 	local_hunk_len = *len;
237*42cf6026SJuan Pablo Conde 	local_remaining_len = platform_token_size - platform_token_offset;
238*42cf6026SJuan Pablo Conde 
239*42cf6026SJuan Pablo Conde 	/*
240*42cf6026SJuan Pablo Conde 	 * If the buffer is enough to fit the remaining bytes of the token,
241*42cf6026SJuan Pablo Conde 	 * return only the remaining bytes of the token.
242*42cf6026SJuan Pablo Conde 	 */
243*42cf6026SJuan Pablo Conde 	if (local_hunk_len >= local_remaining_len) {
244*42cf6026SJuan Pablo Conde 		local_hunk_len = local_remaining_len;
245*42cf6026SJuan Pablo Conde 	}
246*42cf6026SJuan Pablo Conde 	/* Update remaining bytes according to hunk size */
247*42cf6026SJuan Pablo Conde 	local_remaining_len -= local_hunk_len;
248*42cf6026SJuan Pablo Conde 
249*42cf6026SJuan Pablo Conde 	(void)memcpy((void *)buf,
250*42cf6026SJuan Pablo Conde 			(const void *)sample_platform_token
251*42cf6026SJuan Pablo Conde 				+ platform_token_offset,
252*42cf6026SJuan Pablo Conde 			local_hunk_len);
253*42cf6026SJuan Pablo Conde 
254*42cf6026SJuan Pablo Conde 	platform_token_offset += local_hunk_len;
255*42cf6026SJuan Pablo Conde 	*len = local_hunk_len;
256*42cf6026SJuan Pablo Conde 	*remaining_len = local_remaining_len;
257eb8700a9SManish V Badarkhe 
258eb8700a9SManish V Badarkhe 	return 0;
2590f9159b7SSoby Mathew }
260