Skip to main content
Associate III
May 29, 2025 9:11 AM UTC
Solved

SSD insert PCIe and start System Report IAC exceptions

 

Starting kernel ...

I/TC: Secondary CPU 1 initializing
I/TC: Secondary CPU 1 switching to normal world boot
E/TC:0 stm32_iac_itr:180 IAC exceptions [159:128]: 0x400
E/TC:0 stm32_iac_itr:185 IAC exception ID: 138
E/TC:0 Panic at /usr/src/debug/optee-os-stm32mp/3.19.0-stm32mp-r2-r0/core/drivers/firewall/stm32_iac.c:200 <stm32_iac_itr>
E/TC:0 TEE load address @ 0x82000000
E/TC:0 Call stack:
E/TC:0 0x8200831c
E/TC:0 0x82030254
E/TC:0 0x82021024
E/TC:0 0x8202f198
E/TC:0 0x82013fd4
E/TC:0 0x820017dc

 

How can I confirm the RIF configuration of OpteeOS to resolve this issue?

 

This topic has been closed for replies.
GatienC
GatienCBest answer
ST Employee
Jun 2, 2025 8:22 AM UTC

Hello @bugman ,

If you want to confirm the RISAF configuration at runtime, you can always set

CFG_STM32_PANIC_ON_IAC_EVENT=n in OP-TEE. Therefore, the platform won't panic on an IAC. Then, you can dump the RIF configuration in the kernel using the debugfs entry. You can have a look at https://wiki.st.com/stm32mpu/wiki/How_to_analyze_IAC_%26_SERC_errors . If you don't have this RISAF available for dump in the debugfs, you need to activate the node in the linux board device-tree file.

However, I'm surprised that you don't have a more detailed dump with the faulty address (Similar to the example in the wiki)? Have you omitted that in the log? Else, maybe the non-TDCID/non-delegated CID software is accessing the RISAF registers directly and that's forbidden.

Regards,

Gatien

 

4 replies

GatienC
GatienCBest answer
ST Employee
Jun 2, 2025 8:22 AM UTC

Hello @bugman ,

If you want to confirm the RISAF configuration at runtime, you can always set

CFG_STM32_PANIC_ON_IAC_EVENT=n in OP-TEE. Therefore, the platform won't panic on an IAC. Then, you can dump the RIF configuration in the kernel using the debugfs entry. You can have a look at https://wiki.st.com/stm32mpu/wiki/How_to_analyze_IAC_%26_SERC_errors . If you don't have this RISAF available for dump in the debugfs, you need to activate the node in the linux board device-tree file.

However, I'm surprised that you don't have a more detailed dump with the faulty address (Similar to the example in the wiki)? Have you omitted that in the log? Else, maybe the non-TDCID/non-delegated CID software is accessing the RISAF registers directly and that's forbidden.

Regards,

Gatien

 

bugmanAuthor
Associate III
Jun 5, 2025 5:46 AM UTC

After check optee DTS, it is found that PCIe is disabled in the RISAF. It can be resolved by re - enabling it,thanks

Associate III
Jun 20, 2025 5:40 AM UTC

Hi bugman,
I’ve encountered the same issue. Would you mind showing me how to configure this in CubeMX?

StevenLIN_0-1750398003006.png