filename | src/sh4/sh4stat.h |
changeset | 905:4c17ebd9ef5e |
prev | 736:a02d1475ccfd |
author | nkeynes |
date | Mon Feb 13 20:00:27 2012 +1000 (12 years ago) |
permissions | -rw-r--r-- |
last change | Fix MMU on non-translated platforms - reintroduce old VMA translation functions (slightly modified) - modify shadow processing to work on post-translated memory ops |
file | annotate | diff | log | raw |
nkeynes@387 | 1 | /** |
nkeynes@561 | 2 | * $Id$ |
nkeynes@387 | 3 | * |
nkeynes@387 | 4 | * Support module for collecting instruction stats |
nkeynes@387 | 5 | * |
nkeynes@387 | 6 | * Copyright (c) 2005 Nathan Keynes. |
nkeynes@387 | 7 | * |
nkeynes@387 | 8 | * This program is free software; you can redistribute it and/or modify |
nkeynes@387 | 9 | * it under the terms of the GNU General Public License as published by |
nkeynes@387 | 10 | * the Free Software Foundation; either version 2 of the License, or |
nkeynes@387 | 11 | * (at your option) any later version. |
nkeynes@387 | 12 | * |
nkeynes@387 | 13 | * This program is distributed in the hope that it will be useful, |
nkeynes@387 | 14 | * but WITHOUT ANY WARRANTY; without even the implied warranty of |
nkeynes@387 | 15 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
nkeynes@387 | 16 | * GNU General Public License for more details. |
nkeynes@387 | 17 | */ |
nkeynes@387 | 18 | |
nkeynes@671 | 19 | #ifndef lxdream_sh4stat_H |
nkeynes@736 | 20 | #define lxdream_sh4stat_H 1 |
nkeynes@671 | 21 | |
nkeynes@671 | 22 | #include <stdio.h> |
nkeynes@671 | 23 | #include <stdint.h> |
nkeynes@905 | 24 | #include "lxdream.h" |
nkeynes@671 | 25 | |
nkeynes@736 | 26 | #ifdef __cplusplus |
nkeynes@736 | 27 | extern "C" { |
nkeynes@736 | 28 | #endif |
nkeynes@736 | 29 | |
nkeynes@671 | 30 | typedef enum { |
nkeynes@387 | 31 | I_UNKNOWN, |
nkeynes@387 | 32 | I_ADD, I_ADDI, I_ADDC, I_ADDV, |
nkeynes@387 | 33 | I_AND, I_ANDI, I_ANDB, |
nkeynes@387 | 34 | I_BF, I_BFS, I_BRA, I_BRAF, I_BSR, I_BSRF, I_BT, I_BTS, |
nkeynes@387 | 35 | I_CLRMAC, I_CLRS, I_CLRT, |
nkeynes@387 | 36 | I_CMPEQ, I_CMPEQI, I_CMPGE, I_CMPGT, I_CMPHI, I_CMPHS, I_CMPPL, I_CMPPZ, I_CMPSTR, |
nkeynes@387 | 37 | I_DIV0S, I_DIV0U, I_DIV1, |
nkeynes@387 | 38 | I_DMULS, I_DMULU, I_DT, |
nkeynes@387 | 39 | I_EXTSB, I_EXTSW, I_EXTUB, I_EXTUW, I_FABS, |
nkeynes@387 | 40 | I_FADD, I_FCMPEQ, I_FCMPGT, I_FCNVDS, I_FCNVSD, I_FDIV, I_FIPR, I_FLDS, |
nkeynes@387 | 41 | I_FLDI0, I_FLDI1, I_FLOAT, I_FMAC, I_FMOV1, I_FMOV2, I_FMOV3, I_FMOV4, |
nkeynes@387 | 42 | I_FMOV5, I_FMOV6, I_FMOV7, I_FMUL, I_FNEG, I_FRCHG, I_FSCA, I_FSCHG, |
nkeynes@387 | 43 | I_FSQRT, I_FSRRA, I_FSTS, I_FSUB, I_FTRC, I_FTRV, |
nkeynes@387 | 44 | I_JMP, I_JSR, |
nkeynes@673 | 45 | I_LDCSR, I_LDC, I_LDCSRM, I_LDCM, I_LDSFPSCR, I_LDS, I_LDSFPSCRM, I_LDSM, I_LDTLB, |
nkeynes@387 | 46 | I_MACL, I_MACW, |
nkeynes@387 | 47 | I_MOV, I_MOVI, I_MOVB, I_MOVL, I_MOVLPC, I_MOVW, I_MOVA, I_MOVCA, I_MOVT, |
nkeynes@387 | 48 | I_MULL, I_MULSW, I_MULUW, |
nkeynes@387 | 49 | I_NEG, I_NEGC, I_NOP, I_NOT, |
nkeynes@387 | 50 | I_OCBI, I_OCBP, I_OCBWB, |
nkeynes@387 | 51 | I_OR, I_ORI, I_ORB, |
nkeynes@387 | 52 | I_PREF, |
nkeynes@387 | 53 | I_ROTCL, I_ROTCR, I_ROTL, I_ROTR, |
nkeynes@387 | 54 | I_RTE, I_RTS, |
nkeynes@387 | 55 | I_SETS, I_SETT, |
nkeynes@387 | 56 | I_SHAD, I_SHAL, I_SHAR, I_SHLD, I_SHLL, I_SHLR, |
nkeynes@387 | 57 | I_SLEEP, |
nkeynes@673 | 58 | I_STCSR, I_STC, I_STCSRM, I_STCM, I_STSFPSCR, I_STS, I_STSFPSCRM, I_STSM, |
nkeynes@387 | 59 | I_SUB, I_SUBC, I_SUBV, |
nkeynes@387 | 60 | I_SWAPB, I_SWAPW, I_TASB, |
nkeynes@387 | 61 | I_TRAPA, |
nkeynes@387 | 62 | I_TST, I_TSTI, I_TSTB, |
nkeynes@387 | 63 | I_XOR, I_XORI, I_XORB, |
nkeynes@387 | 64 | I_XTRCT, |
nkeynes@671 | 65 | I_UNDEF } sh4_inst_id; |
nkeynes@387 | 66 | |
nkeynes@387 | 67 | #define SH4_INSTRUCTION_COUNT I_UNDEF |
nkeynes@422 | 68 | |
nkeynes@736 | 69 | void sh4_stats_reset( void ); |
nkeynes@736 | 70 | void sh4_stats_print( FILE *out ); |
nkeynes@905 | 71 | void FASTCALL sh4_stats_add( sh4_inst_id id ); |
nkeynes@736 | 72 | void sh4_stats_add_by_pc( uint32_t pc ); |
nkeynes@671 | 73 | |
nkeynes@736 | 74 | #ifdef __cplusplus |
nkeynes@736 | 75 | } |
nkeynes@736 | 76 | #endif |
nkeynes@671 | 77 | |
nkeynes@671 | 78 | #endif /* !lxdream_sh4stat_H */ |
.