Re: [PATCH V1] x86/cstate: Add Zhaoxin/Centaur ACPI Cx FFH MWAIT support
From: Dave Hansen
Date: Thu Jun 23 2022 - 11:56:18 EST
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.