Re: [PATCH v3 38/49] hexagon: make dump_mmu() take MonitorHMP
Brian Cain <[email protected]>
| Newsgroups | gmane.comp.emulators.qemu |
|---|---|
| Message-ID | <[email protected]> |
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 >