Hi Andrej,

 

Yes, this is a known limitation of the IRQ test case. Because of the limitation you mention in your mail it cannot be run in isolation levels higher than 1.

 

This test is part of the core test positive test suite, which is (by default) is disabled in certain cases (mostly because of these limitations):

 

CommonConfig.cmake:

 

      if (CORE_TEST)

            if (NOT CORE_IPC OR TFM_LVL EQUAL 1)

                  set(CORE_TEST_POSITIVE ON)

            endif()

            set(CORE_TEST_INTERACTIVE OFF)

      endif()

 

It might be a possible workaround to define the IRQ test service as a PRoT as well.

 

Regards,

Mate

 

From: TF-M <tf-m-bounces@lists.trustedfirmware.org> On Behalf Of Andrej Butok via TF-M
Sent: Monday, June 22, 2020 16:45
To: tf-m@lists.trustedfirmware.org
Subject: [TF-M] MPU Fault Handler in the 'Test secure irq' test

 

Hello,

 

During my update to the new TFM version (after one month pause),

occurs the MPU Fault Handler in the 'Test secure irq' regression test (TFM_ENABLE_IRQ_TEST is enabled).

 

The reason is that the test partition is defined as  APP_ROT (non-privileged), but the test accesses to the NS memory region  (dined as Privileged by default):

              spm_irq_test_1_prepare_test_scenario_internal(enum irq_test_scenario_t irq_test_scenario, struct irq_test_execution_data_t *execution_data)

“execution_data” points to a global structure in NS RAM area provided by the NS test.

 

The workaround:

            Define the IRQ test partition as PSA_ROT (privileged). Is it OK?

 

Is this known issue?

 

Thanks,

Andrej Butok