TEE-IO Device Validation Utility Usage
May 16, 2025 ยท View on GitHub
Usage
# note: teeio_validator shall be run with root privilege
teeio_validator version 0.3.0
Usage:
teeio_validator -f ide_test.ini
teeio_validator -f ide_test.ini -t 1 -c 1 -s Test.IdeStream
Options:
-f <ide_test.ini> : The file name of test configuration. For example ide_test.ini
-t <top_id> : topology id which is to be tested. For example 1
-c <config_id> : configuration id which is to be tested. For example 1
-s <test_case> : Test case to be tested. For example Test.IdeStream
-l <debug_level> : Set debug level. error/warn/info/verbose
-b <scan_bus> : Bus number in hex format. For example 0x1a
-e <test_interval> : test interval of 2 rounds.
-n <test_rounds> : test rounds of a case.
-k : Use fixed IDE Key for debug purpose.
-h : Display this usage
Note: There 2 usage modes - Pre-defined TestSuite mode and Tester designate mode.
- Pre-defined TestSuite mode: teeio_validator automatically scan ide_test.ini and run all TestSuite_x sections.
- Tester designate mode: teeio_validator designate test topology/configuration/case from command line.
Check how TEEIO Device is connected
Before running teeio-validator, use below command to check how the device is connected to host (For example device's BDF is da:00.0).
# lspci -PP -s da:00.0
d9:02.0/da:00.0 Non-Volatile memory controller: XXXX Vendor's Device
From above output, the host BDF is d9:02.0, the device BDF is da:00.0. These information will be used when preparing the test .ini file.
Run PCIE-IDE Stream cases
Step1 Prepare the pcie_ide.ini.
Refer to ide_test_ini.md for detailed description of .ini file. Here is a sample pcie_ide.ini.
Note: The bus in [Topology_1] shall be replaced by the bus of host BDF(0xd9). The rootport_1 and endpoint_1 in [Ports] shall be replaced by the dev/func of host BDF and device BDF respectively. Refer to Check how TEEIO Device is connected
Step2 Run test case
# Setup PCIE-IDE Stream
./teeio_validator -f pcie_ide.ini -c 1 -t 1 -s Test.IdeStream
# Run PCIE-IDE KeyRefresh
./teeio_validator -f pcie_ide.ini -c 1 -t 1 -s Test.KeyRefresh
# Run cases in [TestSuite_1] in pcie_ide.ini.
./teeio_validator -f pcie_ide.ini
Run CXL-IDE Stream cases
Step1 Prepare the cxl_ide.ini.
Refer to ide_test_ini.md for detailed description of .ini file. Here is a sample cxl_ide.ini.
Note: The bus in [Topology_1] shall be replaced by the bus of host BDF(0xd9). The rootport_1 and endpoint_1 in [Ports] shall be replaced by the dev/func of host BDF and device BDF respectively. Refer to Check how TEEIO Device is connected
Step2 Run test case
# Setup CXL-IDE Stream
./teeio_validator -f cxl_ide.ini -c 1 -t 1 -s Test.IdeStream
# Run CXL-IDE KeyRefresh
./teeio_validator -f cxl_ide.ini -c 1 -t 1 -s Test.KeyRefresh
# Run cases in [TestSuite_1] in cxl_ide.ini.
./teeio_validator -f cxl_ide.ini
Run SPDM test cases
Step1 Prepare the spdm_test.ini.
Refer to ide_test_ini.md for detailed description of .ini file. Here is a sample spdm_test.ini.
Note: The bus in [Topology_1] shall be replaced by the bus of host BDF(0xd9). The rootport_1 and endpoint_1 in [Ports] shall be replaced by the dev/func of host BDF and device BDF respectively. Refer to Check how TEEIO Device is connected
Step2 Run test case
# Run cases in [TestSuite_1] in spdm_test.ini.
./teeio_validator -f spdm_test.ini
Run TDISP test cases
Step1 Prepare the tdisp_test.ini.
Refer to ide_test_ini.md for detailed description of .ini file. Here is a sample tdisp_test.ini.
Note: The bus in [Topology_1] shall be replaced by the bus of host BDF(0xd9). The rootport_1 and endpoint_1 in [Ports] shall be replaced by the dev/func of host BDF and device BDF respectively. Refer to Check how TEEIO Device is connected
Step2 Run test case
# Run cases in [TestSuite_1] in tdisp_test.ini.
./teeio_validator -f tdisp_test.ini