On 8/16/2026 2:13 PM, Marc-André Lureau wrote:
Avoid unsafe MONITOR_HMP() casts.

The function has no caller since its introduction and could
be dropped if it is not wired to a HMP command.

Signed-off-by: Marc-André Lureau <[email protected]>
---

Reviewed-by: Brian Cain <[email protected]>


  hw/hexagon/hexagon_tlb.c         | 8 +++-----
  include/hw/hexagon/hexagon_tlb.h | 5 +++--
  target/hexagon/hex_mmu.c         | 4 ++--
  target/hexagon/hex_mmu.h         | 3 ++-
  4 files changed, 10 insertions(+), 10 deletions(-)

diff --git a/hw/hexagon/hexagon_tlb.c b/hw/hexagon/hexagon_tlb.c
index 576929ff224b..584c606a22c5 100644
--- a/hw/hexagon/hexagon_tlb.c
+++ b/hw/hexagon/hexagon_tlb.c
@@ -122,10 +122,8 @@ static inline uint64_t hex_tlb_virt_addr(uint64_t entry)
      return (uint64_t)GET_PTE_VPN(entry) << qemu_target_page_bits();
  }
-bool hexagon_tlb_dump_entry(Monitor *mon, uint64_t entry)
+bool hexagon_tlb_dump_entry(MonitorHMP *hmp, uint64_t entry)
  {
-    MonitorHMP *hmp = MONITOR_HMP(mon);
-
      if (GET_PTE_V(entry)) {
          uint64_t PA = hex_tlb_phys_addr(entry);
          uint64_t VA = hex_tlb_virt_addr(entry);
@@ -379,10 +377,10 @@ int hexagon_tlb_check_overlap(HexagonTLBState *tlb, 
uint64_t entry,
      return -1;
  }
-void hexagon_tlb_dump(Monitor *mon, HexagonTLBState *tlb)
+void hexagon_tlb_dump(MonitorHMP *hmp, HexagonTLBState *tlb)
  {
      for (uint32_t i = 0; i < tlb->num_entries; i++) {
-        hexagon_tlb_dump_entry(mon, tlb->entries[i]);
+        hexagon_tlb_dump_entry(hmp, tlb->entries[i]);
      }
  }
diff --git a/include/hw/hexagon/hexagon_tlb.h b/include/hw/hexagon/hexagon_tlb.h
index 760dc1ea811b..c3f0fc599fdd 100644
--- a/include/hw/hexagon/hexagon_tlb.h
+++ b/include/hw/hexagon/hexagon_tlb.h
@@ -12,6 +12,7 @@
  #include "qom/object.h"
  #include "exec/hwaddr.h"
  #include "exec/mmu-access-type.h"
+#include "monitor/hmp.h"
#define TYPE_HEXAGON_TLB "hexagon-tlb"
  OBJECT_DECLARE_SIMPLE_TYPE(HexagonTLBState, HEXAGON_TLB)
@@ -37,9 +38,9 @@ uint32_t hexagon_tlb_lookup(HexagonTLBState *tlb, uint32_t 
asid,
  int hexagon_tlb_check_overlap(HexagonTLBState *tlb, uint64_t entry,
                                uint64_t index);
-void hexagon_tlb_dump(Monitor *mon, HexagonTLBState *tlb);
+void hexagon_tlb_dump(MonitorHMP *hmp, HexagonTLBState *tlb);
-bool hexagon_tlb_dump_entry(Monitor *mon, uint64_t entry);
+bool hexagon_tlb_dump_entry(MonitorHMP *hmp, uint64_t entry);
uint32_t hexagon_tlb_get_num_entries(HexagonTLBState *tlb); diff --git a/target/hexagon/hex_mmu.c b/target/hexagon/hex_mmu.c
index 81d64a6146cc..242de06eaad2 100644
--- a/target/hexagon/hex_mmu.c
+++ b/target/hexagon/hex_mmu.c
@@ -107,10 +107,10 @@ int hex_tlb_check_overlap(CPUHexagonState *env, uint64_t 
entry, uint64_t index)
      return hexagon_tlb_check_overlap(cpu->tlb, entry, index);
  }
-void dump_mmu(Monitor *mon, CPUHexagonState *env)
+void dump_mmu(MonitorHMP *hmp, CPUHexagonState *env)
  {
      HexagonCPU *cpu = env_archcpu(env);
-    hexagon_tlb_dump(mon, cpu->tlb);
+    hexagon_tlb_dump(hmp, cpu->tlb);
  }
static inline void print_thread(const char *str, CPUState *cs)
diff --git a/target/hexagon/hex_mmu.h b/target/hexagon/hex_mmu.h
index 6aa450b94136..56b2c4a89d0c 100644
--- a/target/hexagon/hex_mmu.h
+++ b/target/hexagon/hex_mmu.h
@@ -10,6 +10,7 @@
  #include "exec/hwaddr.h"
  #include "exec/mmu-access-type.h"
  #include "cpu.h"
+#include "monitor/hmp.h"
extern void hex_tlbw(CPUHexagonState *env, uint32_t index, uint64_t value);
  extern uint32_t hex_tlb_lookup(CPUHexagonState *env, uint32_t ssr, uint32_t 
VA);
@@ -23,5 +24,5 @@ extern int hex_tlb_check_overlap(CPUHexagonState *env, 
uint64_t entry,
                                   uint64_t index);
  extern void hex_tlb_lock(CPUHexagonState *env);
  extern void hex_tlb_unlock(CPUHexagonState *env);
-void dump_mmu(Monitor *mon, CPUHexagonState *env);
+void dump_mmu(MonitorHMP *hmp, CPUHexagonState *env);
  #endif


Reply via email to