[BACK]Return to pctr.c CVS log [TXT][DIR] Up to [local] / src / usr.bin / pctr

Diff for /src/usr.bin/pctr/pctr.c between version 1.14 and 1.15

version 1.14, 2007/10/17 11:33:55 version 1.15, 2007/10/17 14:54:30
Line 280 
Line 280 
                 else                  else
                         msg = p5fn[ind].name;                          msg = p5fn[ind].name;
                 snprintf(buf, sizeof(buf), "%c%c%c %02x %s",                  snprintf(buf, sizeof(buf), "%c%c%c %02x %s",
                     sel & PCTR_P5_C ? 'c' : '-',                      sel & P5CTR_C ? 'c' : '-',
                     sel & PCTR_P5_U ? 'u' : '-',                      sel & P5CTR_U ? 'u' : '-',
                     sel & PCTR_P5_K ? 'k' : '-',                      sel & P5CTR_K ? 'k' : '-',
                     fn, msg);                      fn, msg);
                 break;                  break;
         case CPU_P6:          case CPU_P6:
Line 297 
Line 297 
                         msg = cfnp[ind].name;                          msg = cfnp[ind].name;
                 if (cfnp[ind].name && cfnp[ind].flags & CFL_MESI)                  if (cfnp[ind].name && cfnp[ind].flags & CFL_MESI)
                         snprintf(um, sizeof (um), "%c%c%c%c",                          snprintf(um, sizeof (um), "%c%c%c%c",
                             sel & PCTR_X86_UM_M ? 'M' : '-',                              sel & PCTR_UM_M ? 'M' : '-',
                             sel & PCTR_X86_UM_E ? 'E' : '-',                              sel & PCTR_UM_E ? 'E' : '-',
                             sel & PCTR_X86_UM_S ? 'S' : '-',                              sel & PCTR_UM_S ? 'S' : '-',
                             sel & PCTR_X86_UM_I ? 'I' : '-');                              sel & PCTR_UM_I ? 'I' : '-');
                 else if (cfnp[ind].name && cfnp[ind].flags & CFL_SA)                  else if (cfnp[ind].name && cfnp[ind].flags & CFL_SA)
                         snprintf(um, sizeof(um), "%c",                          snprintf(um, sizeof(um), "%c",
                             sel & PCTR_X86_UM_A ? 'A' : '-');                              sel & PCTR_UM_A ? 'A' : '-');
                 if (sel >> PCTR_X86_CM_SHIFT)                  if (sel >> PCTR_CM_SHIFT)
                         snprintf(th, sizeof(th), "+%d",                          snprintf(th, sizeof(th), "+%d",
                             sel >> PCTR_X86_CM_SHIFT);                              sel >> PCTR_CM_SHIFT);
                 snprintf(buf, sizeof(buf), "%c%c%c%c %02x %02x %s %s %s",                  snprintf(buf, sizeof(buf), "%c%c%c%c %02x %02x %s %s %s",
                     sel & PCTR_X86_I ? 'i' : '-',                      sel & PCTR_I ? 'i' : '-',
                     sel & PCTR_X86_E ? 'e' : '-',                      sel & PCTR_E ? 'e' : '-',
                     sel & PCTR_X86_K ? 'k' : '-',                      sel & PCTR_K ? 'k' : '-',
                     sel & PCTR_X86_U ? 'u' : '-',                      sel & PCTR_U ? 'u' : '-',
                     fn, (sel >> PCTR_X86_UM_SHIFT) & 0xff, th, um, msg);                      fn, (sel >> PCTR_UM_SHIFT) & 0xff, th, um, msg);
                 break;                  break;
         case CPU_AMD:          case CPU_AMD:
                 fn = sel & 0xff;                  fn = sel & 0xff;
                 if (sel >> PCTR_X86_CM_SHIFT)                  if (sel >> PCTR_CM_SHIFT)
                         snprintf(th, sizeof(th), "+%d",                          snprintf(th, sizeof(th), "+%d",
                             sel >> PCTR_X86_CM_SHIFT);                              sel >> PCTR_CM_SHIFT);
                 snprintf(buf, sizeof(buf), "%c%c%c%c %02x %02x %s",                  snprintf(buf, sizeof(buf), "%c%c%c%c %02x %02x %s",
                     sel & PCTR_X86_I ? 'i' : '-',                      sel & PCTR_I ? 'i' : '-',
                     sel & PCTR_X86_E ? 'e' : '-',                      sel & PCTR_E ? 'e' : '-',
                     sel & PCTR_X86_K ? 'k' : '-',                      sel & PCTR_K ? 'k' : '-',
                     sel & PCTR_X86_U ? 'u' : '-',                      sel & PCTR_U ? 'u' : '-',
                     fn, (sel >> PCTR_X86_UM_SHIFT) & 0xff, th);                      fn, (sel >> PCTR_UM_SHIFT) & 0xff, th);
                 break;                  break;
         }          }
         return (buf);          return (buf);
Line 455 
Line 455 
                 if (ctr >= PCTR_INTEL_NUM)                  if (ctr >= PCTR_INTEL_NUM)
                         return (EX_DATAERR);                          return (EX_DATAERR);
                 if (cflag)                  if (cflag)
                         val |= PCTR_P5_C;                          val |= P5CTR_C;
                 if (kflag)                  if (kflag)
                         val |= PCTR_P5_K;                          val |= P5CTR_K;
                 if (uflag)                  if (uflag)
                         val |= PCTR_P5_U;                          val |= P5CTR_U;
                 if (func && (!kflag && !uflag))                  if (func && (!kflag && !uflag))
                         val |= PCTR_P5_K | PCTR_P5_U;                          val |= P5CTR_K | P5CTR_U;
                 break;                  break;
         case CPU_P6:          case CPU_P6:
                 cfnp = p6fn;                  cfnp = p6fn;
Line 473 
Line 473 
                 if (func && (ind = pctr_ctrfn_index(cfnp, func)) < 0)                  if (func && (ind = pctr_ctrfn_index(cfnp, func)) < 0)
                         return (EX_DATAERR);                          return (EX_DATAERR);
                 if (func && cfnp[ind].flags & CFL_SA)                  if (func && cfnp[ind].flags & CFL_SA)
                         val |= PCTR_X86_UM_A;                          val |= PCTR_UM_A;
                 if (Mflag && cfnp[ind].flags & CFL_MESI)                  if (Mflag && cfnp[ind].flags & CFL_MESI)
                         val |= PCTR_X86_UM_M;                          val |= PCTR_UM_M;
                 if (Eflag && cfnp[ind].flags & CFL_MESI)                  if (Eflag && cfnp[ind].flags & CFL_MESI)
                         val |= PCTR_X86_UM_E;                          val |= PCTR_UM_E;
                 if (Sflag && cfnp[ind].flags & CFL_MESI)                  if (Sflag && cfnp[ind].flags & CFL_MESI)
                         val |= PCTR_X86_UM_S;                          val |= PCTR_UM_S;
                 if (Iflag && cfnp[ind].flags & CFL_MESI)                  if (Iflag && cfnp[ind].flags & CFL_MESI)
                         val |= PCTR_X86_UM_I;                          val |= PCTR_UM_I;
                 if (func && (cfnp[ind].flags & CFL_MESI) &&                  if (func && (cfnp[ind].flags & CFL_MESI) &&
                     (!Mflag || !Eflag || !Sflag || !Iflag))                      (!Mflag || !Eflag || !Sflag || !Iflag))
                         val |= PCTR_X86_UM_MESI;                          val |= PCTR_UM_MESI;
                 if (func && (cfnp[ind].flags & CFL_ED))                  if (func && (cfnp[ind].flags & CFL_ED))
                         val |= PCTR_X86_E;                          val |= PCTR_E;
         case CPU_AMD:          case CPU_AMD:
                 if (cpu_type == CPU_AMD && func &&                  if (cpu_type == CPU_AMD && func &&
                     ((ind = pctr_ctrfn_index(amdfn, func)) < 0))                      ((ind = pctr_ctrfn_index(amdfn, func)) < 0))
Line 494 
Line 494 
                 if (ctr >= PCTR_AMD_NUM)                  if (ctr >= PCTR_AMD_NUM)
                         return (EX_DATAERR);                          return (EX_DATAERR);
                 if (eflag)                  if (eflag)
                         val |= PCTR_X86_E;                          val |= PCTR_E;
                 if (iflag)                  if (iflag)
                         val |= PCTR_X86_I;                          val |= PCTR_I;
                 if (kflag)                  if (kflag)
                         val |= PCTR_X86_K;                          val |= PCTR_K;
                 if (uflag)                  if (uflag)
                         val |= PCTR_X86_U;                          val |= PCTR_U;
                 if (func && (!kflag && !uflag))                  if (func && (!kflag && !uflag))
                         val |= PCTR_X86_K | PCTR_X86_U;                          val |= PCTR_K | PCTR_U;
                 val |= masku << PCTR_X86_UM_SHIFT;                  val |= masku << PCTR_UM_SHIFT;
                 val |= thold << PCTR_X86_CM_SHIFT;                  val |= thold << PCTR_CM_SHIFT;
                 if (func)                  if (func)
                         val |= PCTR_X86_EN;                          val |= PCTR_EN;
                 break;                  break;
         default:          default:
                 return (EX_UNAVAILABLE);                  return (EX_UNAVAILABLE);

Legend:
Removed from v.1.14  
changed lines
  Added in v.1.15