blob: 84ffab7dc2b4903c62e99d33ea2beaede68e07fd [file] [log] [blame]
<?xml version="1.0" encoding="utf-8"?>
<!--
Copyright (c) 2021-2024, Arm Limited. All rights reserved.
SPDX-License-Identifier: BSD-3-Clause
-->
<testsuites>
<testsuite name="Realm payload at EL1" description="Test Realm EL1 framework capabilities" >
<testcase name="Realm Planes execution test with multiple RTTs"
function="host_test_realm_create_planes_enter_multiple_rtt" />
<testcase name="Realm Planes execution test with S2POE/single RTT"
function="host_test_realm_create_planes_enter_single_rtt" />
<testcase name="Realm Planes register read/write test"
function="host_test_realm_create_planes_register_rw" />
<testcase name="Realm EL1 creation and execution test"
function="host_test_realm_create_enter" />
<testcase name="Realm RTT fold unfold test Unassigned Empty"
function="host_test_rtt_fold_unfold_unassigned_empty" />
<testcase name="Realm RTT fold unfold test Unassigned RAM"
function="host_test_rtt_fold_unfold_unassigned_ram" />
<testcase name="Realm RTT fold unfold test Assigned Empty"
function="host_test_rtt_fold_unfold_assigned_empty" />
<testcase name="Realm RTT fold unfold test Assigned RAM"
function="host_test_rtt_fold_unfold_assigned_ram" />
<testcase name="Realm RTT fold unfold test Assigned NS"
function="host_test_rtt_fold_unfold_assigned_ns" />
<testcase name="Multiple Realm EL1 creation and execution test"
function="host_test_multiple_realm_create_enter" />
<testcase name="Realm payload multi rec multiple cpu"
function="host_realm_multi_rec_multiple_cpu" />
<testcase name="Realm payload multi rec validations"
function="host_realm_multi_rec_multiple_cpu2" />
<testcase name="New Realm PAS Validation"
function="host_realm_pas_validation_new" />
<testcase name="Active Realm PAS validation"
function="host_realm_pas_validation_active" />
<testcase name="Realm SEA Empty"
function="host_realm_sea_empty" />
<testcase name="Realm SEA Unprotected"
function="host_realm_sea_unprotected" />
<testcase name="Realm SEA Adr Fault"
function="host_realm_sea_adr_fault" />
<testcase name="Realm Abort Unassigned RAM"
function="host_realm_abort_unassigned_ram" />
<testcase name="Realm Abort Unassigned Destroyed"
function="host_realm_abort_unassigned_destroyed" />
<testcase name="Realm Abort Assigned destroyed"
function="host_realm_abort_assigned_destroyed" />
<testcase name="Realm payload multi rec single cpu"
function="host_realm_multi_rec_single_cpu" />
<testcase name="Realm payload multi rec psci denied"
function="host_realm_multi_rec_psci_denied" />
<testcase name="Realm payload multi rec force exit on NS IRQ"
function="host_realm_multi_rec_exit_irq" />
<testcase name="Realm EL1 creation and RSI version"
function="host_test_realm_rsi_version" />
<testcase name="Realm payload boot"
function="host_realm_version_single_cpu" />
<testcase name="Realm payload multi CPU request"
function="host_realm_version_multi_cpu" />
<testcase name="Realm payload Delegate and Undelegate"
function="host_realm_delegate_undelegate" />
<testcase name="Multi CPU Realm payload Delegate and Undelegate"
function="host_realm_delundel_multi_cpu" />
<testcase name="Testing delegation fails"
function="host_realm_fail_del" />
<testcase name="PMUv3 cycle counter functional in Realm"
function="host_realm_pmuv3_cycle_works" />
<testcase name="PMUv3 event counter functional in Realm"
function="host_realm_pmuv3_event_works" />
<testcase name="PMUv3 RSI SMC counter preservation"
function="host_realm_pmuv3_rmm_preserves" />
<testcase name="PMUv3 cycle counter overflow interrupt"
function="host_realm_pmuv3_cycle_overflow_interrupt" />
<testcase name="PMUv3 event counter overflow interrupt"
function="host_realm_pmuv3_event_overflow_interrupt" />
<testcase name="PMUv3 multiple rec validations"
function="host_realm_pmuv3_mul_rec" />
<testcase name="Test Secure interrupt can preempt Realm EL1"
function="host_realm_sec_interrupt_can_preempt_rl" />
<testcase name="Realm request set_ripas"
function="host_realm_set_ripas" />
<testcase name="Realm reject set_ripas"
function="host_realm_reject_set_ripas" />
<testcase name="Realm FEAT_DoubleFault2"
function="host_test_feat_doublefault2" />
<!-- Test case related to SVE support and SIMD state -->
<testcase name="Check RMI reports proper SVE VL"
function="host_check_rmi_reports_proper_sve_vl" />
<testcase name="Create SVE Realm with invalid VL"
function="host_sve_realm_test_invalid_vl" />
<testcase name="Create SVE Realm and test ID registers"
function="host_sve_realm_cmd_id_registers" />
<testcase name="Create non SVE Realm and test ID registers"
function="host_non_sve_realm_cmd_id_registers" />
<testcase name="Create SVE Realm and check rdvl result"
function="host_sve_realm_cmd_rdvl" />
<testcase name="Create SVE Realm and probe all supported VLs"
function="host_sve_realm_cmd_probe_vl" />
<testcase name="Check whether RMM preserves NS ZCR_EL2 register"
function="host_sve_realm_check_config_register" />
<testcase name="Intermittently switch to Realm while doing NS SVE ops"
function="host_sve_realm_check_vectors_operations" />
<testcase name="Check if RMM does not leak Realm SVE vector registers"
function="host_sve_realm_check_vectors_leaked" />
<testcase name="Check if Realm gets undefined abort if it access SVE"
function="host_non_sve_realm_check_undef_abort" />
<testcase name="Check various SIMD state preserved across NS/RL/S switch"
function="host_realm_swd_check_simd" />
<!-- Test Realm for SME -->
<testcase name="Create Realm and test SME ID registers"
function="host_realm_check_sme_id_registers" />
<testcase name="Check if Realm gets undefined abort when it access SME"
function="host_realm_check_sme_undef_abort" />
<testcase name="Check whether RMM preserves NS SME configurations"
function="host_realm_check_sme_configs" />
<testcase name="Intermittently switch to Realm while NS doing SSVE ops"
function="host_sve_realm_check_streaming_vectors_operations" />
<!-- Test case related to PAuth -->
<testcase name="Check if PAuth keys are preserved in RL/SE/NS"
function="host_realm_enable_pauth" />
<testcase name="Generate PAuth Fault by overwriting LR"
function="host_realm_pauth_fault" />
<testcase name="Check if DIT Bit is preserved in RL/NS"
function="host_realm_enable_dit" />
<!-- Test case related to FEAT_LPA2 -->
<testcase name="Test realm creation with no FEAT_LPA2 and -1 RTT starting level"
function="host_test_realm_no_lpa2_invalid_sl" />
<testcase name="Test realm creation with no FEAT_LPA2 and S2SZ > 48 bits"
function="host_test_realm_no_lpa2_invalid_s2sz" />
<testcase name="Test Realm creation with LPA2 disabled but FEAT_LPA2 present on platform"
function="host_test_non_lpa2_realm_on_lpa2plat" />
<testcase name="Test Data bound with LPA2 disabled but FEAT_LPA2 present on platform"
function="host_test_data_bound_non_lpa2_realm_on_lpa2plat" />
<testcase name="Test Realm creation with LPA2 enabled but FEAT_LPA2 absent on platform"
function="host_test_lpa2_realm_on_non_lpa2plat" />
<!-- Test cases related to Attestation -->
<testcase name="Test realm attestation" function="host_realm_test_attestation" />
<testcase name="Test realm attestation fault"
function="host_realm_test_attestation_fault" />
<!-- Test case related to PCIE-DOE -->
<testcase name="PCI DOE Discovery"
function="doe_discovery_test" />
<testcase name="SPDM Get Version"
function="spdm_version_test" />
<!-- Invoke RMI calls related to PDEV management -->
<testcase name="Invoke RMI PDEV calls "
function="host_test_rmi_pdev_calls" />
<!-- Test cases related to FEAT_MPAM -->
<testcase name="Test that FEAT_MPAM is hidden to the Realm"
function="host_realm_hide_feat_mpam" />
<testcase name="Test that access to FEAT_MPAM from Realm causes an undef abort taken to the Realm"
function="host_realm_mpam_undef_abort" />
<!-- Test case related to FEAT_BRBE -->
<testcase name="Test if BRBE realted registers are preserved "
function="host_realm_test_brbe_save_restore" />
</testsuite>
</testsuites>