On 6/22/22 18:26, Tony W Wang-oc wrote:
Recent Zhaoxin/Centaur CPUs support X86_FEATURE_MWAIT that implies
the MONITOR/MWAIT instructions can be used for ACPI Cx state.
The BIOS declares Cx state in _CST object to use FFH on Zhaoxin/Centaur
systems. So let function ffh_cstate_init() support These CPUs too.
Signed-off-by: Tony W Wang-oc <TonyWWang-oc@xxxxxxxxxxx>
---
arch/x86/kernel/acpi/cstate.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/arch/x86/kernel/acpi/cstate.c b/arch/x86/kernel/acpi/cstate.c
index 7945eae..d4185e1 100644
--- a/arch/x86/kernel/acpi/cstate.c
+++ b/arch/x86/kernel/acpi/cstate.c
@@ -213,7 +213,9 @@ static int __init ffh_cstate_init(void)
if (c->x86_vendor != X86_VENDOR_INTEL &&
c->x86_vendor != X86_VENDOR_AMD &&
- c->x86_vendor != X86_VENDOR_HYGON)
+ c->x86_vendor != X86_VENDOR_HYGON &&
+ c->x86_vendor != X86_VENDOR_CENTAUR &&
+ c->x86_vendor != X86_VENDOR_ZHAOXIN)
return -1;
Many of the changelogs that add new vendors here go on about particular
C states declared in the _CST object and contents of CPUID leaf 5.
Why do we even _have_ a vendor check here? Shouldn't the code just be
going and doing the validation of the _CST object and CPUID that the
changelogs blather on about?
Intel certainly made the original sin on this one (see 991528d7348), but
I hope _something_ changed in the 16 years since that patch went in.
.