Skip to content

Latest commit

 

History

History
239 lines (214 loc) · 14.8 KB

ide_test_ini.md

File metadata and controls

239 lines (214 loc) · 14.8 KB

ide_test.ini spec

TEE-IO Device Validation Utility reads ide_test.ini to get the information, such as root port dev/func, endpoint dev/func, topology, etc. Its structure refers to IdeKmTestCase, IdeKmTestConfiguration and IdeKmTestTopology

There are 6 sections in the ide_test.ini.

  1. Main
  2. Ports
  3. Switch_x (x is in [1,16])
  4. Topology_x (x is in [1,16])
  5. Configuration_x (x is in [1,32])
  6. TestSuite_x (x is in [1,32])

Format

[SectionName]
EntryName=EntryValue

    Where:
      1) SectionName is an ASCII string. The valid format is [A-Za-z0-9_]+
      2) EntryName is an ASCII string. The valid format is [A-Za-z0-9_]+
      3) EntryValue can be:
         3.1) an ASCII String. The valid format is [A-Za-z0-9_.,:]+
         3.2) a GUID. The valid format is xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx, where x is [A-Fa-f0-9]
         3.3) a decimal value. The valid format is [0-9]+
         3.4) a hexadecimal value. The valid format is 0x[A-Fa-f0-9]+
      4) '#' or ';' can be used as comment at anywhere.
      5) TAB(0x20) or SPACE(0x9) can be used as separator.
      6) LF(\n, 0xA) or CR(\r, 0xD) can be used as line break.

Descriptions of sections

[Main]

Entry Value Default Mandatory Comment
pci_log 0/1 0 O enable pci log if 1
libspdm_log 0/1 0 O enable libspdm log if 1
debug_level verbose/info/warn/error warn O debug level
pcap_enable 0/1 0 O enable pcap capture if 1
doe_log 0/1 0 O enable doe log if 1
spdm_version auto/1.0/1.1/1.2/1.3/1.4 auto O select the SPDM version advertised by the requester

[Ports]

Entry Value Default Mandatory Comment
rootport_x dev/func string M For example 02.0. x in [1, 16]
endpoint_y dev/func string M For example 00.0. y in [1, 16]

[Switch_x]

Entry Value Default Mandatory Comment
port_y dev/func string M For example 00.0. y in [1, 16]

TEE-IO Device Validation Utility supports multiple test categories.

Settings of Topology / Configuration / TestSuite are different.

PCIE-IDE Section settings

[Topology_x]

Entry Value Default Mandatory Comment
type string M available values are: selective_ide, link_ide, selective_and_link_ide
connection string M available values are: direct, switch
segment hex M The segment which rootport is connected to. For example 0x0000
bus hex M The bus which rootport is connected to. For example 0x1a
path1 string M rootport_x to endpoint_y. Each ports are separated by ‘,’. For example: rootport_1,switch_1:port_1-port_2,endpoint_2
path2 string O rootport_x to endpoint_y. Each ports are separated by ‘,’. For example: rootport_1,switch_1:port_1-port_3,endpoint_3.
Note: path2 is only available in the connection of peer2peer
stream_id number 0 O it shall be in [0, 255]

[Configration_x]

Entry Value Default Mandatory Comment
type string M available values are selective_ide, link_ide, selective_and_link_ide
category string pcie-ide O must be pcie-ide
default 0/1 1 O
switch 0/1 0 O
partial_header_encryption 0/1 0 O
pcrc 0/1 0 O
aggregation 0/1 0 O
selective_ide_for_configuration 0/1 0 O
tee_limited_stream 0/1 0 O
flit_mode_disable 0/1 0 O

[TestSuite_x]

Entry Value Default Mandatory Comment
type string M available values are: selective_ide, link_ide, selective_and_link_ide
category string pcie-ide O must be pcie-ide
topology number M Topology_x
configuration number M Configuration_x
query string O numbers separated by comma.
For example 1,2 means Cases1 and Cases2 in Query.md
KeyProg string O numbers separated by comma.
For example 1,2 means Cases1 and Cases2 in keyProg.md
KSetGo string O numbers separated by comma.
For example 1,2 means Cases1 and Cases2 in KSetGo.md
KSetStop string O numbers separated by comma.
For example 1,2 means Cases1 and Cases2 in KSetStop.md
SpdmSession string O numbers separated by comma.
For example 1,2 means Cases1 and Cases2 in SpdmSession.md

CXL-IDE Section settings

[Topology_x]

Entry Value Default Mandatory Comment
type string M must be link_ide
connection string M available values are: direct, switch
segment hex M The segment which rootport is connected to. For example 0x0000
bus hex M The bus which rootport is connected to. For example 0x1a
path1 string M rootport_x to endpoint_y. Each ports are separated by ‘,’. For example: rootport_1,switch_1:port_1-port_2,endpoint_2
path2 string O rootport_x to endpoint_y. Each ports are separated by ‘,’. For example: rootport_1,switch_1:port_1-port_3,endpoint_3.
Note: path2 is only available in the connection of peer2peer
stream_id number 0 O it shall always be 0

[Configration_x]

Entry Value Default Mandatory Comment
type string M must be link_ide
category string M must be cxl-ide
cxl_ide_mode string containment O available values are containment or skid
default 0/1 1 O
pcrc_disable 0/1 0 O
ide_stop 0/1 0 O
cxl_get_key 0/1 0 O Generate keys by IDEKM GET_KEY when setting up CXL.memcache IDE Stream.

[TestSuite_x]

Entry Value Default Mandatory Comment
type string M must be link_ide
category string M must be cxl-ide
topology number M Topology_x
configuration number M Configuration_x
query string O numbers separated by comma.
For example 1,2 means Cases1 and Cases2 in CxlQuery.md
KeyProg string O numbers separated by comma.
For example 1,2 means Cases1 and Cases2 in CxlKeyProg.md
KSetGo string O numbers separated by comma.
For example 1 means Cases1 in CxlKSetGo.md
KSetStop string O numbers separated by comma.
For example 1 means Cases1 in CxlKSetStop.md
GetKey string O numbers separated by comma.
For example 1 means Cases1 in CxlGetKey.md

CXL-TSP Section settings

[Topology_x]

Entry Value Default Mandatory Comment
type string M must be link_ide
connection string M available values are: direct, switch
segment hex M The segment which rootport is connected to. For example 0x0000
bus hex M The bus which rootport is connected to. For example 0x1a
path1 string M rootport_x to endpoint_y. Each ports are separated by ‘,’. For example: rootport_1,switch_1:port_1-port_2,endpoint_2
path2 string O rootport_x to endpoint_y. Each ports are separated by ‘,’. For example: rootport_1,switch_1:port_1-port_3,endpoint_3.
Note: path2 is only available in the connection of peer2peer
stream_id number 0 O it shall always be 0

[Configration_x]

Entry Value Default Mandatory Comment
type string M must be link_ide
category string M must be cxl-tsp
default 0/1 1 O

[TestSuite_x]

Entry Value Default Mandatory Comment
type string M must be link_ide
category string M must be cxl-tsp
topology number M Topology_x
configuration number M Configuration_x
GetVersion string O numbers separated by comma.
For example 1 means Case1 in GetTargetTspVersionResponse.md
GetCaps string O numbers separated by comma.
For example 1 means Case1 in GetTargetTspCapabilitiesResponse.md
SetConfiguration string O numbers separated by comma.
For example 1 means Case1 in SetTargetTspConfigurationResponse.md
GetConfiguration string O numbers separated by comma.
For example 1 means Case1 in GetTargetTspConfigurationResponse.md
GetConfigurationReport string O numbers separated by comma.
For example 1 means Case1 in GetTargetTspConfigurationReportResponse.md
LockConfiguration string O numbers separated by comma.
For example 1,2 means Case1 and Case2 in LockTargetTspConfigurationResponse.md

SPDM Section settings

[Topology_x]

Entry Value Default Mandatory Comment
type string M must be link_ide
connection string M available values are: direct, switch
segment hex M The segment which rootport is connected to. For example 0x0000
bus hex M The bus which rootport is connected to. For example 0x1a
path1 string M rootport_x to endpoint_y. Each ports are separated by ‘,’. For example: rootport_1,switch_1:port_1-port_2,endpoint_2
path2 string O rootport_x to endpoint_y. Each ports are separated by ‘,’. For example: rootport_1,switch_1:port_1-port_3,endpoint_3.
Note: path2 is only available in the connection of peer2peer

[Configration_x]

Entry Value Default Mandatory Comment
category string spdm M must be spdm

[TestSuite_x]

Entry Value Default Mandatory Comment
category string spdm M must be spdm
topology number M Topology_x
configuration number M Configuration_x
Version string O numbers separated by comma.
For example 1 means Cases1 in Version.md
Capabilities string O numbers separated by comma.
For example 1,2 means Cases1 and Cases2 in Capabilities.md
Algorithms string O numbers separated by comma.
For example 1,2 means Cases1 and Cases2 in Algorithms.md
Certificate string O numbers separated by comma.
For example 1,2 means Cases1 and Cases2 in Certificate.md
Measurements string O numbers separated by comma.
For example 1,2 means Cases1 and Cases2 in Measurements.md
KeyExchangeRsp string O numbers separated by comma.
For example 1,2 means Cases1 and Cases2 in KeyExchangeRsp.md
FinishRsp string O numbers separated by comma.
For example 1,2 means Cases1 and Cases2 in FinishRsp.md
EndSessionAck string O numbers separated by comma.
For example 1,2 means Cases1 and Cases2 in EndSessionAck.md

TDISP Section settings

[Topology_x]

Entry Value Default Mandatory Comment
type string M available values are: selective_ide, link_ide, selective_and_link_ide
connection string M available values are: direct, switch
segment hex M The segment which rootport is connected to. For example 0x0000
bus hex M The bus which rootport is connected to. For example 0x1a
tdisp_function_id hex 0x0 O FUNCTION_ID of the device hosting the TDI. Refer to PCIE/TDISP spec for more detailed information
path1 string M rootport_x to endpoint_y. Each ports are separated by ‘,’. For example: rootport_1,switch_1:port_1-port_2,endpoint_2
path2 string O rootport_x to endpoint_y. Each ports are separated by ‘,’. For example: rootport_1,switch_1:port_1-port_3,endpoint_3.
Note: path2 is only available in the connection of peer2peer
stream_id number 0 O it shall be in [0, 255]

[Configration_x]

Entry Value Default Mandatory Comment
type string M available values are selective_ide, link_ide, selective_and_link_ide
category string tdisp M must be tdisp

[TestSuite_x]

Entry Value Default Mandatory Comment
type string M available values are: selective_ide, link_ide, selective_and_link_ide
category string tdisp M must be tdisp
topology number M Topology_x
configuration number M Configuration_x
Version string O numbers separated by comma.
For example 1 means Cases1 in TdispVersion.md
Capabilities string O numbers separated by comma.
For example 1 means Cases1 in TdispCapabilities.md
LockInterface string O numbers separated by comma.
For example 1,2 means Cases1 and Cases2 in LockInterfaceResponse.md
DeviceReport string O numbers separated by comma.
For example 1,2 means Cases1 and Cases2 in DeviceInterfaceReport.md
DeviceState string O numbers separated by comma.
For example 1,2 means Cases1 and Cases2 in DeviceInterfaceState.md
StartInterface string O numbers separated by comma.
For example 1,2 means Cases1 and Cases2 in StartInterfaceResponse.md
StopInterface string O numbers separated by comma.
For example 1,2 means Cases1 and Cases2 in StopInterfaceResponse.md