zephyr/tests/arch/arm/arm_irq_advanced_features
Carlo Caione 6f3a13d974 barriers: Move __ISB() to the new API
Remove the arch-specific ARM-centric __ISB() macro and use the new
barrier API instead.

Signed-off-by: Carlo Caione <ccaione@baylibre.com>
2023-05-24 13:13:57 -04:00
..
src barriers: Move __ISB() to the new API 2023-05-24 13:13:57 -04:00
CMakeLists.txt
README.txt
prj.conf
testcase.yaml samples, tests: convert string-based twister lists to YAML lists 2023-05-10 09:52:37 +02:00

README.txt

Title: Test to verify advanced features of ARM Cortex-M interrupt handling.

Description:
This test suite verifies the behavior of CONFIG_ZERO_LATENCY_IRQS and
CONFIG_DYNAMIC_DIRECT_INTERRUPTS at runtime (ARM Only)

The first test verifies the behavior of CONFIG_DYNAMIC_DIRECT_INTERRUPTS
at runtime. In particular, it tests that dynamic direct IRQs may be
installed at run-time in the software interrupt table.
Only for ARMv7-M and ARMv8-M Mainline targets.

The second test verifies the behavior of CONFIG_ZERO_LATENCY_IRQS at runtime.
In particular, it tests that IRQs configured with the IRQ_ZERO_LATENCY
flag are assigned the highest priority in the system (and, therefore,
cannot be masked-out by irq_lock()).
Only for ARMv7-M and ARMv8-M Mainline targets.

The third test verifies the behavior of the IRQ Target State API for
TrustZone-M enabled Cortex-M Mainline CPUs.

---------------------------------------------------------------------------

Building and Running Project:

This project outputs to the console.  It can be built and executed on QEMU as
follows:

    ninja/make run

---------------------------------------------------------------------------

Troubleshooting:

Problems caused by out-dated project information can be addressed by
issuing one of the following commands then rebuilding the project:

    ninja/make clean    # discard results of previous builds
                        # but keep existing configuration info
or
    ninja/make pristine # discard results of previous builds
                        # and restore pre-defined configuration info

---------------------------------------------------------------------------

Sample Output:

*** Booting Zephyr OS build zephyr-v2.1.0-358-g9ac0a8c10a2e  ***
Running test suite arm_irq_advanced_features
===================================================================
starting test - test_arm_dynamic_direct_interrupts
PASS - test_arm_dynamic_direct_interrupts
===================================================================
starting test - test_arm_zero_latency_irqs
Available IRQ line: 57
PASS - test_arm_zero_latency_irqs
===================================================================
starting test - test_arm_irq_target_state
Available IRQ line: 93
PASS - test_arm_irq_target_state
===================================================================
Test suite arm_irq_advanced_features succeeded
===================================================================
PROJECT EXECUTION SUCCESSFUL