R5 does not properly handle IPI PL0 generated interrupts
I am having problems in handling IPI interrupts in a bare metal application on the R5. I am using SDK 2018.3 for this project.
The problem is when I use IPI channel 7 (i.e. IPI channel PL-0) with the A53 to send IPI messages to the R5 (IPI channel 1). For some reason, The IPI BSP library's configuration does not list IPI channels 7-10 (PL 0-3) in the configuration target list. The target list only comprises channels 0-6 i.e. the defaults for the A53, R5-0, R5-1, and the 4 PMU channels.
Because of this omission, my code is unable to cycle through using the target list to find the mask for the interrupt nor find the addresses for the message and response buffers using the BSP IPI library functions.
In vivado, I have explicitly configured channel 7 as being used by the A53. The target list generated for the A53 BSP IPI library has a valid target list.
Can anyone confirm that this is a bug Bare Metal IPI BSP library? Has it been fixed in a later release? Is there a workaround for this?
Thanks for any feedback.
FWIW: The PL-0 IPI channel is the same channel used in the OpenAMP demonstration code.