x86/fpu/xstate: Add helpers for LBR dynamic supervisor feature
authorKan Liang <kan.liang@linux.intel.com>
Fri, 3 Jul 2020 12:49:27 +0000 (05:49 -0700)
committerPeter Zijlstra <peterz@infradead.org>
Wed, 8 Jul 2020 09:38:56 +0000 (11:38 +0200)
commit50f408d96d4d1a945d2c50c5fd8ed400883edf0e
tree4c3cd86d7697a86da65cacdc2765d076270a685b
parentf0dccc9da4c0fda049e99326f85db8c242fd781f
x86/fpu/xstate: Add helpers for LBR dynamic supervisor feature

The perf subsystem will only need to save/restore the LBR state.
However, the existing helpers save all supported supervisor states to a
kernel buffer, which will be unnecessary. Two helpers are introduced to
only save/restore requested dynamic supervisor states. The supervisor
features in XFEATURE_MASK_SUPERVISOR_SUPPORTED and
XFEATURE_MASK_SUPERVISOR_UNSUPPORTED mask cannot be saved/restored using
these helpers.

The helpers will be used in the following patch.

Signed-off-by: Kan Liang <kan.liang@linux.intel.com>
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Reviewed-by: Dave Hansen <dave.hansen@intel.com>
Link: https://lkml.kernel.org/r/1593780569-62993-22-git-send-email-kan.liang@linux.intel.com
arch/x86/include/asm/fpu/xstate.h
arch/x86/kernel/fpu/xstate.c