From 69a37aef55dbf1f5ee1ec338d136521bbe306a0f Mon Sep 17 00:00:00 2001 From: Jim Date: Mon, 17 Oct 2011 10:53:12 -0400 Subject: [PATCH] Remove crs[] and crsl[] references in trace output, add vfy target to makefile to allow comparing emulator binaries --- ea32i.h | 4 ++-- em.c | 16 ++++++++-------- makefile | 7 ++++++- 3 files changed, 16 insertions(+), 11 deletions(-) diff --git a/ea32i.h b/ea32i.h index 0e5c743..3cd185c 100644 --- a/ea32i.h +++ b/ea32i.h @@ -61,7 +61,7 @@ static inline ea_t ea32i (ea_t earp, unsigned short inst, unsigned long *immu32, d = iget16(RP); INCRP; ea = (crsl[sr] & 0xFFFF0000) | ((crsl[sr] + d) & 0xFFFF); - TRACE(T_EAI, " GRR, d=%x, crsl[sr]=%o/%o, ea=%o/%o\n", d, crsl[sr]>>16, crsl[sr]&0xFFFF, ea>>16, ea&0xFFFF); + TRACE(T_EAI, " GRR, d=%x, [sr]=%o/%o, ea=%o/%o\n", d, crsl[sr]>>16, crsl[sr]&0xFFFF, ea>>16, ea&0xFFFF); if (ea & 0x80000000) fault(POINTERFAULT, ea>>16, ea); return ea | ring; @@ -104,7 +104,7 @@ static inline ea_t ea32i (ea_t earp, unsigned short inst, unsigned long *immu32, fault(POINTERFAULT, ip>>16, ea); if (sr > 0) { ip = (ip & 0xFFFF0000) | ((ip + crs[sr*2]) & 0xFFFF); - TRACE(T_EAI, " index by crs[%d]='%o/%d, ea=%o/%o\n", sr, crs[sr*2], crs[sr*2], ea>>16, ea&0xFFFF); + TRACE(T_EAI, " index by gr%d='%o/%d, ea=%o/%o\n", sr, crs[sr*2], crs[sr*2], ea>>16, ea&0xFFFF); } return ip | ring; diff --git a/em.c b/em.c index fad8232..8d5619b 100644 --- a/em.c +++ b/em.c @@ -3757,7 +3757,7 @@ static nfy(unsigned short inst) { resched = 0; begend = inst & 1; if (regs.sym.pcba != crs[OWNERL]) { - printf("NFY: regs.pcba = %o, but crs[OWNERL] = %o\n", regs.sym.pcba, crs[OWNERL]); + printf("NFY: regs.pcba = %o, but OWNERL = %o\n", regs.sym.pcba, crs[OWNERL]); fatal(NULL); } ea = apea(NULL); @@ -5526,7 +5526,7 @@ d_rsav: /* 000715 */ savemask = 0; for (i = 11; i >= 0; i--) { if (crsl[i] != 0) { - TRACE(T_INST, " crsl[%d] saved, value=%o (%o/%o)\n", i, crsl[i], crsl[i]>>16, crsl[i]&0xffff); + TRACE(T_INST, " gr%d saved, value=%o (%o/%o)\n", i, crsl[i], crsl[i]>>16, crsl[i]&0xffff); put32(crsl[i], INCVA(ea,j)); savemask |= BITMASK16(16-i); } @@ -5548,7 +5548,7 @@ d_rrst: /* 000717 */ for (i = 11; i >= 0; i--) { if (savemask & BITMASK16(16-i)) { crsl[i] = get32(INCVA(ea,j)); - TRACE(T_INST, " crsl[%d] restored, value=%o (%o/%o)\n", i, crsl[i], crsl[i]>>16, crsl[i]&0xffff); + TRACE(T_INST, " gr%d restored, value=%o (%o/%o)\n", i, crsl[i], crsl[i]>>16, crsl[i]&0xffff); } else { crsl[i] = 0; } @@ -6446,13 +6446,13 @@ d_nrm: /* 000101 */ crs[VSC] = 0; if (crsl[GR2] != 0) { while (!((crs[A] ^ (crs[A] << 1)) & 0x8000)) { - TRACE(T_INST, " step %d: crs[A]=%o, crs[B]=%o\n", crs[VSC], crs[A], crs[B]); + TRACE(T_INST, " step %d: A=%o, B=%o\n", crs[VSC], crs[A], crs[B]); crs[B] = crs[B] << 1; crs[A] = (crs[A] & 0x8000) | ((crs[A] << 1) & 0x7FFE) | (crs[B] >> 15); crs[VSC]++; } crs[B] &= 0x7FFF; - TRACE(T_INST, " finished with %d shifts: crs[A]=%o, crs[B]=%o\n", crs[VSC], crs[A], crs[B]); + TRACE(T_INST, " finished with %d shifts: A=%o, B=%o\n", crs[VSC], crs[A], crs[B]); } goto fetch; @@ -8639,7 +8639,7 @@ imode: case 011: TRACE(T_FLOW, " LH\n"); if (*(int *)&ea < 0) { - TRACE(T_FLOW, " ea=%x, immu32=%lx, crsl[%d]=%x\n", ea, immu32, dr, crsl[dr]); + TRACE(T_FLOW, " ea=%x, immu32=%lx, gr%d=%x\n", ea, immu32, dr, crsl[dr]); crs[dr*2] = immu32 >> 16; } else crs[dr*2] = get16(ea); @@ -9239,11 +9239,11 @@ imodepcl: case 055: if (*(int *)&ea < 0) { TRACE(T_FLOW, " ACP\n"); - TRACE(T_INST, " before acp, crsl[%d]=%o/%o, immu32=%lu, CP(dr)=%d\n", dr, crsl[dr]>>16, crsl[dr]&0xFFFF, immu32, EACP(crsl[dr])); + TRACE(T_INST, " before acp, gr%d=%o/%o, immu32=%lu, CP(dr)=%d\n", dr, crsl[dr]>>16, crsl[dr]&0xFFFF, immu32, EACP(crsl[dr])); utempl = EACP(crsl[dr]); utempl += *(int *)&immu32; crsl[dr] = CPEA(crsl[dr], utempl); - TRACE(T_INST, " after acp, utempl=%d, crsl[dr]=%o/%o\n", utempl, crsl[dr]>>16, crsl[dr]&0xFFFF); + TRACE(T_INST, " after acp, utempl=%d, gr[dr]=%o/%o\n", utempl, crsl[dr]>>16, crsl[dr]&0xFFFF); } else { TRACE(T_FLOW, " SCC\n"); utempa = get16(ea); diff --git a/makefile b/makefile index 64b94be..56babe5 100644 --- a/makefile +++ b/makefile @@ -3,7 +3,7 @@ REV=${shell hg id -n} -.PHONY: em debug trace fixed hobby dongle lmserver magrst parts smad smag mtread mtwrite +.PHONY: em debug trace vfy fixed hobby dongle lmserver magrst parts smad smag mtread mtwrite em: # production @@ -23,6 +23,11 @@ trace: # tracing + gdb cc -arch ppc -DREV=\"${REV}\" -DNOREGS -g -O0 -DFAST -c em.c -fobey-inline -mdynamic-no-pic -I../dongle/mx/ppc/api;g++ -arch ppc -o em em.o ../dongle/mx/ppc/api/libmxmac260.a -framework IOKit -framework CoreFoundation +vfy: # prod + tracing to verify em changes + + cc -arch ppc -DREV=\"\" -O -DFAST -c em.c -fobey-inline -mdynamic-no-pic -I../dongle/mx/ppc/api;g++ -arch ppc -o em em.o ../dongle/mx/ppc/api/libmxmac260.a -framework IOKit -framework CoreFoundation + + fixed: # fixed clock rate, gdb cc -arch ppc -DREV=\"${REV}\" -DFIXEDCLOCK -DNOIDLE -DNOREGS -g -O0 -DFAST -c em.c -fobey-inline -mdynamic-no-pic -I../dongle/mx/ppc/api;g++ -arch ppc -o em em.o ../dongle/mx/ppc/api/libmxmac260.a -framework IOKit -framework CoreFoundation