|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [xen staging] 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#staging
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |