Re: [PATCH 0/6] x86/insn: Add instructions to instruction decoder

From: Arnaldo Carvalho de Melo
Date: Mon Jan 03 2022 - 13:23:06 EST


Em Mon, Jan 03, 2022 at 05:40:00PM +0200, Adrian Hunter escreveu:
> On 03/01/2022 17:01, Arnaldo Carvalho de Melo wrote:
> > Em Mon, Jan 03, 2022 at 11:56:08AM -0300, Arnaldo Carvalho de Melo escreveu:
> >> Em Mon, Jan 03, 2022 at 10:13:24AM +0200, Adrian Hunter escreveu:
> >>> On 23/12/2021 08:38, Masami Hiramatsu wrote:
> >>>> Hi,
> >>>>
> >>>> Sorry, I missed this series.
> >>>>
> >>>> On Thu, 2 Dec 2021 11:50:23 +0200
> >>>> Adrian Hunter <adrian.hunter@xxxxxxxxx> wrote:
> >>>>
> >>>>> Hi
> >>>>>
> >>>>> Here are patches to bring the kernel and tools x86 instruction decoder
> >>>>> more up to date.
> >>>>>
> >>>>> x86 instruction decoder is used for both kernel instructions and user space
> >>>>> instructions (e.g. uprobes, perf tools Intel PT), so it is good to update
> >>>>> it with new instructions.
> >>>>
> >>>> Hmm, I thought perf used objdump for that purpose internally.
> >>>> Anyway, this series looks good to me. I'm a bit surprised that the
> >>>> insn decoder can actually support those instructions only changing
> >>>> X86_EVEX_M() macro :-)
> >>>>
> >>>> Acked-by: Masami Hiramatsu <mhiramat@xxxxxxxxxx>
> >>>>
> >>>> Thank you!
> >>>
> >>> Thanks!
> >>>
> >>> Arnaldo, could you consider taking these patches?
> >>
> >> I can pick the tools/ bits, the arch/x86/ should go via PeterZ, right?
> >> Peter?
> >
> > I tried applying the whole shebang and got:
> >
> > ⬢[acme@toolbox perf]$ git am ./20211202_adrian_hunter_x86_insn_add_instructions_to_instruction_decoder.mbx
> > Applying: perf tests: Add AMX instructions to x86 instruction decoder test
> > Applying: x86/insn: Add AMX instructions to x86 instruction decoder
> > Applying: perf tests: Add misc instructions to x86 instruction decoder test
> > Applying: x86/insn: Add misc instructions to x86 instruction decoder
> > Applying: perf tests: Add AVX512-FP16 instructions to x86 instruction decoder test
> > Applying: x86/insn: Add AVX512-FP16 instructions to x86 instruction decoder
> > error: patch failed: arch/x86/lib/x86-opcode-map.txt:896
> > error: arch/x86/lib/x86-opcode-map.txt: patch does not apply
> > Patch failed at 0006 x86/insn: Add AVX512-FP16 instructions to x86 instruction decoder
> > hint: Use 'git am --show-current-patch=diff' to see the failed patch
> > When you have resolved this problem, run "git am --continue".
> > If you prefer to skip this patch, run "git am --skip" instead.
> > To restore the original branch and stop patching, run "git am --abort".
> > ⬢[acme@toolbox perf]$
> >
> > So since this needs rebasing, could you please split it into two
> > patchsets, one for tools/ and another for arch and send two batches?
> > This way I'll pick the tools/ one, the x86 maintainers the other bits.
> >
> > Otherwise the x86 maintainers would have to test if the tools/ bits
> > works as expected, etc.
>
> It seems not to be happening for me. What tree/branch is it?

tmp.perf/core

https://git.kernel.org/pub/scm/linux/kernel/git/acme/linux.git/log/?h=tmp.perf/core

I merged torvalds/master today, but it should work as that file was last
changed looong ago:

⬢[acme@toolbox perf]$ git log arch/x86/lib/x86-opcode-map.txt | head
commit 5790921bc18b1eb5c0c61371e31114fd4c4b0154
Author: Yu-cheng Yu <yu-cheng.yu@xxxxxxxxx>
Date: Tue Feb 4 09:14:24 2020 -0800

x86/insn: Add Control-flow Enforcement (CET) instructions to the opcode map

Add the following CET instructions to the opcode map:

INCSSP:
Increment Shadow Stack pointer (SSP).
⬢[acme@toolbox perf]$

Perhaps related to b4? I'll try updating it and retrying...

- Arnaldo