x86/lib: Add WBINVD and WBNOINVD helpers to target multiple CPUs
authorZheyun Shen <szy0127@sjtu.edu.cn>
Thu, 22 May 2025 23:37:28 +0000 (16:37 -0700)
committerBorislav Petkov (AMD) <bp@alien8.de>
Thu, 10 Jul 2025 11:30:17 +0000 (13:30 +0200)
commit4fdc3431e03b9c11803f399f91837fca487029a1
tree2ba967143c85a0e076f974a5945c11c9fc07806e
parent07f99c3fbe6e322bdb222fbfd59f708ced799cc5
x86/lib: Add WBINVD and WBNOINVD helpers to target multiple CPUs

Extract KVM's open-coded calls to do writeback caches on multiple CPUs to
common library helpers for both WBINVD and WBNOINVD (KVM will use both).
Put the onus on the caller to check for a non-empty mask to simplify the
SMP=n implementation, e.g. so that it doesn't need to check that the one
and only CPU in the system is present in the mask.

  [sean: move to lib, add SMP=n helpers, clarify usage]

Signed-off-by: Zheyun Shen <szy0127@sjtu.edu.cn>
Signed-off-by: Sean Christopherson <seanjc@google.com>
Signed-off-by: Borislav Petkov (AMD) <bp@alien8.de>
Reviewed-by: Tom Lendacky <thomas.lendacky@amd.com>
Acked-by: Kai Huang <kai.huang@intel.com>
Link: https://lore.kernel.org/r/20250128015345.7929-2-szy0127@sjtu.edu.cn
Link: https://lore.kernel.org/20250522233733.3176144-5-seanjc@google.com
arch/x86/include/asm/smp.h
arch/x86/kvm/x86.c
arch/x86/lib/cache-smp.c