Messages in this thread | | | From | "Luck, Tony" <> | Subject | RE: [PATCH v3 3/3] x86/delay: Introduce TPAUSE delay | Date | Tue, 14 Apr 2020 18:00:21 +0000 |
| |
>> +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
-Tony
| |