This document presents the mapping of the rules in the RMM specification to the test cases and the steps followed in the tests. This also provides the information about the test coverage scenarios that are implemented in the current release of ACS and the scenarios that are planned for the future releases.
Test Number | Test Name | Test Assertion | Test Steps | Validated by ACS |
---|---|---|---|---|
1 | pmu_overflow | On REC entry, the Realm PMU state is restored from the REC. On REC exit, the following Realm PMU state is exposed via the RecExit object. On REC exit, exit.pmu_ovf_status indicates the status of the PMU overflow at the time of the Realm exit. |
1. check the ID Register (ID_AA64DFR0_EL1) and RMI_FEATURE outputs and make sure that FEAT_PMU is implemented, if not test is skipped. 2.Host: Enable the PMU interrupt 3.Host: create the realm with PMU enable flag 4.Host: rec enter to realm 5.Realm: configure the PMCR_EL0, PMCCNTR_EL0, PMCNTENSET_EL0, PMINTENSET_EL1 for overflow and overflow interrupt trigger, make sure that counter is configured to increment on every processor clock cycle 6.Realm: Set the PMCCNTR_EL0 to near overflow value ( ex : ~(0xF)) 7.Realm: Wait for some time to trigger overflow interrupt 8.Host: Check rec exit parameters exit_reason == RMI_EXIT_IRQ and rec_exit->pmu_ovf_status == RMI_PMU_OVERFLOW_ACTIVE, if not matching rec exit params conclude test fails. 9.Host: Disable PMU interrupt and inject the virtual interrupt into the realm using gic list registers. 10.Host: Do the rec enter 11.Realm: Check for PMU interrupt and handle the interrupt and does EOI 12.Realm: Finish the test case at the realm and return to the host 13.Host: Check for no pending maintenance interrupt and conclude the test case final status. |
Yes |
2 | cmd_realm_create | Requesting a number of PMU counters which is different from the number of PMU counters available causes RMI_REALM_CREATE to fail. Requesting a number of breakpoints which is different from the number of breakpoints available causes execution of RMI_REALM_CREATE to fail. Requesting a number of watchpoints which is different from the number of watchpoints available causes execution of RMI_REALM_CREATE to fail. |
1. Pass the PMU counters more than the supported number to RMI_REALM_CREATE ABI and check for error status code. 2. Pass the breakpoints count more than the supported number to RMI_REALM_CREATE ABI and check for error status code. 3. Pass the watchpoints count more than the supported number to RMI_REALM_CREATE ABI and check for error status code. |
Yes |