On Wed, Jul 02, 2025, Zhao Liu wrote: > > I think we need firstly aligned on what the behavior of the Windows that hit > > "unsupported processor" is. > > > > My understanding is, the Windows is doing something like > > > > if (is_AMD && CPUID(arch_capabilities)) > > error(unsupported processor) > > This is just a guess; it's also possible that Windows checked this MSR > and found the necessary feature missing. Windows 11 has very strict > hardware support requirements. > > > And I think this behavior is not correct.
It's not really a matter of correct versus incorrect in this case. Software is well within its rights to refuse to run on unsupported hardware. E.g. many hypervisors now require EPT/NPT and other modern features. Even KVM requires a minimum set of features; KVM just happens to have a *very* low minimum, and KVM tries to be gentle and friendly when unsupported or incompatible hardware is encountered. Windows' behavior is arguably flawed, misguided, and user hostile, but we can't say it's wrong. E.g. even if the argument is that AMD could ship a future CPU that supports ARCH_CAPABILITIES, it's not a violation of AMD's architecture for Windows to not support such a processor.