v0.9 PSA APIs test suite update

This release includes the following major enhancements:

1. Enhanced Crypto and IPC suites for new tests
2. Added TFM-MUSCA_B support
3. Bug fixes, feature enhancement and documentation update
diff --git a/api-tests/val/common/val.h b/api-tests/val/common/val.h
index b3dbcd5..2af2858 100644
--- a/api-tests/val/common/val.h
+++ b/api-tests/val/common/val.h
@@ -178,12 +178,18 @@
 } test_isolation_level_t;
 
 typedef enum {
-    BOOT_UNKNOWN               = 0x1,
-    BOOT_NOT_EXPECTED          = 0x2,
-    BOOT_EXPECTED_NS           = 0x3,
-    BOOT_EXPECTED_S            = 0x4,
-    BOOT_EXPECTED_BUT_FAILED   = 0x5,
-    BOOT_EXPECTED_CRYPTO       = 0x6,
+    /* VAL uses this boot flag to mark first time boot of the system  */
+    BOOT_UNKNOWN                       = 0x1,
+    /* VAL/Test uses this boot flag to catch any unwanted system reboot - SIM ERROR Cases*/
+    BOOT_NOT_EXPECTED                  = 0x2,
+    /* Test performs panic check for non-secure test run and expect reboot */
+    BOOT_EXPECTED_NS                   = 0x3,
+    /* Test performs panic check for secure test run and expect reboot */
+    BOOT_EXPECTED_S                    = 0x4,
+    /* Test expected reboot but it didn't happen */
+    BOOT_EXPECTED_BUT_FAILED           = 0x5,
+    /* Test expect reboot for secure/non-secure test run. If reboot happens, re-enter same test */
+    BOOT_EXPECTED_REENTER_TEST         = 0x6,
 } boot_state_t;
 
 typedef enum {
@@ -224,6 +230,7 @@
   VAL_STATUS_INIT_ALREADY_DONE           = 0x29,
   VAL_STATUS_HEAP_NOT_AVAILABLE          = 0x2A,
   VAL_STATUS_UNSUPPORTED                 = 0x2B,
+  VAL_STATUS_DRIVER_FN_FAILED            = 0x2C,
   VAL_STATUS_ERROR_MAX                   = INT_MAX,
 } val_status_t;
 
@@ -237,13 +244,21 @@
     PRINT_ALWAYS  = 9
 } print_verbosity_t;
 
-/* Interrupt test function id enums */
+/* Driver test function id enums */
 typedef enum {
     TEST_PSA_EOI_WITH_NON_INTR_SIGNAL    = 1,
     TEST_PSA_EOI_WITH_MULTIPLE_SIGNALS   = 2,
     TEST_PSA_EOI_WITH_UNASSERTED_SIGNAL  = 3,
     TEST_INTR_SERVICE                    = 4,
-} test_intr_fn_id_t;
+    TEST_ISOLATION_PSA_ROT_DATA_RD       = 5,
+    TEST_ISOLATION_PSA_ROT_DATA_WR       = 6,
+    TEST_ISOLATION_PSA_ROT_STACK_RD      = 7,
+    TEST_ISOLATION_PSA_ROT_STACK_WR      = 8,
+    TEST_ISOLATION_PSA_ROT_HEAP_RD       = 9,
+    TEST_ISOLATION_PSA_ROT_HEAP_WR       = 10,
+    TEST_ISOLATION_PSA_ROT_MMIO_RD       = 11,
+    TEST_ISOLATION_PSA_ROT_MMIO_WR       = 12,
+} driver_test_fn_id_t;
 
 /* typedef's */
 typedef struct {
diff --git a/api-tests/val/common/val_target.c b/api-tests/val/common/val_target.c
index ae3c2f4..3564c7d 100644
--- a/api-tests/val/common/val_target.c
+++ b/api-tests/val/common/val_target.c
@@ -18,7 +18,8 @@
 #include "val_target.h"
 #include "target_database.h"
 
-#ifdef USE_RAW_PRINT_FOR_DRIVER_PARTITION
+/* Use raw print for driver partition */
+#ifdef DRIVER_PARTITION_INCLUDE
 #define val_print(x, y, z)                        \
        do {                                       \
            if (x >= VERBOSE)                      \
@@ -26,7 +27,7 @@
        } while(0)
 #else
 __UNUSED STATIC_DECLARE val_status_t val_print
-                        (print_verbosity_t verbosity, char *string, uint32_t data);
+                        (print_verbosity_t verbosity, char *string, int32_t data);
 #endif
 
 /**
@@ -52,7 +53,7 @@
         /* Sanity check signature and version here */
        if ((hdr->version != 1) || (hdr->size == 0))
        {
-            val_print(PRINT_ERROR, "Target config database Error. \n", 0);
+            val_print(PRINT_ERROR, "\tTarget config database Error. \n", 0);
             return VAL_STATUS_ERROR;
         }
         hdr++;
@@ -82,7 +83,7 @@
     val_status_t    status;
     void            *config_blob = NULL;
 
-    val_print(PRINT_INFO, "Input id is %x \n", cfg_id);
+    val_print(PRINT_INFO, "\tInput id is %x \n", cfg_id);
     do
     {
 
@@ -138,7 +139,7 @@
 
     if ((cfg_id < TARGET_MIN_CFG_ID) || (cfg_id > TARGET_MAX_CFG_ID))
     {
-        val_print(PRINT_ERROR, "Invalid Target data config ID = %x \n", cfg_id);
+        val_print(PRINT_ERROR, "\tInvalid Target data config ID = %x \n", cfg_id);
         return VAL_STATUS_INSUFFICIENT_SIZE;
     }
 
@@ -146,8 +147,8 @@
 
     if (VAL_ERROR(status))
     {
-        val_print(PRINT_ERROR, "\n        Get Config failed with status = %x", status);
-        val_print(PRINT_ERROR, " for cfg_id = %x", cfg_id);
+        val_print(PRINT_ERROR, "\tGet Config failed with status = %x", status);
+        val_print(PRINT_ERROR, " for cfg_id = %x\n", cfg_id);
         return status;
     }
     return VAL_STATUS_SUCCESS;
diff --git a/api-tests/val/common/val_target.h b/api-tests/val/common/val_target.h
index c32f0a5..c8b1466 100644
--- a/api-tests/val/common/val_target.h
+++ b/api-tests/val/common/val_target.h
@@ -64,7 +64,7 @@
 typedef enum _MEMORY_CONFIG_ID_ {
   MEMORY_NVMEM                    = 0x2,
   MEMORY_NSPE_MMIO                = 0x3,
-  MEMORY_CLIENT_PARTITION_MMIO    = 0x4,
+  MEMORY_SERVER_PARTITION_MMIO    = 0x4,
   MEMORY_DRIVER_PARTITION_MMIO    = 0x5,
 } memory_cfg_id_t;
 
@@ -82,7 +82,7 @@
   WATCHDOG                 = GROUP_SOC_PERIPHERAL,
   NVMEM                    = GROUP_MEMORY,
   NSPE_MMIO                = GROUP_MEMORY,
-  CLIENT_PARTITION_MMIO    = GROUP_MEMORY,
+  SERVER_PARTITION_MMIO    = GROUP_MEMORY,
   DRIVER_PARTITION_MMIO    = GROUP_MEMORY,
   BOOT                     = GROUP_MISCELLANEOUS,
   DUT                      = GROUP_MISCELLANEOUS,
@@ -195,11 +195,15 @@
     addr_t                  ns_start_addr_of_combine_test_binary;
     is_available_t          combine_test_binary_in_ram;
     addr_t                  ns_test_addr;
+    is_available_t          sp_heap_mem_supp;
 } 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);
 STATIC_DECLARE val_status_t val_target_cfg_get_next(void **blob);
-STATIC_DECLARE val_status_t val_target_get_cfg_blob(cfg_id_t cfg_id, uint8_t **data, uint32_t *size);
+STATIC_DECLARE val_status_t val_target_get_cfg_blob(cfg_id_t cfg_id, uint8_t **data,
+                                                    uint32_t *size);
 STATIC_DECLARE val_status_t val_target_get_config(cfg_id_t cfg_id, uint8_t **data, uint32_t *size);
 #endif
+#endif