Messages in this thread | | | From | David Laight <> | Subject | RE: [PATCH] objtool,x86: Teach decode about LOOP* instructions | Date | Wed, 7 Sep 2022 09:06:12 +0000 |
| |
From: Peter Zijlstra > Sent: 07 September 2022 10:01 > > On Wed, Sep 07, 2022 at 09:06:45AM +0200, Peter Zijlstra wrote: > > On Wed, Sep 07, 2022 at 09:55:21AM +0900, Masami Hiramatsu (Google) wrote: > > > > > +/* Return the jump target address or 0 */ > > > +static inline unsigned long insn_get_branch_addr(struct insn *insn) > > > +{ > > > + switch (insn->opcode.bytes[0]) { > > > + case 0xe0: /* loopne */ > > > + case 0xe1: /* loope */ > > > + case 0xe2: /* loop */ > > > > Oh cute, objtool doesn't know about those, let me go add them.
Do they ever appear in the kernel? They are so slow on Intel cpu that finding one ought to deemed a bug!
Have you got jcxz (0xe3) in there? They are fast on both Intel and AMD cpus - so are usable.
David
- Registered Address Lakeside, Bramley Road, Mount Farm, Milton Keynes, MK1 1PT, UK Registration No: 1397386 (Wales)
| |