[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [xen master] x86/spec-ctrl: Rework init_shadow_spec_ctrl_state() to take an info pointer
commit 7f69bf4898de5919dfd3affa78baafcc3fd75aca Author: Andrew Cooper <andrew.cooper3@xxxxxxxxxx> AuthorDate: Thu Aug 7 19:48:51 2025 +0100 Commit: Andrew Cooper <andrew.cooper3@xxxxxxxxxx> CommitDate: Fri Aug 15 11:13:41 2025 +0100 x86/spec-ctrl: Rework init_shadow_spec_ctrl_state() to take an info pointer We're going to want to reuse it for a remote stack shortly. No functional change. Signed-off-by: Andrew Cooper <andrew.cooper3@xxxxxxxxxx> Acked-by: Jan Beulich <jbeulich@xxxxxxxx> --- xen/arch/x86/include/asm/spec_ctrl.h | 4 +--- xen/arch/x86/setup.c | 2 +- xen/arch/x86/smpboot.c | 2 +- xen/arch/x86/spec_ctrl.c | 2 +- 4 files changed, 4 insertions(+), 6 deletions(-) diff --git a/xen/arch/x86/include/asm/spec_ctrl.h b/xen/arch/x86/include/asm/spec_ctrl.h index 6724d38120..3d92928f94 100644 --- a/xen/arch/x86/include/asm/spec_ctrl.h +++ b/xen/arch/x86/include/asm/spec_ctrl.h @@ -99,10 +99,8 @@ extern bool opt_bp_spec_reduce; */ extern paddr_t l1tf_addr_mask, l1tf_safe_maddr; -static inline void init_shadow_spec_ctrl_state(void) +static inline void init_shadow_spec_ctrl_state(struct cpu_info *info) { - struct cpu_info *info = get_cpu_info(); - info->shadow_spec_ctrl = 0; info->xen_spec_ctrl = default_xen_spec_ctrl; info->scf = default_scf; diff --git a/xen/arch/x86/setup.c b/xen/arch/x86/setup.c index c8c408e024..6fb42c5a5f 100644 --- a/xen/arch/x86/setup.c +++ b/xen/arch/x86/setup.c @@ -1126,7 +1126,7 @@ void asmlinkage __init noreturn __start_xen(void) /* Critical region without exception handling. Any fault is deadly! */ - init_shadow_spec_ctrl_state(); + init_shadow_spec_ctrl_state(info); percpu_init_areas(); diff --git a/xen/arch/x86/smpboot.c b/xen/arch/x86/smpboot.c index 302be4341b..ce4862dde5 100644 --- a/xen/arch/x86/smpboot.c +++ b/xen/arch/x86/smpboot.c @@ -332,7 +332,7 @@ void asmlinkage start_secondary(void) set_current(idle_vcpu[cpu]); this_cpu(curr_vcpu) = idle_vcpu[cpu]; rdmsrl(MSR_EFER, this_cpu(efer)); - init_shadow_spec_ctrl_state(); + init_shadow_spec_ctrl_state(info); /* * Just as during early bootstrap, it is convenient here to disable diff --git a/xen/arch/x86/spec_ctrl.c b/xen/arch/x86/spec_ctrl.c index feae0d710f..1ff3d6835d 100644 --- a/xen/arch/x86/spec_ctrl.c +++ b/xen/arch/x86/spec_ctrl.c @@ -2226,7 +2226,7 @@ void __init init_speculation_mitigations(void) opt_eager_fpu = should_use_eager_fpu(); /* (Re)init BSP state now that default_scf has been calculated. */ - init_shadow_spec_ctrl_state(); + init_shadow_spec_ctrl_state(get_cpu_info()); /* * For microcoded IBRS only (i.e. Intel, pre eIBRS), it is recommended to -- generated by git-patchbot for /home/xen/git/xen.git#master
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |