<?xml version="1.0" encoding="utf-8"?>

<!--
  Copyright (c) 2024, Arm Limited. All rights reserved.

  SPDX-License-Identifier: BSD-3-Clause
-->

<testsuites>

  <testsuite name="FF-A Memory Sharing (RME)"
             description="Test FF-A Memory Sharing ABIs" >
     <testcase name="Lend Memory to Secure World"
               function="test_mem_lend_sp" />
     <testcase name="Lend memory, clear flag set"
               function="test_mem_share_to_sp_clear_memory"/>
     <testcase name="Share Memory with Secure World"
               function="test_mem_share_sp" />
     <testcase name="Donate Memory to Secure World"
               function="test_mem_donate_sp"/>
      <testcase name="Lend Device Memory to Secure World"
	        function="test_ffa_mem_lend_device_memory_sp" />
     <testcase name="Request Share Memory SP-to-SP"
               function="test_req_mem_share_sp_to_sp" />
     <testcase name="Request Lend Memory SP-to-SP"
               function="test_req_mem_lend_sp_to_sp" />
     <testcase name="Request Donate Memory SP-to-SP"
               function="test_req_mem_donate_sp_to_sp" />
     <testcase name="Request Share NS Memory (large PA) SP-to-SP"
               function="test_req_ns_mem_share_sp_to_sp" />
     <testcase name="Request Share Memory SP-to-VM"
               function="test_req_mem_share_sp_to_vm" />
     <testcase name="Request Lend Memory SP-to-VM"
               function="test_req_mem_lend_sp_to_vm" />
     <testcase name="Share forbidden memory with SP"
               function="test_share_forbidden_ranges" />
     <testcase name="Donate consecutively"
               function="test_consecutive_donate" />
  </testsuite>

  <testsuite name="Invalid memory access" description="Invalid memory access">
      <testcase name="Access EL3 memory from NS world"
                function="el3_memory_cannot_be_accessed_in_ns" />
      <testcase name="Access Secure memory from NS world"
                function="s_memory_cannot_be_accessed_in_ns" />
  </testsuite>

  <testsuite name="SP exceptions"
             description="SP exceptions" >
     <testcase name="Access from a SP to a Realm region"
               function="rl_memory_cannot_be_accessed_in_s" />
  </testsuite>

  <testsuite name="Invalid memory access with RME extension"
    description="Invalid memory access with RME extension">
      <testcase name="Access Realm memory from NS world"
                function="rl_memory_cannot_be_accessed_in_ns" />
      <testcase name="Access Secure memory from Realm world"
                function="s_memory_cannot_be_accessed_in_rl" />
      <testcase name="Access Root memory from Realm world"
                function="rt_memory_cannot_be_accessed_in_rl" />
      <testcase name="Share memory to an SP from a Root region"
                function="rt_memory_cannot_be_accessed_in_s" />
      <testcase name="FF-A memory share fails if using realm memory"
                function="test_ffa_mem_send_sp_realm_memory" />
      <testcase name="FF-A memory share fail realm memory other constituent"
                function="test_ffa_mem_lend_sp_realm_memory_separate_constituent" />
      <testcase name="FF-A partition info get after NWd RX is in realm PAS"
                function="test_ffa_rxtx_to_realm_pas" />
      <testcase name="FF-A Indirect message fails if VM RX is realm"
                function="test_ffa_indirect_message_sp_to_vm_rx_realm_fail" />
      <testcase name="FF-A Indirect message fails if VM TX is realm"
                function="test_ffa_indirect_message_vm_to_sp_tx_realm_fail" />
      <testcase name="FF-A Memory Sharing, NWd TX buffer is in realm PAS"
                function="test_ffa_mem_share_tx_realm_expect_fail" />
      <testcase name="FF-A Memory Retrieve, NWd RX buffer is in realm PAS"
                function="test_ffa_memory_retrieve_request_fail_rx_realm" />
      <testcase name="FF-A Memory Retrieve, NWd TX buffer is in realm PAS"
                function="test_ffa_memory_retrieve_request_fail_tx_realm" />
      <testcase name="FF-A Hypervisor Retrieve, NWd RX buffer is in realm PAS"
                function="test_ffa_hypervisor_retrieve_request_fail_rx_realm" />
      <testcase name="FF-A Hypervisor Retrieve, NWd TX buffer is in realm PAS"
                function="test_ffa_hypervisor_retrieve_request_fail_tx_realm" />
      <testcase name="FF-A Memory Relinquish, NWd TX buffer is in realm PAS"
                function="test_ffa_memory_relinquish_fail_tx_realm" />
      <testcase name="FF-A Memory Frag Tx, NWd TX buffer is in realm PAS"
                function="test_ffa_memory_share_fragmented_tx_realm" />
      <testcase name="FF-A Memory Frag Rx, NWd RX buffer is in realm PAS"
                function="test_ffa_memory_share_fragmented_rx_realm" />
  </testsuite>

</testsuites>
