[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-changelog] [xen master] x86/spec-ctrl: Drop the bti= command line option
commit aaed4babc4b9b68faabd5a3931059ef0c66c7886 Author: Andrew Cooper <andrew.cooper3@xxxxxxxxxx> AuthorDate: Thu Nov 29 18:17:45 2018 +0000 Commit: Andrew Cooper <andrew.cooper3@xxxxxxxxxx> CommitDate: Wed Dec 5 20:34:57 2018 +0000 x86/spec-ctrl: Drop the bti= command line option bti= was introduced with the original Spectre fixes (Jan 2018), but by the time Speculative Store Bypass came along (May 2018), it was superceeded by the more generic spec-ctrl=. Since then, we've had LazyFPU (June 2018) and L1TF (August 2018), which means noone will be using the option. Remove it entirely - anyone who happens to accidentially be using it might now spot Xen complaining about an option it doesn't understand. Signed-off-by: Andrew Cooper <andrew.cooper3@xxxxxxxxxx> Acked-by: Jan Beulich <jbeulich@xxxxxxxx> --- docs/misc/xen-command-line.markdown | 34 ---------------------- xen/arch/x86/spec_ctrl.c | 57 ------------------------------------- 2 files changed, 91 deletions(-) diff --git a/docs/misc/xen-command-line.markdown b/docs/misc/xen-command-line.markdown index 9028bcde2e..764f33a3ca 100644 --- a/docs/misc/xen-command-line.markdown +++ b/docs/misc/xen-command-line.markdown @@ -250,40 +250,6 @@ and not running softirqs. Reduce this if softirqs are not being run frequently enough. Setting this to a high value may cause boot failure, particularly if the NMI watchdog is also enabled. -### bti (x86) -> `= List of [ <bool>, thunk=retpoline|lfence|jmp, ibrs=<bool>, ibpb=<bool>, rsb=<bool>, rsb_{vmexit,native}=<bool> ]` - -**WARNING: This command line option is deprecated, and superseded by -_spec-ctrl=_ - using both options in combination is undefined.** - -Branch Target Injection controls. By default, Xen will pick the most -appropriate BTI mitigations based on compiled in support, loaded microcode, -and hardware details. - -**WARNING: Any use of this option may interfere with heuristics. Use with -extreme care.** - -A (negative) boolean value can be specified to turn off all mitigations. -(Use of a positive boolean value is invalid.) - -If Xen was compiled with INDIRECT\_THUNK support, `thunk=` can be used to -select which of the thunks gets patched into the `__x86_indirect_thunk_%reg` -locations. The default thunk is `retpoline` (generally preferred for Intel -hardware), with the alternatives being `jmp` (a `jmp *%reg` gadget, minimal -overhead), and `lfence` (an `lfence; jmp *%reg` gadget, preferred for AMD). - -On hardware supporting IBRS, the `ibrs=` option can be used to force or -prevent Xen using the feature itself. If Xen is not using IBRS itself, -functionality is still set up so IBRS can be virtualised for guests. - -On hardware supporting IBPB, the `ibpb=` option can be used to prevent Xen -from issuing Branch Prediction Barriers on vcpu context switches. - -The `rsb=`, `rsb_vmexit=` and `rsb_native=` options can be used to control -when the RSB gets overwritten. The former control all RSB overwriting, while -the latter two can be used to fine tune overwriting on from HVM context, and -an entry from a native (PV or Xen) context. - ### clocksource (x86) > `= pit | hpet | acpi | tsc` diff --git a/xen/arch/x86/spec_ctrl.c b/xen/arch/x86/spec_ctrl.c index b5e77bd161..a36bcef6ca 100644 --- a/xen/arch/x86/spec_ctrl.c +++ b/xen/arch/x86/spec_ctrl.c @@ -59,63 +59,6 @@ paddr_t __read_mostly l1tf_addr_mask, __read_mostly l1tf_safe_maddr; static bool __initdata cpu_has_bug_l1tf; static unsigned int __initdata l1d_maxphysaddr; -static int __init parse_bti(const char *s) -{ - const char *ss; - int val, rc = 0; - - do { - ss = strchr(s, ','); - if ( !ss ) - ss = strchr(s, '\0'); - - val = parse_bool(s, ss); - if ( !val ) - { - opt_thunk = THUNK_JMP; - opt_ibrs = 0; - opt_ibpb = false; - opt_rsb_pv = false; - opt_rsb_hvm = false; - } - else if ( val > 0 ) - rc = -EINVAL; - else if ( !strncmp(s, "thunk=", 6) ) - { - s += 6; - - if ( !strncmp(s, "retpoline", ss - s) ) - opt_thunk = THUNK_RETPOLINE; - else if ( !strncmp(s, "lfence", ss - s) ) - opt_thunk = THUNK_LFENCE; - else if ( !strncmp(s, "jmp", ss - s) ) - opt_thunk = THUNK_JMP; - else - rc = -EINVAL; - } - else if ( (val = parse_boolean("ibrs", s, ss)) >= 0 ) - opt_ibrs = val; - else if ( (val = parse_boolean("ibpb", s, ss)) >= 0 ) - opt_ibpb = val; - else if ( (val = parse_boolean("rsb_native", s, ss)) >= 0 ) - opt_rsb_pv = val; - else if ( (val = parse_boolean("rsb_vmexit", s, ss)) >= 0 ) - opt_rsb_hvm = val; - else if ( (val = parse_boolean("rsb", s, ss)) >= 0 ) - { - opt_rsb_pv = val; - opt_rsb_hvm = val; - } - else - rc = -EINVAL; - - s = ss + 1; - } while ( *ss ); - - return rc; -} -custom_param("bti", parse_bti); - static int __init parse_spec_ctrl(const char *s) { const char *ss; -- generated by git-patchbot for /home/xen/git/xen.git#master _______________________________________________ Xen-changelog mailing list Xen-changelog@xxxxxxxxxxxxxxxxxxxx https://lists.xenproject.org/xen-changelog
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |