diff options
| author | Avi Kivity <avi@redhat.com> | 2011-12-25 08:44:43 -0500 |
|---|---|---|
| committer | Avi Kivity <avi@redhat.com> | 2011-12-27 04:22:24 -0500 |
| commit | 9e31905f293ae84e4f120ed9e414031eaefa0bdf (patch) | |
| tree | 153204ff0dca820e760007bc24075ec7fb46a276 /arch/x86/lib/inat.c | |
| parent | ff5c2c0316ff0e3e2dba3ca14167d994453df093 (diff) | |
| parent | b3d9468a8bd218a695e3a0ff112cd4efd27b670a (diff) | |
Merge remote-tracking branch 'tip/perf/core' into kvm-updates/3.3
* tip/perf/core: (66 commits)
perf, x86: Expose perf capability to other modules
perf, x86: Implement arch event mask as quirk
x86, perf: Disable non available architectural events
jump_label: Provide jump_label_key initializers
jump_label, x86: Fix section mismatch
perf, core: Rate limit perf_sched_events jump_label patching
perf: Fix enable_on_exec for sibling events
perf: Remove superfluous arguments
perf, x86: Prefer fixed-purpose counters when scheduling
perf, x86: Fix event scheduler for constraints with overlapping counters
perf, x86: Implement event scheduler helper functions
perf: Avoid a useless pmu_disable() in the perf-tick
x86/tools: Add decoded instruction dump mode
x86: Update instruction decoder to support new AVX formats
x86/tools: Fix insn_sanity message outputs
x86/tools: Fix instruction decoder message output
x86: Fix instruction decoder to handle grouped AVX instructions
x86/tools: Fix Makefile to build all test tools
perf test: Soft errors shouldn't stop the "Validate PERF_RECORD_" test
perf test: Validate PERF_RECORD_ events and perf_sample fields
...
Signed-off-by: Avi Kivity <avi@redhat.com>
* commit 'b3d9468a8bd218a695e3a0ff112cd4efd27b670a': (66 commits)
perf, x86: Expose perf capability to other modules
perf, x86: Implement arch event mask as quirk
x86, perf: Disable non available architectural events
jump_label: Provide jump_label_key initializers
jump_label, x86: Fix section mismatch
perf, core: Rate limit perf_sched_events jump_label patching
perf: Fix enable_on_exec for sibling events
perf: Remove superfluous arguments
perf, x86: Prefer fixed-purpose counters when scheduling
perf, x86: Fix event scheduler for constraints with overlapping counters
perf, x86: Implement event scheduler helper functions
perf: Avoid a useless pmu_disable() in the perf-tick
x86/tools: Add decoded instruction dump mode
x86: Update instruction decoder to support new AVX formats
x86/tools: Fix insn_sanity message outputs
x86/tools: Fix instruction decoder message output
x86: Fix instruction decoder to handle grouped AVX instructions
x86/tools: Fix Makefile to build all test tools
perf test: Soft errors shouldn't stop the "Validate PERF_RECORD_" test
perf test: Validate PERF_RECORD_ events and perf_sample fields
...
Diffstat (limited to 'arch/x86/lib/inat.c')
| -rw-r--r-- | arch/x86/lib/inat.c | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/arch/x86/lib/inat.c b/arch/x86/lib/inat.c index 46fc4ee09fc4..88ad5fbda6e1 100644 --- a/arch/x86/lib/inat.c +++ b/arch/x86/lib/inat.c | |||
| @@ -82,9 +82,16 @@ insn_attr_t inat_get_avx_attribute(insn_byte_t opcode, insn_byte_t vex_m, | |||
| 82 | const insn_attr_t *table; | 82 | const insn_attr_t *table; |
| 83 | if (vex_m > X86_VEX_M_MAX || vex_p > INAT_LSTPFX_MAX) | 83 | if (vex_m > X86_VEX_M_MAX || vex_p > INAT_LSTPFX_MAX) |
| 84 | return 0; | 84 | return 0; |
| 85 | table = inat_avx_tables[vex_m][vex_p]; | 85 | /* At first, this checks the master table */ |
| 86 | table = inat_avx_tables[vex_m][0]; | ||
| 86 | if (!table) | 87 | if (!table) |
| 87 | return 0; | 88 | return 0; |
| 89 | if (!inat_is_group(table[opcode]) && vex_p) { | ||
| 90 | /* If this is not a group, get attribute directly */ | ||
| 91 | table = inat_avx_tables[vex_m][vex_p]; | ||
| 92 | if (!table) | ||
| 93 | return 0; | ||
| 94 | } | ||
| 88 | return table[opcode]; | 95 | return table[opcode]; |
| 89 | } | 96 | } |
| 90 | 97 | ||
