 diff -ur bochs/cpu/cpu.cc bochs-trace-cache/cpu/cpu.cc
---- bochs/cpu/cpu.cc	2007-11-23 18:25:48.671875000 +0200
-+++ bochs-trace-cache/cpu/cpu.cc	2007-11-23 18:17:34.031250000 +0200
+--- bochs/cpu/cpu.cc	2007-11-24 16:22:32.000000000 +0200
++++ bochs-trace-cache/cpu/cpu.cc	2007-11-24 16:29:57.078125000 +0200
 @@ -62,16 +62,19 @@
  #if InstrumentICACHE
  static unsigned iCacheLookups=0;

+  /* CD /wr */ { BxImmediate_Ib | BxTraceEnd, &BX_CPU_C::INT_Ib },
   /* CE /wr */ { 0, &BX_CPU_C::BxError },
-  /* CF /wr */ { 0, &BX_CPU_C::IRET16 },
+  /* CF /wr */ { BxTraceEnd, &BX_CPU_C::IRET16 },
   /* D0 /wr */ { BxGroup2, NULL, BxOpcodeInfoG2Eb },
   /* D1 /wr */ { BxGroup2, NULL, BxOpcodeInfoG2Ew },
   /* D2 /wr */ { BxGroup2, NULL, BxOpcodeInfoG2Eb },

+  /* CC /dr */ { BxTraceEnd, &BX_CPU_C::INT3 },
+  /* CD /dr */ { BxImmediate_Ib | BxTraceEnd, &BX_CPU_C::INT_Ib },
   /* CE /dr */ { 0, &BX_CPU_C::BxError },
-  /* CF /dr */ { 0, &BX_CPU_C::IRET64 },
+  /* CF /dr */ { BxTraceEnd, &BX_CPU_C::IRET64 },
   /* D0 /dr */ { BxGroup2, NULL, BxOpcodeInfoG2Eb },
   /* D1 /dr */ { BxGroup2, NULL, BxOpcodeInfoG2Ed },
   /* D2 /dr */ { BxGroup2, NULL, BxOpcodeInfoG2Eb },
