Re: [PATCH] x86: add hintable NOPs emulation

From: Peter Zijlstra
Date: Thu Aug 21 2025 - 10:05:49 EST


On Thu, Aug 21, 2025 at 03:45:29PM +0200, Marcos Del Sol Vives wrote:
> El 21/08/2025 a las 14:48, Peter Zijlstra escribió:
> > On Wed, Aug 20, 2025 at 03:34:46AM +0200, Marcos Del Sol Vives wrote:
> >> + /* Hintable NOPs cover 0F 18 to 0F 1F */
> >> + if (insn.opcode.bytes[0] != 0x0F ||
> >> + insn.opcode.bytes[1] < 0x18 || insn.opcode.bytes[1] > 0x1F)
> >> + return false;
> >
> > FWIW, you need to check for insn.opcode.nbytes == 2.
> >
>
> I can add it no problem for clarity, but would it be really necessary?
>
> All opcodes in that range will have that length by the Intel SDM, so it seems
> somewhat redundant, and if the opcode couldn't be read in full the decode
> would've failed earlier.
>
> insn_decode_mmio for example which I used as an example of software parsing
> of instructions does not check any length if the prefix was 0x0f.

Yeah, I suppose you're right.