xen/arm: ffa: fix bind/unbind notification

The notification bitmask is in passed in the FF-A ABI in two 32-bit
registers w3 and w4. The lower 32-bits should go in w3 and the higher in
w4. These two registers has unfortunately been swapped for
FFA_NOTIFICATION_BIND and FFA_NOTIFICATION_UNBIND in the FF-A mediator.
So fix that by using the correct registers.

Fixes: b490f470f5 ("xen/arm: ffa: support notification")
Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
Reviewed-by: Bertrand Marquis <bertrand.marquis@arm.com>
Relese-Acked-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
This commit is contained in:
Jens Wiklander authored and Stefano Stabellini committed 2025-02-03 14:48:20 -08:00
1 parent 637d40c604
commit 39c45caef2
1 file changed
+4 -4
+4 -4
View File
@@ -40,8 +40,8 @@ int ffa_handle_notification_bind(struct cpu_user_regs *regs)
* We only support notifications from SP so no need to check the sender
* endpoint ID, the SPMC will take care of that for us.
*/
return ffa_simple_call(FFA_NOTIFICATION_BIND, src_dst, flags, bitmap_hi,
bitmap_lo);
return ffa_simple_call(FFA_NOTIFICATION_BIND, src_dst, flags, bitmap_lo,
bitmap_hi);
}
int ffa_handle_notification_unbind(struct cpu_user_regs *regs)
@@ -61,8 +61,8 @@ int ffa_handle_notification_unbind(struct cpu_user_regs *regs)
* We only support notifications from SP so no need to check the
* destination endpoint ID, the SPMC will take care of that for us.
*/
return ffa_simple_call(FFA_NOTIFICATION_UNBIND, src_dst, 0, bitmap_hi,
bitmap_lo);
return ffa_simple_call(FFA_NOTIFICATION_UNBIND, src_dst, 0, bitmap_lo,
bitmap_hi);
}
void ffa_handle_notification_info_get(struct cpu_user_regs *regs)
Reference in new issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.