• Arnaldo Carvalho de Melo's avatar
    perf trace beauty: Add a x86 MSR cmd id->str table generator · 693d3458
    Arnaldo Carvalho de Melo authored
    Without parameters it'll parse tools/arch/x86/include/asm/msr-index.h
    and output a table usable by tools, that will be wired up later to a
    libtraceevent plugin registered from perf's glue code:
    
      $ tools/perf/trace/beauty/tracepoints/x86_msr.sh
      static const char *x86_MSRs[] = {
     <SNIP>
      	[0x00000034] = "SMI_COUNT",
      	[0x0000003a] = "IA32_FEATURE_CONTROL",
      	[0x0000003b] = "IA32_TSC_ADJUST",
      	[0x00000040] = "LBR_CORE_FROM",
      	[0x00000048] = "IA32_SPEC_CTRL",
      	[0x00000049] = "IA32_PRED_CMD",
     <SNIP>
      	[0x0000010b] = "IA32_FLUSH_CMD",
      	[0x0000010F] = "TSX_FORCE_ABORT",
     <SNIP>
      	[0x00000198] = "IA32_PERF_STATUS",
      	[0x00000199] = "IA32_PERF_CTL",
      <SNIP>
      	[0x00000da0] = "IA32_XSS",
      	[0x00000dc0] = "LBR_INFO_0",
      	[0x00000ffc] = "IA32_BNDCFGS_RSVD",
      };
    
      #define x86_64_specific_MSRs_offset 0xc0000080
      static const char *x86_64_specific_MSRs[] = {
      	[0xc0000080 - x86_64_specific_MSRs_offset] = "EFER",
      	[0xc0000081 - x86_64_specific_MSRs_offset] = "STAR",
      	[0xc0000082 - x86_64_specific_MSRs_offset] = "LSTAR",
      	[0xc0000083 - x86_64_specific_MSRs_offset] = "CSTAR",
      	[0xc0000084 - x86_64_specific_MSRs_offset] = "SYSCALL_MASK",
      <SNIP>
      	[0xc0000103 - x86_64_specific_MSRs_offset] = "TSC_AUX",
      	[0xc0000104 - x86_64_specific_MSRs_offset] = "AMD64_TSC_RATIO",
      };
    
      #define x86_AMD_V_KVM_MSRs_offset 0xc0010000
      static const char *x86_AMD_V_KVM_MSRs[] = {
      	[0xc0010000 - x86_AMD_V_KVM_MSRs_offset] = "K7_EVNTSEL0",
      <SNIP>
      	[0xc0010114 - x86_AMD_V_KVM_MSRs_offset] = "VM_CR",
      	[0xc0010115 - x86_AMD_V_KVM_MSRs_offset] = "VM_IGNNE",
      	[0xc0010117 - x86_AMD_V_KVM_MSRs_offset] = "VM_HSAVE_PA",
      <SNIP>
      	[0xc0010240 - x86_AMD_V_KVM_MSRs_offset] = "F15H_NB_PERF_CTL",
      	[0xc0010241 - x86_AMD_V_KVM_MSRs_offset] = "F15H_NB_PERF_CTR",
      	[0xc0010280 - x86_AMD_V_KVM_MSRs_offset] = "F15H_PTSC",
      };
    
    Then these will in turn be hooked up in a follow up patch to be used by
    strarrays__scnprintf().
    
    Cc: Adrian Hunter <adrian.hunter@intel.com>
    Cc: Brendan Gregg <brendan.d.gregg@gmail.com>
    Cc: Jiri Olsa <jolsa@kernel.org>
    Cc: Luis Cláudio Gonçalves <lclaudio@redhat.com>
    Cc: Namhyung Kim <namhyung@kernel.org>
    Link: https://lkml.kernel.org/n/tip-ja080xawx08kedez855usnon@git.kernel.orgSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
    693d3458
x86_msr.sh 1.65 KB