"On second thought , let’s not go to x86-64 microarchitectural levels. ‘Tis a silly place" On Wed, 4 Dec 2024 at 02:31, Arnd Bergmann <arnd@xxxxxxxxxx> wrote: > > To allow reliably building a kernel for either the oldest x86-64 > CPUs or a more recent level, add three separate options for > v1, v2 and v3 of the architecture as defined by gcc and clang > and make them all turn on CONFIG_GENERIC_CPU. The whole "v2", "v3", "v4" etc naming seems to be some crazy glibc artifact and is stupid and needs to die. It has no relevance to anything. Please do *not* introduce that mind-fart into the kernel sources. I have no idea who came up with the "microarchitecture levels" garbage, but as far as I can tell, it's entirely unofficial, and it's a completely broken model. There is a very real model for microarchitectural features, and it's the CPUID bits. Trying to linearize those bits is technically wrong, since these things simply aren't some kind of linear progression. And worse, it's a "simplification" that literally adds complexity. Now instead of asking "does this CPU support the cmpxchgb16 instruction?", the question instead becomes one of "what the hell does 'v3' mean again?" So no. We are *NOT* introducing that idiocy in the kernel. Linus