--- hatari/src/debug/profile_priv.h 2019/04/09 08:55:34 1.1.1.3 +++ hatari/src/debug/profile_priv.h 2019/04/09 08:58:03 1.1.1.5 @@ -34,8 +34,8 @@ typedef struct { /* callee/caller information */ typedef struct { - calltype_t flags:8; /* what kind of call it was */ - unsigned int addr:24; /* address for the caller */ + calltype_t flags; /* what kind of call it was */ + Uint32 addr; /* address for the caller */ Uint32 calls; /* number of calls, exclusive */ counters_t all; /* totals including everything called code does */ counters_t own; /* totals excluding called code (=sum(all-out)) */ @@ -73,7 +73,7 @@ typedef struct { /* generic profile caller/callee info functions */ extern void Profile_ShowCallers(FILE *fp, int sites, callee_t *callsite, const char * (*addr2name)(Uint32, Uint64 *)); extern void Profile_CallStart(int idx, callinfo_t *callinfo, Uint32 prev_pc, calltype_t flag, Uint32 pc, counters_t *totalcost); -extern void Profile_FinalizeCalls(callinfo_t *callinfo, counters_t *totalcost, const char* (get_symbol)(Uint32 addr)); +extern void Profile_FinalizeCalls(callinfo_t *callinfo, counters_t *totalcost, const char* (get_symbol)(Uint32, symtype_t)); extern Uint32 Profile_CallEnd(callinfo_t *callinfo, counters_t *totalcost); extern int Profile_AllocCallinfo(callinfo_t *callinfo, int count, const char *info); extern void Profile_FreeCallinfo(callinfo_t *callinfo); @@ -82,11 +82,16 @@ extern bool Profile_LoopReset(void); /* parser helpers */ extern void Profile_CpuGetPointers(bool **enabled, Uint32 **disasm_addr); extern void Profile_DspGetPointers(bool **enabled, Uint32 **disasm_addr); -extern void Profile_CpuGetCallinfo(callinfo_t **callinfo, const char* (**get_symbol)(Uint32)); -extern void Profile_DspGetCallinfo(callinfo_t **callinfo, const char* (**get_symbol)(Uint32)); +extern void Profile_CpuGetCallinfo(callinfo_t **callinfo, const char* (**get_symbol)(Uint32, symtype_t)); +extern void Profile_DspGetCallinfo(callinfo_t **callinfo, const char* (**get_symbol)(Uint32, symtype_t)); + +typedef enum { + PAGING_DISABLED, + PAGING_ENABLED +} paging_t; /* internal CPU profile results */ -extern Uint32 Profile_CpuShowAddresses(Uint32 lower, Uint32 upper, FILE *out); +extern Uint32 Profile_CpuShowAddresses(Uint32 lower, Uint32 upper, FILE *out, paging_t use_paging); extern void Profile_CpuShowCounts(int show, bool only_symbols); extern void Profile_CpuShowCycles(int show); extern void Profile_CpuShowInstrMisses(int show); @@ -97,7 +102,7 @@ extern void Profile_CpuShowCallers(FILE extern void Profile_CpuSave(FILE *out); /* internal DSP profile results */ -extern Uint16 Profile_DspShowAddresses(Uint32 lower, Uint32 upper, FILE *out); +extern Uint16 Profile_DspShowAddresses(Uint32 lower, Uint32 upper, FILE *out, paging_t use_paging); extern void Profile_DspShowCounts(int show, bool only_symbols); extern void Profile_DspShowCycles(int show); extern void Profile_DspShowStats(void);