FreeCalypso > hg > freecalypso-tools
comparison rvinterf/lowlevel/rviftmode.c @ 936:f4e6f6b6548e
rvinterf TM log: decode ETM_CORE commands
| author | Mychaela Falconia <falcon@freecalypso.org> |
|---|---|
| date | Wed, 24 May 2023 04:00:18 +0000 |
| parents | d203a9c7c4e6 |
| children | 06f96627ac9a |
comparison
equal
deleted
inserted
replaced
| 935:d203a9c7c4e6 | 936:f4e6f6b6548e |
|---|---|
| 38 etm_core_classify(pkt, pktlen, outbuf) | 38 etm_core_classify(pkt, pktlen, outbuf) |
| 39 u_char *pkt; | 39 u_char *pkt; |
| 40 unsigned pktlen; | 40 unsigned pktlen; |
| 41 char *outbuf; | 41 char *outbuf; |
| 42 { | 42 { |
| 43 /* classification code to be filled */ | 43 if (pktlen < 4) { |
| 44 strcpy(outbuf, "ETM_CORE"); | 44 runt: strcpy(outbuf, "ETM_CORE runt"); |
| 45 return; | |
| 46 } | |
| 47 switch (pkt[2]) { | |
| 48 case TMCORE_OPC_MEM: | |
| 49 if (pktlen < 5) | |
| 50 goto runt; | |
| 51 switch (pkt[3]) { | |
| 52 case 0x01: | |
| 53 strcpy(outbuf, "r8"); | |
| 54 return; | |
| 55 case 0x02: | |
| 56 strcpy(outbuf, "r16"); | |
| 57 return; | |
| 58 case 0x04: | |
| 59 strcpy(outbuf, "r32"); | |
| 60 return; | |
| 61 case 0x11: | |
| 62 strcpy(outbuf, "w8"); | |
| 63 return; | |
| 64 case 0x12: | |
| 65 strcpy(outbuf, "w16"); | |
| 66 return; | |
| 67 case 0x14: | |
| 68 strcpy(outbuf, "w32"); | |
| 69 return; | |
| 70 default: | |
| 71 sprintf(outbuf, "ETM_CORE mem opcode 0x%02X", pkt[3]); | |
| 72 } | |
| 73 return; | |
| 74 case TMCORE_OPC_ECHO: | |
| 75 strcpy(outbuf, "ping"); | |
| 76 return; | |
| 77 case TMCORE_OPC_RESET: | |
| 78 strcpy(outbuf, "tgtreset"); | |
| 79 return; | |
| 80 case TMCORE_OPC_DEBUG: | |
| 81 strcpy(outbuf, "ETM_CORE debug opc"); | |
| 82 return; | |
| 83 case TMCORE_OPC_VERSION: | |
| 84 strcpy(outbuf, "version"); | |
| 85 return; | |
| 86 case TMCORE_OPC_CODEC_RD: | |
| 87 strcpy(outbuf, "abbr"); | |
| 88 return; | |
| 89 case TMCORE_OPC_CODEC_WR: | |
| 90 strcpy(outbuf, "abbw"); | |
| 91 return; | |
| 92 case TMCORE_OPC_DIEID: | |
| 93 strcpy(outbuf, "dieid"); | |
| 94 return; | |
| 95 default: | |
| 96 sprintf(outbuf, "ETM_CORE opcode 0x%02X", pkt[2]); | |
| 97 } | |
| 45 } | 98 } |
| 46 | 99 |
| 47 static void | 100 static void |
| 48 tmffs2_cmd_classify(pkt, pktlen, outbuf) | 101 tmffs2_cmd_classify(pkt, pktlen, outbuf) |
| 49 u_char *pkt; | 102 u_char *pkt; |
