On 9/2/26 05:20, Philippe Mathieu-Daudé wrote:
hexagon_cpu_do_interrupt() already acquires the BQL internally,
so register it as do_interrupt() instead of do_interrupt_locked().
This reflects the actual locking model used by the target.

Signed-off-by: Philippe Mathieu-Daudé <[email protected]>
---
  target/hexagon/cpu.c | 2 +-
  1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/target/hexagon/cpu.c b/target/hexagon/cpu.c
index b5dcbfc99db..7067e5b70f7 100644
--- a/target/hexagon/cpu.c
+++ b/target/hexagon/cpu.c
@@ -769,7 +769,7 @@ static const TCGCPUOps hexagon_tcg_ops = {
      .tlb_fill = hexagon_tlb_fill,
      .do_unaligned_access = hexagon_cpu_do_unaligned_access,
      .cpu_exec_halt = hexagon_cpu_has_work,
-    .do_interrupt_locked = hexagon_cpu_do_interrupt,
+    .do_interrupt = hexagon_cpu_do_interrupt,
  #endif /* !CONFIG_USER_ONLY */
  };

Eh. Except all that hexagon does is acquire the lock at the beginning of the function and keep it for the entire duration. I think hexagon should stay using _locked and *not* do internal locking.


r~

Reply via email to