Skip to content

Latest commit

 

History

History
130 lines (110 loc) · 6.58 KB

File metadata and controls

130 lines (110 loc) · 6.58 KB

Test case unverified document

This file contains list of tests that are unverified due to there is no platform available to validate the code.

Note The release is tested using following hashes of trusted-firmware-a and Hafnium repositories.

Example steps to run ff-a-acs tests on TF-A

mkdir -p work ; cd work

# Download and build ff-a-acs for tgt_tfa_fvp platform
git clone https://github.com/ARM-software/ff-a-acs.git
cd ff-a-acs ;
mkdir build ; cd build
cmake ../ -G"Unix Makefiles" -DCROSS_COMPILE=<path-to-aarch64-gcc>/bin/aarch64-none-elf- -DTARGET=tgt_tfa_fvp -DPLATFORM_NS_HYPERVISOR_PRESENT=0 -DPLATFORM_FFA_V_ALL=1 -DPLATFORM_SP_EL=<1|0> -DENABLE_BTI=ON
make
cd ../../

# Download and build Hafnium repository
git clone "https://review.trustedfirmware.org/hafnium/hafnium"
cd hafnium
setenv PATH $PWD/prebuilts/linux-x64/clang/bin:$PWD/prebuilts/linux-x64/dtc:<path-to-clang>:$PATH
git reset --hard 1978e7adcaa3880405b3196b7ff140fbfca1c76f
git submodule update --init
git fetch https://review.trustedfirmware.org/hafnium/hafnium refs/changes/25/29025/5 && git cherry-pick FETCH_HEAD
make PROJECT=reference PLATFORM=secure_aem_v8a_fvp_vhe
cd -

# Download trusted-firmware-a repository
git clone "https://review.trustedfirmware.org/TF-A/trusted-firmware-a"
cd trusted-firmware-a
git reset --hard f340f3d891b7184e1ab790955137d508b45a63cd

# Build trusted-firmware-a and integrate S-EL1 patitions software stack to run ff-a-acs
make SPD=spmd ARM_ARCH_MINOR=5 GIC_EXT_INTID=1 BRANCH_PROTECTION=1 ENABLE_FEAT_MTE2=1 CTX_INCLUDE_EL2_REGS=1 CTX_INCLUDE_PAUTH_REGS=1 PLAT=fvp BL33=<path to ff-a-acs>/build/output/vm1.bin DEBUG=1 BL32=<path to hafnium>/out/reference/secure_aem_v8a_fvp_vhe_clang/hafnium.bin all ARM_SPMC_MANIFEST_DTS=<path to ff-a-acs>/platform/manifest/tgt_tfa_fvp/fvp_spmc_manifest.dts ARM_BL2_SP_LIST_DTS=<path to trusted-firmware-a>/build/fvp/debug/sp_list_fragment.dts fip SP_LAYOUT_FILE=<path to ff-a-acs>/platform/manifest/tgt_tfa_fvp/sp_layout_v12.json CROSS_COMPILE=/path-to-aarch64-gcc>/bin/aarch64-none-elf-
cd -

# Build trusted-firmware-a and integrate S-EL1 patitions and EL3 LSP software stack to run ff-a-acs
make SPD=spmd ARM_ARCH_MINOR=5 GIC_EXT_INTID=1 ENABLE_SPMD_LP=1 BRANCH_PROTECTION=1 ENABLE_FEAT_MTE2=1 CTX_INCLUDE_EL2_REGS=1 CTX_INCLUDE_PAUTH_REGS=1 PLAT=fvp BL33=<path to ff-a-acs>/build/output/vm1.bin DEBUG=1 BL32=<path to hafnium>/out/reference/secure_aem_v8a_fvp_vhe_clang/hafnium.bin all ARM_SPMC_MANIFEST_DTS=<path to ff-a-acs>/platform/manifest/tgt_tfa_fvp/fvp_spmc_manifest.dts ARM_BL2_SP_LIST_DTS=<path to trusted-firmware-a>/build/fvp/debug/sp_list_fragment.dts fip SP_LAYOUT_FILE=<path to ff-a-acs>/platform/manifest/tgt_tfa_fvp/sp_layout_v12.json CROSS_COMPILE=/path-to-aarch64-gcc>/bin/aarch64-none-elf-
cd -

# Build trusted-firmware-a and integrate S-EL0 patitions software stack to run ff-a-acs
make SPD=spmd ARM_ARCH_MINOR=5 GIC_EXT_INTID=1 BRANCH_PROTECTION=1 ENABLE_FEAT_MTE2=1 CTX_INCLUDE_EL2_REGS=1 CTX_INCLUDE_PAUTH_REGS=1 PLAT=fvp BL33=<path to ff-a-acs>/build/output/vm1.bin DEBUG=1 BL32=<path to hafnium>/out/reference/secure_aem_v8a_fvp_vhe_clang/hafnium.bin all ARM_SPMC_MANIFEST_DTS=<path to ff-a-acs>/platform/manifest/tgt_tfa_fvp/fvp_spmc_manifest_el0.dts ARM_BL2_SP_LIST_DTS=<path to trusted-firmware-a>/build/fvp/debug/sp_list_fragment.dts fip SP_LAYOUT_FILE=<path to ff-a-acs>/platform/manifest/tgt_tfa_fvp/sp_layout_el0_v12.json CROSS_COMPILE=/path-to-aarch64-gcc>/bin/aarch64-none-elf-

# Run ff-a-acs tests on FVP Model
FVP_Base_RevC-2xAEMv8A -C pctl.startup=0.0.0.0 -C cluster0.NUM_CORES=4 -C cluster1.NUM_CORES=4 -C bp.secure_memory=1 -C bp.secureflashloader.fname=trusted-firmware-a/build/fvp/debug/bl1.bin -C bp.flashloader0.fname=trusted-firmware-a/build/fvp/debug/fip.bin -C bp.pl011_uart0.out_file=- -C bp.pl011_uart1.out_file=- -C bp.pl011_uart2.out_file=- -C cluster0.has_arm_v8-5=1 -C cluster1.has_arm_v8-5=1 -C cluster0.has_pointer_authentication=2 -C cluster1.has_pointer_authentication=2 -C cluster0.has_branch_target_exception=1 -C cluster1.has_branch_target_exception=1 -C cluster0.memory_tagging_support_level=2 -C cluster1.memory_tagging_support_level=2 -C bp.dram_metadata.is_enabled=1 -C pci.pci_smmuv3.mmu.SMMU_AIDR=2 -C pci.pci_smmuv3.mmu.SMMU_IDR0=0x0046123B -C pci.pci_smmuv3.mmu.SMMU_IDR1=0x00600002 -C pci.pci_smmuv3.mmu.SMMU_IDR3=0x1714 -C pci.pci_smmuv3.mmu.SMMU_IDR5=0xFFFF0472 -C pci.pci_smmuv3.mmu.SMMU_S_IDR1=0xA0000002 -C pci.pci_smmuv3.mmu.SMMU_S_IDR2=0 -C pci.pci_smmuv3.mmu.SMMU_S_IDR3=0 -C cluster0.gicv3.extended-interrupt-range-support=1 -C cluster1.gicv3.extended-interrupt-range-support=1 -C gic_distributor.extended-ppi-count=64 -C gic_distributor.extended-spi-count=1024 -C gic_distributor.ARE-fixed-to-one=1

List of skipped tests

  • ffa_direct_message_error
  • ffa_direct_message_error1
  • donate_lower_upper_boundary_32_vmvm
  • donate_lower_upper_boundary_64_vmvm
  • donate_mem_access_after_donate_32_vm
  • donate_mem_access_after_donate_64_vm
  • lend_lower_upper_boundary_32_vmvm
  • lend_lower_upper_boundary_64_vmvm
  • lend_mem_access_after_lend_32_vm
  • lend_mem_access_after_lend_64_vm
  • lend_retrieve_mem_access_32_vmvm
  • lend_retrieve_mem_access_32_vmsp
  • lend_retrieve_mem_access_64_vmvm
  • lend_retrieve_mem_access_64_vmsp
  • relinquish_mem_unmap_check_vmvm
  • share_lower_upper_boundary_32_vmvm
  • share_lower_upper_boundary_64_vmvm
  • share_ro_retrieve_rw_64_vmvm
  • share_ro_retrieve_rw_32_vmvm

List of unverified tests

  • lend_retrieve_with_address_range
  • share_retrieve_with_address_range
  • lend_cache_attr
  • lend_cache_attr1
  • lend_shareability_attr
  • lend_shareability_attr1
  • lend_shareability_attr2
  • lend_shareability_attr3
  • lend_device_attr
  • lend_device_attr1
  • lend_cache_attr
  • lend_cache_attr1
  • lend_shareability_attr
  • lend_shareability_attr1
  • lend_shareability_attr2
  • lend_shareability_attr3
  • lend_retrieve_input_checks10
  • lend_retrieve_input_checks7
  • share_sepid_multiple_borrowers
  • share_sepid_multiple_borrowers
  • share_cache_attr
  • share_shareability_attr
  • share_shareability_attr1
  • share_device_attr
  • share_device_attr1
  • lend_sepid
  • share_sepid
  • donate_sepid
  • share_retrieve_input_checks
  • donate_retrieve_input_checks5
  • donate_retrieve_align_hint_check
  • donate_retrieve_with_address_range
  • donate_input_error_checks1
  • mem_share_mmio
  • mem_donate_mmio
  • static_mapping_dma
  • vm_to_up_sp_preempt
  • vm_to_sp_managed_exit_4
  • other_secure_int2
  • other_secure_int7
  • sp_yield_spmc_mode
  • ffa_msg_send2_uuid_check
  • lend_multi_borrower_flag_check
  • ffa_console_log
  • ffa_run_direct_req

License

Arm FF-A ACS is distributed under BSD-3-Clause License.


Copyright (c) 2021-2024, Arm Limited or its affiliates. All rights reserved.