Messages in this thread | | | Date | Tue, 14 Apr 2020 20:05:45 +0200 | From | Peter Zijlstra <> | Subject | Re: [PATCH v3 3/3] x86/delay: Introduce TPAUSE delay |
| |
On Tue, Apr 14, 2020 at 06:00:21PM +0000, Luck, Tony wrote: > >> +static inline void __tpause(u32 ecx, u32 edx, u32 eax) > >> +{ > >> + /* "tpause %ecx, %edx, %eax;" */ > >> + asm volatile(".byte 0x66, 0x0f, 0xae, 0xf1\t\n" > >> + : > >> + : "c"(ecx), "d"(edx), "a"(eax)); > >> +} > > > > Can we please get a comment stating from what binutils version this > > opcode has a mnemonic? That way, when we raise the minimum binutils > > version we can easily grep and find such things. > > Or maybe use arch/x86/Kconfig.assembler to set up a CONFIG_AS_TPAUSE? > > Then the code can read something like (syntax may need fixing) > > #ifdef CONFIG_AS_TPAUSE > asm volatile("tpause %ecx\n", : : "c"(ecx), "d"(edx), "a"(eax)); > #else > asm volatile(".byte hex gibberish ... > #endif
Then we still need a comment to know when we can kill that...
| |