Enhancements : Memory usage, clean up and new build option
1. const qualifier added at appropriate places.
2. Cleaned redundant code.
3. New Storage build option introduced.
-DSUITE=STORAGE to build ITS and PS as single archive
-DSUITE=INTERNAL_TRUSTED_STORAGE to build ITS only
-DSUITE=PROTECTED_STORAGE to build PS only
Signed-off-by: Vinay Kumar Kotegowder <vinaykumar.kotegowder@arm.com>
diff --git a/api-tests/val/common/val.h b/api-tests/val/common/val.h
index f7ba5f0..1fb6266 100644
--- a/api-tests/val/common/val.h
+++ b/api-tests/val/common/val.h
@@ -85,9 +85,8 @@
#define VAL_MAX_TEST_PER_COMP 200
#define VAL_FF_BASE 0
#define VAL_CRYPTO_BASE 1
-#define VAL_PROTECTED_STORAGE_BASE 2
-#define VAL_INTERNAL_TRUSTED_STORAGE_BASE 3
-#define VAL_INITIAL_ATTESTATION_BASE 4
+#define VAL_STORAGE_BASE 2
+#define VAL_INITIAL_ATTESTATION_BASE 3
#define VAL_GET_COMP_NUM(test_id) \
((test_id - (test_id % VAL_MAX_TEST_PER_COMP)) / VAL_MAX_TEST_PER_COMP)
diff --git a/api-tests/val/common/val_target.h b/api-tests/val/common/val_target.h
index b450a33..1d4f421 100644
--- a/api-tests/val/common/val_target.h
+++ b/api-tests/val/common/val_target.h
@@ -1,5 +1,5 @@
/** @file
- * Copyright (c) 2018-2019, Arm Limited or its affiliates. All rights reserved.
+ * Copyright (c) 2018-2020, Arm Limited or its affiliates. All rights reserved.
* SPDX-License-Identifier : Apache-2.0
*
* Licensed under the Apache License, Version 2.0 (the "License");
@@ -48,7 +48,6 @@
typedef enum _GROUP_CONFIG_ID_ {
GROUP_SOC_PERIPHERAL = 0x1,
GROUP_MEMORY = 0x2,
- GROUP_MISCELLANEOUS = 0x3,
GROUP_MAX = 0xFF,
} group_cfg_id_t;
@@ -68,11 +67,6 @@
MEMORY_DRIVER_PARTITION_MMIO = 0x5,
} memory_cfg_id_t;
-typedef enum _MISCELLANEOUS_CONFIG_ID_ {
- MISCELLANEOUS_BOOT = 0x1,
- MISCELLANEOUS_DUT = 0x2
-} miscellaneous_cfg_id_t;
-
/**
Assign group type to each system component
**/
@@ -84,8 +78,6 @@
NSPE_MMIO = GROUP_MEMORY,
SERVER_PARTITION_MMIO = GROUP_MEMORY,
DRIVER_PARTITION_MMIO = GROUP_MEMORY,
- BOOT = GROUP_MISCELLANEOUS,
- DUT = GROUP_MISCELLANEOUS,
} comp_group_assign_t;
/**
@@ -174,22 +166,6 @@
dev_attr_t attribute;
} soc_peripheral_desc_t;
-/**
- System Miscellaneous Information
-**/
-
-typedef struct _MISCELLANEOUS_INFO_HDR_ {
- cfg_type_t cfg_type;
- uint32_t num;
-} miscellaneous_hdr_t;
-
-typedef struct _MISCELLANEOUS_INFO_DESC_ {
- cfg_type_t cfg_type;
- addr_t ns_start_addr_of_combine_test_binary;
- is_available_t combine_test_binary_in_ram;
- addr_t ns_test_addr;
-} miscellaneous_desc_t;
-
/*val target config read apis */
#ifdef VAL_NSPE_BUILD
STATIC_DECLARE val_status_t val_target_get_config(cfg_id_t cfg_id, uint8_t **data, uint32_t *size);
diff --git a/api-tests/val/nspe/pal_interfaces_ns.h b/api-tests/val/nspe/pal_interfaces_ns.h
index e017d19..55f8796 100644
--- a/api-tests/val/nspe/pal_interfaces_ns.h
+++ b/api-tests/val/nspe/pal_interfaces_ns.h
@@ -1,5 +1,5 @@
/** @file
- * Copyright (c) 2018-2019, Arm Limited or its affiliates. All rights reserved.
+ * Copyright (c) 2018-2020, Arm Limited or its affiliates. All rights reserved.
* SPDX-License-Identifier : Apache-2.0
*
* Licensed under the Apache License, Version 2.0 (the "License");
@@ -22,73 +22,6 @@
#include <stdarg.h>
/**
- @brief - This function will read peripherals using SPI commands
- @param - addr : address of the peripheral
- - data : read buffer
- - len : length of the read buffer in bytes
- @return - error status
-**/
-int pal_spi_read(addr_t addr, uint8_t *data, uint32_t len);
-
-/**
- * @brief - Retrieve the version of the PSA Framework API that is implemented.
- * This is a wrapper API for psa_framework_version API.
- * @param - void
- * @return - The PSA Framework API version.
- * Note - Return PAL_STATUS_ERROR if PSA IPC is not implemented.
- */
-uint32_t pal_ipc_framework_version(void);
-
-/**
- * @brief - Retrieve the version of a Root of Trust Service by its SID.
- * This is a wrapper API for the psa_version API.
- * @param - sid The Root of Trust Service ID
- * @return - Version of Root of Trust Service or PSA_VERSION_NONE if Root of Trust Service
- * not present on the system.
- * Note - Return PAL_STATUS_ERROR if PSA IPC is not implemented.
- */
-uint32_t pal_ipc_version(uint32_t sid);
-
-/**
- * @brief - Connect to given sid.
- * This is a wrapper API for the psa_connect API.
- * @param - sid : RoT service id
- * - version : version of RoT service
- * @return - psa_handle_t : return connection handle
- * Note - Return PSA_NULL_HANDLE if PSA IPC is not implemented.
- */
-psa_handle_t pal_ipc_connect(uint32_t sid, uint32_t version);
-
-/**
- * @brief - Call a connected Root of Trust Service.
- * This is a wrapper API for the psa_call API. The caller must provide an array of
- * psa_invec_t structures as the input payload.
- * @param - handle: Handle for the connection.
- * - type: Request type
- * - in_vec: Array of psa_invec structures.
- * - in_len: Number of psa_invec structures in in_vec.
- * - out_vec: Array of psa_outvec structures for optional Root of Trust Service response.
- * - out_len: Number of psa_outvec structures in out_vec.
- * @return - psa_status_t
- */
-
-psa_status_t pal_ipc_call(psa_handle_t handle,
- int32_t type,
- const psa_invec *in_vec,
- size_t in_len,
- psa_outvec *out_vec,
- size_t out_len);
-
-/**
- * @brief - Close a connection to a Root of Trust Service.
- * This is a wrapper API for the psa_close API.
- * Sends the PSA_IPC_DISCONNECT message to the Root of Trust Service
- * so it can clean up resources.
- * @param - handle Handle for the connection.
- * @return - void
- */
-void pal_ipc_close(psa_handle_t handle);
-/**
@brief - This function initializes the UART
@param - uart base addr
@return - SUCCESS/FAILURE
@@ -102,7 +35,7 @@
* @return - SUCCESS/FAILURE
**/
-int pal_print_ns(char *str, int32_t data);
+int pal_print_ns(const char *str, int32_t data);
/**
* @brief - Initializes an hardware watchdog timer
@@ -186,4 +119,11 @@
* @return - void
**/
void pal_terminate_simulation(void);
+
+/**
+ * @brief - Resets the system.
+ * @param - void
+ * @return - SUCCESS/FAILURE
+**/
+int pal_system_reset(void);
#endif
diff --git a/api-tests/val/nspe/val_dispatcher.c b/api-tests/val/nspe/val_dispatcher.c
index d6a2f1a..8debcac 100644
--- a/api-tests/val/nspe/val_dispatcher.c
+++ b/api-tests/val/nspe/val_dispatcher.c
@@ -1,5 +1,5 @@
/** @file
- * Copyright (c) 2018-2019, Arm Limited or its affiliates. All rights reserved.
+ * Copyright (c) 2018-2020, Arm Limited or its affiliates. All rights reserved.
* SPDX-License-Identifier : Apache-2.0
*
* Licensed under the Apache License, Version 2.0 (the "License");
@@ -26,98 +26,6 @@
/* gloabls */
addr_t g_test_info_addr;
-uint32_t combine_test_binary_in_ram;
-addr_t combine_test_binary_addr;
-
-#if !defined(TEST_COMBINE_ARCHIVE)
-static const unsigned char elf_magic_header[ELF_IDENT] = {
- /* 0x7f, 'E', 'L', 'F' */
- 0x7f, 0x45, 0x4c, 0x46,
- /* Only 32-bit objects */
- 0x01,
- /* Only LSB data. */
- 0x01,
- /* Only ELF version 1. */
- 0x01,
- 0x0,
- 0x0,
- 0x0,
- 0x0,
- 0x0,
- 0x0,
- 0x0,
- 0x0,
- 0x0
-};
-
-/**
- @brief - This API will copy the length of data from addr to *data
- @param - addr : address to be read
- data pointer : address to which data will be copied
- len : length of data to be copy in bytes
- @return - error status
-**/
-val_status_t val_mem_copy(addr_t addr, uint8_t *data, uint32_t len)
-{
- if (combine_test_binary_in_ram)
- {
- memcpy((void*)data, (void *)addr, len);
- return VAL_STATUS_SUCCESS;
- }
- else
- {
- return val_spi_read(addr, data, len);
- }
-}
-
-
-/**
- @brief - This function parses ELF header, entry address(test info addreess)
- and program headers. Copies the loadable segments to system memory.
- @return - Returns Success/Failure
-**/
-int val_copy_elf(uint32_t saddr, uint32_t *info_addr)
-{
- elf_header_t test_elfh;
- elf_pheader_t test_ph;
- int i;
-
- if (0 != val_mem_copy(saddr, (uint8_t *)&test_elfh, sizeof(elf_header_t)))
- {
- val_print(PRINT_ERROR, "Error: read failure for Test ELF header\n", 0);
- return -1;
- }
-
- /* validate ELF header */
- if (0 != memcmp(&test_elfh.e_ident, &elf_magic_header, ELF_IDENT))
- {
- val_print(PRINT_ERROR, "Fail: Test ELF header validation\n", 0);
- return -1;
- }
-
- for (i = 0; i < test_elfh.e_phnum; i++)
- {
- /* Read the program header */
- if (0 != val_mem_copy((saddr + test_elfh.e_phoff + (sizeof(elf_pheader_t)*i)),
- (uint8_t *)&test_ph, sizeof(elf_pheader_t)))
- {
- val_print(PRINT_ERROR, "Error: reading Test program header\n", 0);
- return -1;
- }
-
- /* Load the program to physical RAM */
- if (0 != val_mem_copy((saddr + test_ph.p_offset),
- (uint8_t *)test_ph.p_paddr, test_ph.p_filesz))
- {
- val_print(PRINT_ERROR, "Error: reading Test program header\n", 0);
- return -1;
- }
- }
-
- *info_addr = test_elfh.e_entry;
- return 0;
-}
-#endif
/**
@brief - This function reads the test ELFs from RAM or secondary storage and loads into
@@ -128,98 +36,6 @@
**/
val_status_t val_test_load(test_id_t *test_id, test_id_t test_id_prev)
{
-#if !defined(TEST_COMBINE_ARCHIVE)
- test_header_t test_header;
- addr_t flash_addr = combine_test_binary_addr;
-
- /*
- * The combined Test ELF binary:
- *
- * ----------------------
- * | Custom Test Header*|
- * |--------------------|
- * | Test-1 Image |
- * ----------------------
- * | Custom Test Header*|
- * ----------------------
- * | Test-2 Image |
- * |--------------------|
- * | Custom Test Header*|
- * :
- * :
- * ----------------------
- * | END Marker |
- * ----------------------
- *
- */
-
- if (test_id_prev != VAL_INVALID_TEST_ID)
- {
- /* Jump to last test run + 1 */
- do
- {
- if (val_mem_copy(flash_addr, (uint8_t *)&test_header, sizeof(test_header_t)))
- {
- val_print(PRINT_ERROR, "Error: reading Test program header\n", 0);
- return VAL_STATUS_LOAD_ERROR;
- }
-
- if (test_header.start_marker == VAL_TEST_END_MARKER)
- {
- val_print(PRINT_DEBUG, "\n\nNo more valid tests found. Exiting..", 0);
- *test_id = VAL_INVALID_TEST_ID;
- return VAL_STATUS_SUCCESS;
- }
-
- if (test_header.start_marker != VAL_TEST_START_MARKER)
- {
- flash_addr += 0x4;
- continue;
- }
-
- if ((test_header.start_marker == VAL_TEST_START_MARKER)
- && (test_header.test_id == test_id_prev))
- {
- flash_addr += (sizeof(test_header_t) + test_header.elf_size);
- break;
- }
-
- flash_addr += (sizeof(test_header_t) + test_header.elf_size);
- } while(1);
- }
-
- if (val_mem_copy(flash_addr, (uint8_t *)&test_header, sizeof(test_header_t)))
- {
- val_print(PRINT_ERROR, "\n\nError: reading custom Test header", 0);
- return VAL_STATUS_LOAD_ERROR;
- }
-
- if (test_header.start_marker == VAL_TEST_END_MARKER)
- {
- val_print(PRINT_DEBUG, "\n\nNo more valid tests found. Exiting.", 0);
- *test_id = VAL_INVALID_TEST_ID;
- return VAL_STATUS_SUCCESS;
- }
-
- if (test_header.start_marker != VAL_TEST_START_MARKER)
- {
- val_print(PRINT_ERROR, "\n\nError: No valid test binary found. Exiting.", 0);
- *test_id = VAL_INVALID_TEST_ID;
- return VAL_STATUS_LOAD_ERROR;
- }
-
- flash_addr += sizeof(test_header_t);
- if (val_copy_elf(flash_addr, &g_test_info_addr))
- {
- val_print(PRINT_ERROR, "Error: loading Test program\n", 0);
- return VAL_STATUS_LOAD_ERROR;
- }
-
- *test_id = test_header.test_id;
- return VAL_STATUS_SUCCESS;
-
-#else /* TEST_COMBINE_ARCHIVE */
-
int i;
val_test_info_t test_list[] = {
#include "test_entry_list.inc"
@@ -251,7 +67,6 @@
*test_id = VAL_INVALID_TEST_ID;
val_print(PRINT_ERROR, "\n\nError: No more valid tests found. Exiting.", 0);
return VAL_STATUS_LOAD_ERROR;
-#endif /* TEST_COMBINE_ARCHIVE */
}
/**
@@ -262,11 +77,7 @@
**/
val_status_t val_get_test_entry_addr(addr_t *paddr)
{
-#if !defined(TEST_COMBINE_ARCHIVE)
- *paddr = (addr_t)(((val_test_info_t *)g_test_info_addr)->entry_addr);
-#else
*paddr = g_test_info_addr;
-#endif
return VAL_STATUS_SUCCESS;
}
@@ -298,10 +109,8 @@
return "IPC Suite";
case VAL_CRYPTO_BASE:
return "Crypto Suite";
- case VAL_PROTECTED_STORAGE_BASE:
- return "Protected Storage Suite";
- case VAL_INTERNAL_TRUSTED_STORAGE_BASE:
- return "Internal Trusted Storage Suite";
+ case VAL_STORAGE_BASE:
+ return "Storage Suite";
case VAL_INITIAL_ATTESTATION_BASE:
return "Attestation Suite";
default:
@@ -320,23 +129,10 @@
test_id_t test_id;
val_status_t status;
- miscellaneous_desc_t *misc_desc;
boot_t boot;
test_count_t test_count;
uint32_t test_result;
- status = val_target_get_config(TARGET_CONFIG_CREATE_ID(GROUP_MISCELLANEOUS,
- MISCELLANEOUS_DUT, 0),
- (uint8_t **)&misc_desc,
- (uint32_t *)sizeof(miscellaneous_desc_t));
- if (VAL_ERROR(status))
- {
- val_print(PRINT_ERROR, "\n\ttarget config read failed", 0);
- return status;
- }
-
- combine_test_binary_addr = misc_desc->ns_start_addr_of_combine_test_binary;
- combine_test_binary_in_ram = misc_desc->combine_test_binary_in_ram;
do
{
status = val_get_boot_flag(&boot.state);
diff --git a/api-tests/val/nspe/val_framework.c b/api-tests/val/nspe/val_framework.c
index 322f166..2438912 100644
--- a/api-tests/val/nspe/val_framework.c
+++ b/api-tests/val/nspe/val_framework.c
@@ -1,5 +1,5 @@
/** @file
- * Copyright (c) 2018-2019, Arm Limited or its affiliates. All rights reserved.
+ * Copyright (c) 2018-2020, Arm Limited or its affiliates. All rights reserved.
* SPDX-License-Identifier : Apache-2.0
*
* Licensed under the Apache License, Version 2.0 (the "License");
@@ -28,6 +28,7 @@
/* globals */
test_status_buffer_t g_status_buffer;
+#ifdef IPC
/**
* @brief Connect to given sid
@param -sid : RoT service id
@@ -37,7 +38,7 @@
*/
val_status_t val_ipc_connect(uint32_t sid, uint32_t version, psa_handle_t *handle )
{
- *handle = pal_ipc_connect(sid, version);
+ *handle = psa_connect(sid, version);
if (*handle > 0)
return VAL_STATUS_SUCCESS;
@@ -66,7 +67,7 @@
{
psa_status_t call_status = PSA_SUCCESS;
- call_status = pal_ipc_call(handle, type, in_vec, in_len, out_vec, out_len);
+ call_status = psa_call(handle, type, in_vec, in_len, out_vec, out_len);
if (call_status != PSA_SUCCESS)
{
@@ -85,8 +86,10 @@
*/
void val_ipc_close(psa_handle_t handle)
{
- pal_ipc_close(handle);
+ psa_close(handle);
}
+#endif
+
/**
@brief - This function executes given list of tests from non-secure sequentially
This covers non-secure to secure IPC API scenario
@@ -95,17 +98,19 @@
@param - server_hs : Initiate a server handshake
@return - val_status_t
**/
-val_status_t val_execute_non_secure_tests(uint32_t test_num, client_test_t *tests_list,
+val_status_t val_execute_non_secure_tests(uint32_t test_num, const client_test_t *tests_list,
bool_t server_hs)
{
val_status_t status = VAL_STATUS_SUCCESS;
val_status_t test_status = VAL_STATUS_SUCCESS;
boot_t boot;
- psa_handle_t handle;
uint32_t i = 1;
+#ifdef IPC
+ psa_handle_t handle;
test_info_t test_info;
test_info.test_num = test_num;
+#endif
status = val_get_boot_flag(&boot.state);
if (VAL_ERROR(status))
@@ -142,7 +147,7 @@
if (i == 1)
val_print(PRINT_TEST,"[Info] Executing tests from non-secure\n", 0);
-
+#ifdef IPC
if (server_hs == TRUE)
{
/* Handshake with server tests */
@@ -160,16 +165,16 @@
val_print(PRINT_DEBUG, "[Check %d] START\n", i);
}
}
-
+#endif
/* Execute client tests */
test_status = tests_list[i](CALLER_NONSECURE);
-
+#ifdef IPC
if (server_hs == TRUE)
{
/* Retrive Server test status */
status = val_get_secure_test_result(&handle);
}
-
+#endif
status = test_status ? test_status:status;
if (IS_TEST_SKIP(status))
{
@@ -206,6 +211,8 @@
}
return status;
}
+
+#ifdef IPC
/**
@brief - This function is used to switch to client_partition.c
where client tests will be executed to cover secure to secure
@@ -296,19 +303,19 @@
val_status_t status = VAL_STATUS_SUCCESS;
psa_status_t status_of_call = PSA_SUCCESS;
- *handle = pal_ipc_connect(sid, 1);
+ *handle = psa_connect(sid, 1);
if (*handle > 0)
{
test_data = ((uint32_t)(test_info.test_num) |((uint32_t)(test_info.block_num) << BLOCK_NUM_POS)
| ((uint32_t)(TEST_EXECUTE_FUNC) << ACTION_POS));
psa_invec data[1] = {{&test_data, sizeof(test_data)}};
- status_of_call = pal_ipc_call(*handle, 0, data, 1, NULL, 0);
+ status_of_call = psa_call(*handle, 0, data, 1, NULL, 0);
if (status_of_call != PSA_SUCCESS)
{
status = VAL_STATUS_CALL_FAILED;
val_print(PRINT_ERROR, "Call to dispatch SF failed. Status=%x\n", status_of_call);
- pal_ipc_close(*handle);
+ psa_close(*handle);
}
}
else
@@ -337,17 +344,17 @@
psa_outvec resp = {&status, sizeof(status)};
psa_invec data[1] = {{&test_data, sizeof(test_data)}};
- status_of_call = pal_ipc_call(*handle, 0, data, 1, &resp, 1);
+ status_of_call = psa_call(*handle, 0, data, 1, &resp, 1);
if (status_of_call != PSA_SUCCESS)
{
status = VAL_STATUS_CALL_FAILED;
val_print(PRINT_ERROR, "Call to dispatch SF failed. Status=%x\n", status_of_call);
}
- pal_ipc_close(*handle);
+ psa_close(*handle);
return status;
}
-
+#endif
/**
@brief - Parses input status for a given test and
@@ -367,31 +374,31 @@
{
case TEST_START:
state = TEST_FAIL;
- val_print(PRINT_ALWAYS, "TEST RESULT: FAILED (Error Code=0x%x)\n",
+ val_print(PRINT_ALWAYS, "\nTEST RESULT: FAILED (Error Code=0x%x)\n",
VAL_STATUS_INIT_FAILED);
break;
case TEST_END:
state = TEST_PASS;
- val_print(PRINT_ALWAYS, "TEST RESULT: PASSED \n", 0);
+ val_print(PRINT_ALWAYS, "\nTEST RESULT: PASSED\n", 0);
break;
case TEST_FAIL:
- val_print(PRINT_ALWAYS, "TEST RESULT: FAILED (Error Code=0x%x) \n", status);
+ val_print(PRINT_ALWAYS, "\nTEST RESULT: FAILED (Error Code=0x%x)\n", status);
break;
case TEST_SKIP:
state = TEST_SKIP;
- val_print(PRINT_ALWAYS, "TEST RESULT: SKIPPED (Skip Code=0x%x)\n", status);
+ val_print(PRINT_ALWAYS, "\nTEST RESULT: SKIPPED (Skip Code=0x%x)\n", status);
break;
case TEST_PENDING:
- val_print(PRINT_ALWAYS, "TEST RESULT: SIM ERROR (Error Code=0x%x)\n", status);
+ val_print(PRINT_ALWAYS, "\nTEST RESULT: SIM ERROR (Error Code=0x%x)\n", status);
break;
default:
state = TEST_FAIL;
- val_print(PRINT_ALWAYS, "TEST RESULT: FAILED(Error Code=0x%x)\n", VAL_STATUS_INVALID);
+ val_print(PRINT_ALWAYS, "\nTEST RESULT: FAILED(Error Code=0x%x)\n", VAL_STATUS_INVALID);
break;
}
diff --git a/api-tests/val/nspe/val_framework.h b/api-tests/val/nspe/val_framework.h
index 7e13fb6..01b537b 100644
--- a/api-tests/val/nspe/val_framework.h
+++ b/api-tests/val/nspe/val_framework.h
@@ -1,5 +1,5 @@
/** @file
- * Copyright (c) 2018-2019, Arm Limited or its affiliates. All rights reserved.
+ * Copyright (c) 2018-2020, Arm Limited or its affiliates. All rights reserved.
* SPDX-License-Identifier : Apache-2.0
*
* Licensed under the Apache License, Version 2.0 (the "License");
@@ -32,7 +32,7 @@
void val_test_exit(void);
val_status_t val_get_last_run_test_id(test_id_t *test_id);
val_status_t val_execute_non_secure_tests(uint32_t test_num,
- client_test_t *tests_list,
+ const client_test_t *tests_list,
bool_t server_hs);
val_status_t val_switch_to_secure_client(uint32_t test_num);
val_status_t val_execute_secure_test_func(psa_handle_t *handle,
diff --git a/api-tests/val/nspe/val_interfaces.c b/api-tests/val/nspe/val_interfaces.c
index 719f4b0..ca7ba08 100644
--- a/api-tests/val/nspe/val_interfaces.c
+++ b/api-tests/val/nspe/val_interfaces.c
@@ -1,5 +1,5 @@
/** @file
- * Copyright (c) 2018-2019, Arm Limited or its affiliates. All rights reserved.
+ * Copyright (c) 2018-2020, Arm Limited or its affiliates. All rights reserved.
* SPDX-License-Identifier : Apache-2.0
*
* Licensed under the Apache License, Version 2.0 (the "License");
@@ -21,8 +21,7 @@
#include "val_peripherals.h"
#include "val_target.h"
#include "val_crypto.h"
-#include "val_internal_trusted_storage.h"
-#include "val_protected_storage.h"
+#include "val_storage.h"
#include "val_attestation.h"
/*VAL APIs to be used by test */
@@ -35,12 +34,21 @@
.err_check_set = val_err_check_set,
.target_get_config = val_target_get_config,
.execute_non_secure_tests = val_execute_non_secure_tests,
+#ifdef IPC
.switch_to_secure_client = val_switch_to_secure_client,
.execute_secure_test_func = val_execute_secure_test_func,
.get_secure_test_result = val_get_secure_test_result,
.ipc_connect = val_ipc_connect,
.ipc_call = val_ipc_call,
.ipc_close = val_ipc_close,
+#else
+ .switch_to_secure_client = NULL,
+ .execute_secure_test_func = NULL,
+ .get_secure_test_result = NULL,
+ .ipc_connect = NULL,
+ .ipc_call = NULL,
+ .ipc_close = NULL,
+#endif
.nvmem_read = val_nvmem_read,
.nvmem_write = val_nvmem_write,
.wd_timer_init = val_wd_timer_init,
@@ -50,15 +58,22 @@
.set_boot_flag = val_set_boot_flag,
.get_boot_flag = val_get_boot_flag,
.crypto_function = val_crypto_function,
- .its_function = val_its_function,
- .ps_function = val_ps_function,
+ .storage_function = val_storage_function,
.attestation_function = val_attestation_function,
};
const psa_api_t psa_api = {
- .framework_version = pal_ipc_framework_version,
- .version = pal_ipc_version,
- .connect = pal_ipc_connect,
- .call = pal_ipc_call,
- .close = pal_ipc_close,
+#ifdef IPC
+ .framework_version = psa_framework_version,
+ .version = psa_version,
+ .connect = psa_connect,
+ .call = psa_call,
+ .close = psa_close,
+#else
+ .framework_version = NULL,
+ .version = NULL,
+ .connect = NULL,
+ .call = NULL,
+ .close = NULL,
+#endif
};
diff --git a/api-tests/val/nspe/val_interfaces.h b/api-tests/val/nspe/val_interfaces.h
index 944d4b1..503769f 100644
--- a/api-tests/val/nspe/val_interfaces.h
+++ b/api-tests/val/nspe/val_interfaces.h
@@ -1,5 +1,5 @@
/** @file
- * Copyright (c) 2018-2019, Arm Limited or its affiliates. All rights reserved.
+ * Copyright (c) 2018-2020, Arm Limited or its affiliates. All rights reserved.
* SPDX-License-Identifier : Apache-2.0
*
* Licensed under the Apache License, Version 2.0 (the "License");
@@ -25,7 +25,7 @@
/* typedef's */
typedef struct {
val_status_t (*print) (print_verbosity_t verbosity,
- char *string, int32_t data);
+ const char *string, int32_t data);
val_status_t (*set_status) (uint32_t status);
uint32_t (*get_status) (void);
void (*test_init) (uint32_t test_num, char8_t *desc,
@@ -33,8 +33,9 @@
void (*test_exit) (void);
val_status_t (*err_check_set) (uint32_t checkpoint, val_status_t status);
val_status_t (*target_get_config) (cfg_id_t cfg_id, uint8_t **data, uint32_t *size);
- val_status_t (*execute_non_secure_tests) (uint32_t test_num, client_test_t *tests_list,
- bool_t server_hs);
+ val_status_t (*execute_non_secure_tests) (uint32_t test_num,
+ const client_test_t *tests_list,
+ bool_t server_hs);
val_status_t (*switch_to_secure_client) (uint32_t test_num);
val_status_t (*execute_secure_test_func) (psa_handle_t *handle, test_info_t test_info,
uint32_t sid);
@@ -57,8 +58,7 @@
val_status_t (*set_boot_flag) (boot_state_t state);
val_status_t (*get_boot_flag) (boot_state_t *state);
int32_t (*crypto_function) (int type, ...);
- uint32_t (*its_function) (int type, ...);
- uint32_t (*ps_function) (int type, ...);
+ int32_t (*storage_function) (int type, ...);
int32_t (*attestation_function) (int type, ...);
} val_api_t;
@@ -82,6 +82,40 @@
test_fptr_t entry_addr;
} val_test_info_t;
+typedef enum {
+ VAL_TEST_IDX0 = 0x0,
+ VAL_TEST_IDX1 = 0x1,
+ VAL_TEST_IDX2 = 0x2,
+ VAL_TEST_IDX3 = 0x3,
+ VAL_TEST_IDX4 = 0x4,
+ VAL_TEST_IDX5 = 0x5,
+ VAL_TEST_IDX6 = 0x6,
+ VAL_TEST_IDX7 = 0x7,
+ VAL_TEST_IDX8 = 0x8,
+ VAL_TEST_IDX9 = 0x9,
+ VAL_TEST_IDX10 = 0xA,
+ VAL_TEST_IDX11 = 0xB,
+ VAL_TEST_IDX12 = 0xC,
+ VAL_TEST_IDX13 = 0xD,
+ VAL_TEST_IDX14 = 0xE,
+ VAL_TEST_IDX15 = 0xF,
+ VAL_TEST_IDX16 = 0x10,
+ VAL_TEST_IDX17 = 0x11,
+ VAL_TEST_IDX18 = 0x12,
+ VAL_TEST_IDX19 = 0x13,
+ VAL_TEST_IDX20 = 0x14,
+ VAL_TEST_IDX21 = 0x15,
+ VAL_TEST_IDX22 = 0x16,
+ VAL_TEST_IDX23 = 0x17,
+ VAL_TEST_IDX24 = 0x18,
+ VAL_TEST_IDX25 = 0x19,
+ VAL_TEST_IDX26 = 0x1A,
+ VAL_TEST_IDX27 = 0x1B,
+ VAL_TEST_IDX28 = 0x1C,
+ VAL_TEST_IDX29 = 0x1D,
+ VAL_TEST_IDX30 = 0x1E,
+} val_test_index_t;
+
#include "test_entry_fn_declare_list.inc"
void test_entry(val_api_t *val, psa_api_t *psa);
diff --git a/api-tests/val/nspe/val_internal_trusted_storage.c b/api-tests/val/nspe/val_internal_trusted_storage.c
deleted file mode 100644
index 5c910fd..0000000
--- a/api-tests/val/nspe/val_internal_trusted_storage.c
+++ /dev/null
@@ -1,43 +0,0 @@
-/** @file
- * Copyright (c) 2019, Arm Limited or its affiliates. All rights reserved.
- * SPDX-License-Identifier : Apache-2.0
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
-**/
-
-#include "val_target.h"
-#include "pal_interfaces_ns.h"
-#include "val_framework.h"
-#include "val_client_defs.h"
-#include "val_internal_trusted_storage.h"
-
-/**
- @brief - This API will call the requested internal trusted storage function
- @param - type : function code
- ... : variable number of arguments
- @return - Error status
-**/
-uint32_t val_its_function(int type, ...)
-{
-#ifdef INTERNAL_TRUSTED_STORAGE
- va_list valist;
- uint32_t status;
-
- va_start(valist, type);
- status = pal_its_function(type, valist);
- va_end(valist);
- return status;
-#else
- return VAL_STATUS_ERROR;
-#endif
-}
diff --git a/api-tests/val/nspe/val_internal_trusted_storage.h b/api-tests/val/nspe/val_internal_trusted_storage.h
deleted file mode 100644
index 2f9384d..0000000
--- a/api-tests/val/nspe/val_internal_trusted_storage.h
+++ /dev/null
@@ -1,34 +0,0 @@
-/** @file
- * Copyright (c) 2019, Arm Limited or its affiliates. All rights reserved.
- * SPDX-License-Identifier : Apache-2.0
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
-**/
-
-#ifndef _VAL_INTERNAL_TRUSTED_STORAGE_H_
-#define _VAL_INTERNAL_TRUSTED_STORAGE_H_
-
-#include "val.h"
-
-#define UID_BASE_VALUE 0
-#define BYTES_TO_BITS(byte) (byte * 8)
-
-enum its_function_code {
- VAL_ITS_SET = 0x1,
- VAL_ITS_GET = 0x2,
- VAL_ITS_GET_INFO = 0x3,
- VAL_ITS_REMOVE = 0x4,
-};
-
-uint32_t val_its_function(int type, ...);
-#endif /* _VAL_INTERNAL_TRUSTED_STORAGE_H_ */
diff --git a/api-tests/val/nspe/val_peripherals.c b/api-tests/val/nspe/val_peripherals.c
index e7674f5..40388c1 100644
--- a/api-tests/val/nspe/val_peripherals.c
+++ b/api-tests/val/nspe/val_peripherals.c
@@ -1,5 +1,5 @@
/** @file
- * Copyright (c) 2018-2019, Arm Limited or its affiliates. All rights reserved.
+ * Copyright (c) 2018-2020, Arm Limited or its affiliates. All rights reserved.
* SPDX-License-Identifier : Apache-2.0
*
* Licensed under the Apache License, Version 2.0 (the "License");
@@ -56,7 +56,7 @@
- data : Value for format specifier
@return - val_status_t
**/
-val_status_t val_print(print_verbosity_t verbosity, char *string, int32_t data)
+val_status_t val_print(print_verbosity_t verbosity, const char *string, int32_t data)
{
if ((is_uart_init_done == 0) || (verbosity < VERBOSE))
{
@@ -65,18 +65,6 @@
return pal_print_ns(string, data);
}
-/**
- @brief - This API will read from slave address via SPI
- @param - addr : Slave address
- data : value read from Slave address
- len : length of data to be read in bytes
- @return - error status
-**/
-val_status_t val_spi_read(addr_t addr, uint8_t *data, uint32_t len)
-{
- return pal_spi_read(addr, data, len);
-}
-
/* Watchdog APIs */
/**
@brief - Initializes the WatchDog Timer instance. This is client interface API of
diff --git a/api-tests/val/nspe/val_peripherals.h b/api-tests/val/nspe/val_peripherals.h
index d1b7538..b90ef34 100644
--- a/api-tests/val/nspe/val_peripherals.h
+++ b/api-tests/val/nspe/val_peripherals.h
@@ -1,5 +1,5 @@
/** @file
- * Copyright (c) 2018-2019, Arm Limited or its affiliates. All rights reserved.
+ * Copyright (c) 2018-2020, Arm Limited or its affiliates. All rights reserved.
* SPDX-License-Identifier : Apache-2.0
*
* Licensed under the Apache License, Version 2.0 (the "License");
@@ -21,8 +21,7 @@
#include "val.h"
val_status_t val_uart_init(void);
-val_status_t val_print(print_verbosity_t verbosity, char *string, int32_t data);
-val_status_t val_spi_read(addr_t addr, uint8_t *data, uint32_t len);
+val_status_t val_print(print_verbosity_t verbosity, const char *string, int32_t data);
val_status_t val_nvmem_read(uint32_t offset, void *buffer, int size);
val_status_t val_nvmem_write(uint32_t offset, void *buffer, int size);
val_status_t val_wd_timer_init(wd_timeout_type_t timeout_type);
diff --git a/api-tests/val/nspe/val_protected_storage.c b/api-tests/val/nspe/val_protected_storage.c
deleted file mode 100644
index f3869de..0000000
--- a/api-tests/val/nspe/val_protected_storage.c
+++ /dev/null
@@ -1,43 +0,0 @@
-/** @file
- * Copyright (c) 2019, Arm Limited or its affiliates. All rights reserved.
- * SPDX-License-Identifier : Apache-2.0
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
-**/
-
-#include "val_target.h"
-#include "pal_interfaces_ns.h"
-#include "val_framework.h"
-#include "val_client_defs.h"
-#include "val_protected_storage.h"
-
-/**
- @brief - This API will call the requested protected storage function
- @param - type : function code
- ... : variable number of arguments
- @return - Error status
-**/
-uint32_t val_ps_function(int type, ...)
-{
-#ifdef PROTECTED_STORAGE
- va_list valist;
- uint32_t status;
-
- va_start(valist, type);
- status = pal_ps_function(type, valist);
- va_end(valist);
- return status;
-#else
- return VAL_STATUS_ERROR;
-#endif
-}
diff --git a/api-tests/val/nspe/val_protected_storage.h b/api-tests/val/nspe/val_protected_storage.h
deleted file mode 100644
index 7f05cea..0000000
--- a/api-tests/val/nspe/val_protected_storage.h
+++ /dev/null
@@ -1,37 +0,0 @@
-/** @file
- * Copyright (c) 2019, Arm Limited or its affiliates. All rights reserved.
- * SPDX-License-Identifier : Apache-2.0
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
-**/
-
-#ifndef _VAL_PROTECTED_STORAGE_H_
-#define _VAL_PROTECTED_STORAGE_H_
-
-#include "val.h"
-
-#define UID_BASE_VALUE 0
-#define BYTES_TO_BITS(byte) (byte * 8)
-
-enum ps_function_code {
- VAL_PS_SET = 0x1,
- VAL_PS_GET = 0x2,
- VAL_PS_GET_INFO = 0x3,
- VAL_PS_REMOVE = 0x4,
- VAL_PS_CREATE = 0x5,
- VAL_PS_SET_EXTENDED = 0x6,
- VAL_PS_GET_SUPPORT = 0x7,
-};
-
-uint32_t val_ps_function(int type, ...);
-#endif /* _VAL_PROTECTED_STORAGE_H_ */
diff --git a/api-tests/val/nspe/val_storage.c b/api-tests/val/nspe/val_storage.c
new file mode 100644
index 0000000..bc2cc2d
--- /dev/null
+++ b/api-tests/val/nspe/val_storage.c
@@ -0,0 +1,68 @@
+/** @file
+ * Copyright (c) 2020, Arm Limited or its affiliates. All rights reserved.
+ * SPDX-License-Identifier : Apache-2.0
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+**/
+
+#include "val_target.h"
+#include "pal_interfaces_ns.h"
+#include "val_framework.h"
+#include "val_client_defs.h"
+#include "val_peripherals.h"
+#include "val_storage.h"
+
+/**
+ @brief - This API will call the requested internal trusted storage function
+ @param - type : function code
+ ... : variable number of arguments
+ @return - Error status
+**/
+int32_t val_storage_function(int type, ...)
+{
+#if defined(STORAGE) || defined(INTERNAL_TRUSTED_STORAGE) || defined(PROTECTED_STORAGE)
+ va_list valist;
+ int32_t status;
+
+ va_start(valist, type);
+ switch (type)
+ {
+#if defined(STORAGE) || defined(INTERNAL_TRUSTED_STORAGE)
+ case VAL_ITS_SET:
+ case VAL_ITS_GET:
+ case VAL_ITS_GET_INFO:
+ case VAL_ITS_REMOVE:
+ status = pal_its_function(type, valist);
+ break;
+#endif
+#if defined(STORAGE) || defined(PROTECTED_STORAGE)
+ case VAL_PS_SET:
+ case VAL_PS_GET:
+ case VAL_PS_GET_INFO:
+ case VAL_PS_REMOVE:
+ case VAL_PS_CREATE:
+ case VAL_PS_SET_EXTENDED:
+ case VAL_PS_GET_SUPPORT:
+ status = pal_ps_function(type, valist);
+ break;
+#endif
+ default:
+ val_print(PRINT_ERROR, "\n\nError: Not a valid ITS or PS function code!", 0);
+ return VAL_STATUS_ERROR;
+ }
+ va_end(valist);
+ return status;
+#else
+ return VAL_STATUS_ERROR;
+#endif
+}
diff --git a/api-tests/val/nspe/val_storage.h b/api-tests/val/nspe/val_storage.h
new file mode 100644
index 0000000..f1f2be2
--- /dev/null
+++ b/api-tests/val/nspe/val_storage.h
@@ -0,0 +1,48 @@
+/** @file
+ * Copyright (c) 2020, Arm Limited or its affiliates. All rights reserved.
+ * SPDX-License-Identifier : Apache-2.0
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+**/
+
+#ifndef _VAL_STORAGE_H_
+#define _VAL_STORAGE_H_
+
+#include "val.h"
+
+#define UID_BASE_VALUE 0
+#define BYTES_TO_BITS(byte) (byte * 8)
+
+typedef enum {
+ VAL_ITS_SET = 0x1,
+ VAL_ITS_GET = 0x2,
+ VAL_ITS_GET_INFO = 0x3,
+ VAL_ITS_REMOVE = 0x4,
+ VAL_PS_SET = 0x5,
+ VAL_PS_GET = 0x6,
+ VAL_PS_GET_INFO = 0x7,
+ VAL_PS_REMOVE = 0x8,
+ VAL_PS_CREATE = 0x9,
+ VAL_PS_SET_EXTENDED = 0xA,
+ VAL_PS_GET_SUPPORT = 0xB,
+ VAL_API_UNUSED = 0xC,
+} storage_function_type_t;
+
+typedef enum {
+ VAL_ITS_FUNCTION = 0x0,
+ VAL_PS_FUNCTION = 0x1,
+} storage_function_code_t;
+
+int32_t val_storage_function(int type, ...);
+
+#endif /* _VAL_STORAGE_H_ */
diff --git a/api-tests/val/spe/pal_interfaces_s.h b/api-tests/val/spe/pal_interfaces_s.h
index 2ca9e28..19dc925 100644
--- a/api-tests/val/spe/pal_interfaces_s.h
+++ b/api-tests/val/spe/pal_interfaces_s.h
@@ -1,5 +1,5 @@
/** @file
- * Copyright (c) 2018-2019, Arm Limited or its affiliates. All rights reserved.
+ * Copyright (c) 2018-2020, Arm Limited or its affiliates. All rights reserved.
* SPDX-License-Identifier : Apache-2.0
*
* Licensed under the Apache License, Version 2.0 (the "License");
@@ -37,7 +37,7 @@
- data : Value for Format specifier
@return - void
*/
-void pal_print(char *str, int32_t data);
+void pal_print(const char *str, int32_t data);
/**
@brief - Initializes an hardware watchdog timer
diff --git a/api-tests/val/spe/val_driver_service_apis.c b/api-tests/val/spe/val_driver_service_apis.c
index 05b14fd..40638d1 100644
--- a/api-tests/val/spe/val_driver_service_apis.c
+++ b/api-tests/val/spe/val_driver_service_apis.c
@@ -1,5 +1,5 @@
/** @file
- * Copyright (c) 2018-2019, Arm Limited or its affiliates. All rights reserved.
+ * Copyright (c) 2018-2020, Arm Limited or its affiliates. All rights reserved.
* SPDX-License-Identifier : Apache-2.0
*
* Licensed under the Apache License, Version 2.0 (the "License");
@@ -42,7 +42,7 @@
- data : Value for Format specifier
@return - error status
*/
-val_status_t val_print_sf(char *string, int32_t data)
+val_status_t val_print_sf(const char *string, int32_t data)
{
if (is_uart_init_done == 1)
{
diff --git a/api-tests/val/spe/val_driver_service_apis.h b/api-tests/val/spe/val_driver_service_apis.h
index 251a065..69de030 100644
--- a/api-tests/val/spe/val_driver_service_apis.h
+++ b/api-tests/val/spe/val_driver_service_apis.h
@@ -1,5 +1,5 @@
/** @file
- * Copyright (c) 2018-2019, Arm Limited or its affiliates. All rights reserved.
+ * Copyright (c) 2018-2020, Arm Limited or its affiliates. All rights reserved.
* SPDX-License-Identifier : Apache-2.0
*
* Licensed under the Apache License, Version 2.0 (the "License");
@@ -26,7 +26,7 @@
#include "val_service_defs.h"
val_status_t val_uart_init_sf(addr_t uart_base_addr);
-val_status_t val_print_sf(char *string, int32_t data);
+val_status_t val_print_sf(const char *string, int32_t data);
val_status_t val_wd_timer_init_sf(addr_t base_addr, uint32_t time_us, uint32_t timer_tick_us);
val_status_t val_wd_timer_enable_sf(addr_t base_addr);
val_status_t val_wd_timer_disable_sf(addr_t base_addr);
diff --git a/api-tests/val/val_nspe.cmake b/api-tests/val/val_nspe.cmake
index 4494ed2..355ca68 100644
--- a/api-tests/val/val_nspe.cmake
+++ b/api-tests/val/val_nspe.cmake
@@ -1,5 +1,5 @@
#/** @file
-# * Copyright (c) 2019, Arm Limited or its affiliates. All rights reserved.
+# * Copyright (c) 2019-2020, Arm Limited or its affiliates. All rights reserved.
# * SPDX-License-Identifier : Apache-2.0
# *
# * Licensed under the Apache License, Version 2.0 (the "License");
@@ -24,9 +24,8 @@
${PSA_ROOT_DIR}/val/nspe/val_interfaces.c
${PSA_ROOT_DIR}/val/nspe/val_peripherals.c
${PSA_ROOT_DIR}/val/common/val_target.c
- ${PSA_ROOT_DIR}/val/nspe/val_protected_storage.c
- ${PSA_ROOT_DIR}/val/nspe/val_internal_trusted_storage.c
${PSA_ROOT_DIR}/val/nspe/val_attestation.c
+ ${PSA_ROOT_DIR}/val/nspe/val_storage.c
)
# Create VAL NSPE library
@@ -49,16 +48,12 @@
${PSA_ROOT_DIR}/val/common
${PSA_ROOT_DIR}/val/nspe
${PSA_ROOT_DIR}/val/spe
+ ${PSA_ROOT_DIR}/platform/targets/common/nspe
+ ${PSA_ROOT_DIR}/platform/targets/common/nspe/crypto
${PSA_ROOT_DIR}/platform/targets/${TARGET}/nspe
- ${PSA_ROOT_DIR}/platform/targets/${TARGET}/nspe/common
- ${PSA_ROOT_DIR}/platform/targets/${TARGET}/nspe/crypto
)
if(${WATCHDOG_AVAILABLE} EQUAL 1)
target_compile_definitions(${PSA_TARGET_VAL_NSPE_LIB} PRIVATE WATCHDOG_AVAILABLE)
endif()
-if(${TEST_COMBINE_ARCHIVE} EQUAL 1)
- target_compile_definitions(${PSA_TARGET_VAL_NSPE_LIB} PRIVATE TEST_COMBINE_ARCHIVE)
-endif()
target_compile_definitions(${PSA_TARGET_VAL_NSPE_LIB} PRIVATE VAL_NSPE_BUILD)
-target_compile_definitions(${PSA_TARGET_VAL_NSPE_LIB} PRIVATE TEST_COMBINE_ARCHIVE)
diff --git a/api-tests/val/val_spe.cmake b/api-tests/val/val_spe.cmake
index be1e550..37b8888 100644
--- a/api-tests/val/val_spe.cmake
+++ b/api-tests/val/val_spe.cmake
@@ -58,8 +58,8 @@
${PSA_ROOT_DIR}/val/common
${PSA_ROOT_DIR}/val/spe
${PSA_ROOT_DIR}/ff/partition
- ${PSA_ROOT_DIR}/platform/targets/${TARGET}/nspe/common
- ${PSA_ROOT_DIR}/platform/targets/${TARGET}/nspe/crypto
+ ${PSA_ROOT_DIR}/platform/targets/common/nspe
+ ${PSA_ROOT_DIR}/platform/targets/${TARGET}/nspe
)
# Include paths from platform for driver partition build
@@ -72,16 +72,16 @@
${PSA_ROOT_DIR}/val/common
${PSA_ROOT_DIR}/val/nspe
${PSA_ROOT_DIR}/val/spe
- ${PSA_ROOT_DIR}/platform/targets/${TARGET}/nspe/common
- ${PSA_ROOT_DIR}/platform/targets/${TARGET}/nspe/crypto
+ ${PSA_ROOT_DIR}/platform/targets/common/nspe
+ ${PSA_ROOT_DIR}/platform/targets/${TARGET}/nspe
${PSA_ROOT_DIR}/ff/partition
)
target_include_directories(${PSA_TARGET_SERVER_PARTITION_LIB} PRIVATE
${CMAKE_CURRENT_BINARY_DIR}
${PSA_ROOT_DIR}/val/common
${PSA_ROOT_DIR}/val/spe
- ${PSA_ROOT_DIR}/platform/targets/${TARGET}/nspe/common
- ${PSA_ROOT_DIR}/platform/targets/${TARGET}/nspe/crypto
+ ${PSA_ROOT_DIR}/platform/targets/common/nspe
+ ${PSA_ROOT_DIR}/platform/targets/${TARGET}/nspe
${PSA_ROOT_DIR}/ff/partition
)