]> git.proxmox.com Git - mirror_ubuntu-bionic-kernel.git/commit
x86/asm: Fix MWAITX C-state hint value
authorJanakarajan Natarajan <Janakarajan.Natarajan@amd.com>
Mon, 7 Oct 2019 19:00:22 +0000 (19:00 +0000)
committerStefan Bader <stefan.bader@canonical.com>
Tue, 12 Nov 2019 18:04:38 +0000 (19:04 +0100)
commit3450d03843d1a0e40bca5574530f247ab753a4cf
tree000747d40ae925a6c8ed287e9b73a5e8ec62b960
parent4583cc8a8c2307dcf1a7d037491d90d03505c37b
x86/asm: Fix MWAITX C-state hint value

BugLink: https://bugs.launchpad.net/bugs/1850541
commit 454de1e7d970d6bc567686052329e4814842867c upstream.

As per "AMD64 Architecture Programmer's Manual Volume 3: General-Purpose
and System Instructions", MWAITX EAX[7:4]+1 specifies the optional hint
of the optimized C-state. For C0 state, EAX[7:4] should be set to 0xf.

Currently, a value of 0xf is set for EAX[3:0] instead of EAX[7:4]. Fix
this by changing MWAITX_DISABLE_CSTATES from 0xf to 0xf0.

This hasn't had any implications so far because setting reserved bits in
EAX is simply ignored by the CPU.

 [ bp: Fixup comment in delay_mwaitx() and massage. ]

Signed-off-by: Janakarajan Natarajan <Janakarajan.Natarajan@amd.com>
Signed-off-by: Borislav Petkov <bp@suse.de>
Cc: Frederic Weisbecker <frederic@kernel.org>
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Cc: "H. Peter Anvin" <hpa@zytor.com>
Cc: Ingo Molnar <mingo@redhat.com>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: "x86@kernel.org" <x86@kernel.org>
Cc: Zhenzhong Duan <zhenzhong.duan@oracle.com>
Cc: <stable@vger.kernel.org>
Link: https://lkml.kernel.org/r/20191007190011.4859-1-Janakarajan.Natarajan@amd.com
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Kamal Mostafa <kamal@canonical.com>
Signed-off-by: Kleber Sacilotto de Souza <kleber.souza@canonical.com>
arch/x86/include/asm/mwait.h
arch/x86/lib/delay.c