From: "tip-bot2 for Xin Li" <tip-bot2@linutronix.de>
To: linux-tip-commits@vger.kernel.org
Cc: Xin Li <xin3.li@intel.com>, Thomas Gleixner <tglx@linutronix.de>,
"Borislav Petkov (AMD)" <bp@alien8.de>,
Shan Kang <shan.kang@intel.com>,
x86@kernel.org, linux-kernel@vger.kernel.org
Subject: [tip: x86/fred] x86/fred: Add a fred= cmdline param
Date: Wed, 31 Jan 2024 07:21:28 -0000 [thread overview]
Message-ID: <170668568846.398.2224540814571562742.tip-bot2@tip-bot2> (raw)
In-Reply-To: <20231205105030.8698-9-xin3.li@intel.com>
The following commit has been merged into the x86/fred branch of tip:
Commit-ID: 3810da12710aaa05c6101418675c923642a80c0c
Gitweb: https://git.kernel.org/tip/3810da12710aaa05c6101418675c923642a80c0c
Author: Xin Li <xin3.li@intel.com>
AuthorDate: Tue, 05 Dec 2023 02:49:57 -08:00
Committer: Borislav Petkov (AMD) <bp@alien8.de>
CommitterDate: Tue, 30 Jan 2024 18:19:20 +01:00
x86/fred: Add a fred= cmdline param
Let command line option "fred" accept multiple options to make it
easier to tweak its behavior.
Currently, two options 'on' and 'off' are allowed, and the default
behavior is to disable FRED. To enable FRED, append "fred=on" to the
kernel command line.
[ bp: Use cpu_feature_enabled(), touch ups. ]
Signed-off-by: Xin Li <xin3.li@intel.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Borislav Petkov (AMD) <bp@alien8.de>
Tested-by: Shan Kang <shan.kang@intel.com>
Link: https://lore.kernel.org/r/20231205105030.8698-9-xin3.li@intel.com
---
Documentation/admin-guide/kernel-parameters.txt | 6 ++++-
arch/x86/kernel/traps.c | 26 ++++++++++++++++-
2 files changed, 32 insertions(+)
diff --git a/Documentation/admin-guide/kernel-parameters.txt b/Documentation/admin-guide/kernel-parameters.txt
index 31b3a25..d6ea4f4 100644
--- a/Documentation/admin-guide/kernel-parameters.txt
+++ b/Documentation/admin-guide/kernel-parameters.txt
@@ -1539,6 +1539,12 @@
Warning: use of this parameter will taint the kernel
and may cause unknown problems.
+ fred= [X86-64]
+ Enable/disable Flexible Return and Event Delivery.
+ Format: { on | off }
+ on: enable FRED when it's present.
+ off: disable FRED, the default setting.
+
ftrace=[tracer]
[FTRACE] will set and start the specified tracer
as early as possible in order to facilitate early
diff --git a/arch/x86/kernel/traps.c b/arch/x86/kernel/traps.c
index c3b2f86..3c37489 100644
--- a/arch/x86/kernel/traps.c
+++ b/arch/x86/kernel/traps.c
@@ -1369,8 +1369,34 @@ DEFINE_IDTENTRY_SW(iret_error)
}
#endif
+/* Do not enable FRED by default yet. */
+static bool enable_fred __ro_after_init = false;
+
+#ifdef CONFIG_X86_FRED
+static int __init fred_setup(char *str)
+{
+ if (!str)
+ return -EINVAL;
+
+ if (!cpu_feature_enabled(X86_FEATURE_FRED))
+ return 0;
+
+ if (!strcmp(str, "on"))
+ enable_fred = true;
+ else if (!strcmp(str, "off"))
+ enable_fred = false;
+ else
+ pr_warn("invalid FRED option: 'fred=%s'\n", str);
+ return 0;
+}
+early_param("fred", fred_setup);
+#endif
+
void __init trap_init(void)
{
+ if (cpu_feature_enabled(X86_FEATURE_FRED) && !enable_fred)
+ setup_clear_cpu_cap(X86_FEATURE_FRED);
+
/* Init cpu_entry_area before IST entries are set up */
setup_cpu_entry_areas();
next prev parent reply other threads:[~2024-01-31 7:21 UTC|newest]
Thread overview: 150+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-12-05 10:49 [PATCH v13 00/35] x86: enable FRED for x86-64 Xin Li
2023-12-05 10:49 ` [PATCH v13 01/35] x86/cpufeatures,opcode,msr: Add the WRMSRNS instruction support Xin Li
2023-12-11 5:14 ` Masami Hiramatsu
2024-01-02 15:34 ` Borislav Petkov
2024-01-02 22:06 ` Li, Xin3
2024-01-03 11:10 ` Borislav Petkov
2024-01-25 18:21 ` [tip: x86/fred] " tip-bot2 for Xin Li
2023-12-05 10:49 ` [PATCH v13 02/35] x86/entry: Remove idtentry_sysvec from entry_{32,64}.S Xin Li
2024-01-25 18:21 ` [tip: x86/fred] " tip-bot2 for Xin Li
2023-12-05 10:49 ` [PATCH v13 03/35] x86/trapnr: Add event type macros to <asm/trapnr.h> Xin Li
2024-01-25 18:21 ` [tip: x86/fred] " tip-bot2 for Xin Li
2023-12-05 10:49 ` [PATCH v13 04/35] Documentation/x86/64: Add a documentation for FRED Xin Li
2024-01-25 18:21 ` [tip: x86/fred] Documentation/x86/64: Add " tip-bot2 for Xin Li
2023-12-05 10:49 ` [PATCH v13 05/35] x86/fred: Add Kconfig option for FRED (CONFIG_X86_FRED) Xin Li
2024-01-25 18:21 ` [tip: x86/fred] " tip-bot2 for H. Peter Anvin (Intel)
2023-12-05 10:49 ` [PATCH v13 06/35] x86/cpufeatures: Add the CPU feature bit for FRED Xin Li
2024-01-25 18:21 ` [tip: x86/fred] " tip-bot2 for H. Peter Anvin (Intel)
2023-12-05 10:49 ` [PATCH v13 07/35] x86/fred: Disable FRED support if CONFIG_X86_FRED is disabled Xin Li
2024-01-22 13:08 ` Borislav Petkov
2024-01-25 18:21 ` [tip: x86/fred] " tip-bot2 for H. Peter Anvin (Intel)
2023-12-05 10:49 ` [PATCH v13 08/35] x86/fred: Disable FRED by default in its early stage Xin Li
2024-01-22 13:19 ` Borislav Petkov
2024-01-25 18:21 ` [tip: x86/fred] " tip-bot2 for Xin Li
2024-01-31 7:21 ` tip-bot2 for Xin Li [this message]
2023-12-05 10:49 ` [PATCH v13 09/35] x86/opcode: Add ERET[US] instructions to the x86 opcode map Xin Li
2024-01-25 18:21 ` [tip: x86/fred] " tip-bot2 for H. Peter Anvin (Intel)
2024-01-31 7:21 ` tip-bot2 for H. Peter Anvin (Intel)
2024-01-31 21:14 ` tip-bot2 for H. Peter Anvin (Intel)
2023-12-05 10:49 ` [PATCH v13 10/35] x86/objtool: Teach objtool about ERET[US] Xin Li
2024-01-25 18:21 ` [tip: x86/fred] " tip-bot2 for H. Peter Anvin (Intel)
2024-01-31 7:21 ` tip-bot2 for H. Peter Anvin (Intel)
2024-01-31 21:14 ` tip-bot2 for H. Peter Anvin (Intel)
2023-12-05 10:50 ` [PATCH v13 11/35] x86/cpu: Add X86_CR4_FRED macro Xin Li
2024-01-25 18:21 ` [tip: x86/fred] " tip-bot2 for H. Peter Anvin (Intel)
2024-01-31 7:21 ` tip-bot2 for H. Peter Anvin (Intel)
2024-01-31 21:14 ` tip-bot2 for H. Peter Anvin (Intel)
2023-12-05 10:50 ` [PATCH v13 12/35] x86/cpu: Add MSR numbers for FRED configuration Xin Li
2024-01-25 18:21 ` [tip: x86/fred] " tip-bot2 for H. Peter Anvin (Intel)
2024-01-31 7:21 ` tip-bot2 for H. Peter Anvin (Intel)
2024-01-31 21:14 ` tip-bot2 for H. Peter Anvin (Intel)
2023-12-05 10:50 ` [PATCH v13 13/35] x86/ptrace: Cleanup the definition of the pt_regs structure Xin Li
2024-01-25 18:21 ` [tip: x86/fred] " tip-bot2 for Xin Li
2024-01-31 7:21 ` tip-bot2 for Xin Li
2024-01-31 21:14 ` tip-bot2 for Xin Li
2024-02-03 23:52 ` H. Peter Anvin
2024-02-06 19:04 ` Xin Li
2024-02-06 20:45 ` H. Peter Anvin
2024-02-06 21:10 ` H.J. Lu
2023-12-05 10:50 ` [PATCH v13 14/35] x86/ptrace: Add FRED additional information to " Xin Li
2024-01-25 18:21 ` [tip: x86/fred] " tip-bot2 for Xin Li
2024-01-31 7:21 ` tip-bot2 for Xin Li
2024-01-31 21:14 ` tip-bot2 for Xin Li
2023-12-05 10:50 ` [PATCH v13 15/35] x86/fred: Add a new header file for FRED definitions Xin Li
2024-01-25 18:21 ` [tip: x86/fred] " tip-bot2 for H. Peter Anvin (Intel)
2024-01-31 7:21 ` tip-bot2 for H. Peter Anvin (Intel)
2024-01-31 21:14 ` tip-bot2 for H. Peter Anvin (Intel)
2023-12-05 10:50 ` [PATCH v13 16/35] x86/fred: Reserve space for the FRED stack frame Xin Li
2024-01-25 18:21 ` [tip: x86/fred] " tip-bot2 for H. Peter Anvin (Intel)
2024-01-31 7:21 ` tip-bot2 for H. Peter Anvin (Intel)
2024-01-31 21:14 ` tip-bot2 for H. Peter Anvin (Intel)
2023-12-05 10:50 ` [PATCH v13 17/35] x86/fred: Update MSR_IA32_FRED_RSP0 during task switch Xin Li
2024-01-25 18:21 ` [tip: x86/fred] " tip-bot2 for H. Peter Anvin (Intel)
2024-01-31 7:21 ` tip-bot2 for H. Peter Anvin (Intel)
2024-01-31 21:14 ` tip-bot2 for H. Peter Anvin (Intel)
2023-12-05 10:50 ` [PATCH v13 18/35] x86/fred: Disallow the swapgs instruction when FRED is enabled Xin Li
2024-01-25 18:21 ` [tip: x86/fred] " tip-bot2 for H. Peter Anvin (Intel)
2024-01-31 7:21 ` tip-bot2 for H. Peter Anvin (Intel)
2024-01-31 21:14 ` tip-bot2 for H. Peter Anvin (Intel)
2023-12-05 10:50 ` [PATCH v13 19/35] x86/fred: No ESPFIX needed " Xin Li
2024-01-25 18:21 ` [tip: x86/fred] " tip-bot2 for H. Peter Anvin (Intel)
2024-01-31 7:21 ` tip-bot2 for H. Peter Anvin (Intel)
2024-01-31 21:14 ` tip-bot2 for H. Peter Anvin (Intel)
2023-12-05 10:50 ` [PATCH v13 20/35] x86/fred: Allow single-step trap and NMI when starting a new task Xin Li
2024-01-25 18:21 ` [tip: x86/fred] " tip-bot2 for H. Peter Anvin (Intel)
2024-01-31 7:21 ` tip-bot2 for H. Peter Anvin (Intel)
2024-01-31 21:14 ` tip-bot2 for H. Peter Anvin (Intel)
2023-12-05 10:50 ` [PATCH v13 21/35] x86/fred: Make exc_page_fault() work for FRED Xin Li
2024-01-25 18:21 ` [tip: x86/fred] " tip-bot2 for H. Peter Anvin (Intel)
2024-01-31 7:21 ` tip-bot2 for H. Peter Anvin (Intel)
2024-01-31 21:14 ` tip-bot2 for H. Peter Anvin (Intel)
2023-12-05 10:50 ` [PATCH v13 22/35] x86/idtentry: Incorporate definitions/declarations of the FRED entries Xin Li
2024-01-25 18:21 ` [tip: x86/fred] " tip-bot2 for Xin Li
2024-01-31 7:21 ` tip-bot2 for Xin Li
2024-01-31 21:14 ` tip-bot2 for Xin Li
2023-12-05 10:50 ` [PATCH v13 23/35] x86/fred: Add a debug fault entry stub for FRED Xin Li
2024-01-25 18:21 ` [tip: x86/fred] " tip-bot2 for H. Peter Anvin (Intel)
2024-01-31 7:21 ` tip-bot2 for H. Peter Anvin (Intel)
2024-01-31 21:14 ` tip-bot2 for H. Peter Anvin (Intel)
2023-12-05 10:50 ` [PATCH v13 24/35] x86/fred: Add a NMI " Xin Li
2023-12-15 1:51 ` H. Peter Anvin
2023-12-15 18:37 ` Li, Xin3
2023-12-16 6:31 ` [PATCH v13A " Xin Li
2024-01-25 18:21 ` [tip: x86/fred] " tip-bot2 for H. Peter Anvin (Intel)
2024-01-31 7:21 ` tip-bot2 for H. Peter Anvin (Intel)
2024-01-31 21:14 ` tip-bot2 for H. Peter Anvin (Intel)
2023-12-05 10:50 ` [PATCH v13 25/35] x86/fred: Add a machine check " Xin Li
2024-01-25 18:21 ` [tip: x86/fred] " tip-bot2 for Xin Li
2024-01-31 7:21 ` tip-bot2 for Xin Li
2024-01-31 21:14 ` tip-bot2 for Xin Li
2023-12-05 10:50 ` [PATCH v13 26/35] x86/fred: FRED entry/exit and dispatch code Xin Li
2023-12-05 12:25 ` Andrew Cooper
2023-12-05 19:03 ` Li, Xin3
2023-12-06 7:45 ` Li, Xin3
2023-12-06 14:11 ` Andrew Cooper
2023-12-06 19:19 ` Li, Xin3
2023-12-06 19:26 ` H. Peter Anvin
2023-12-06 19:58 ` Brian Gerst
2023-12-07 9:43 ` Li, Xin3
2023-12-09 21:42 ` [PATCH v13A " Xin Li
2024-01-25 18:21 ` [tip: x86/fred] " tip-bot2 for H. Peter Anvin (Intel)
2024-01-26 10:00 ` Borislav Petkov
2024-01-26 10:05 ` [PATCH v13A 26/35] " Borislav Petkov
2024-01-31 7:21 ` [tip: x86/fred] " tip-bot2 for H. Peter Anvin (Intel)
2024-01-31 21:14 ` tip-bot2 for H. Peter Anvin (Intel)
2023-12-05 10:50 ` [PATCH v13 27/35] x86/traps: Add sysvec_install() to install a system interrupt handler Xin Li
2024-01-25 18:21 ` [tip: x86/fred] " tip-bot2 for Xin Li
2024-01-31 7:21 ` tip-bot2 for Xin Li
2024-01-31 21:14 ` tip-bot2 for Xin Li
2023-12-05 10:50 ` [PATCH v13 28/35] x86/fred: Let ret_from_fork_asm() jmp to asm_fred_exit_user when FRED is enabled Xin Li
2024-01-25 18:21 ` [tip: x86/fred] " tip-bot2 for H. Peter Anvin (Intel)
2024-01-31 7:21 ` tip-bot2 for H. Peter Anvin (Intel)
2024-01-31 21:14 ` tip-bot2 for H. Peter Anvin (Intel)
2023-12-05 10:50 ` [PATCH v13 29/35] x86/fred: Fixup fault on ERETU by jumping to fred_entrypoint_user Xin Li
2024-01-25 18:21 ` [tip: x86/fred] " tip-bot2 for Xin Li
2024-01-31 7:21 ` tip-bot2 for Xin Li
2024-01-31 21:14 ` tip-bot2 for Xin Li
2023-12-05 10:50 ` [PATCH v13 30/35] x86/entry/calling: Allow PUSH_AND_CLEAR_REGS being used beyond actual entry code Xin Li
2024-01-25 18:21 ` [tip: x86/fred] " tip-bot2 for Peter Zijlstra (Intel)
2024-01-31 7:21 ` tip-bot2 for Peter Zijlstra (Intel)
2024-01-31 21:14 ` tip-bot2 for Peter Zijlstra (Intel)
2023-12-05 10:50 ` [PATCH v13 31/35] x86/entry: Add fred_entry_from_kvm() for VMX to handle IRQ/NMI Xin Li
2024-01-25 18:21 ` [tip: x86/fred] " tip-bot2 for Xin Li
2024-01-31 7:21 ` tip-bot2 for Xin Li
2024-01-31 21:14 ` tip-bot2 for Xin Li
2023-12-05 10:50 ` [PATCH v13 32/35] KVM: VMX: Call fred_entry_from_kvm() for IRQ/NMI handling Xin Li
2024-01-25 18:21 ` [tip: x86/fred] " tip-bot2 for Xin Li
2024-01-31 7:21 ` tip-bot2 for Xin Li
2024-01-31 21:14 ` tip-bot2 for Xin Li
2023-12-05 10:50 ` [PATCH v13 33/35] x86/syscall: Split IDT syscall setup code into idt_syscall_init() Xin Li
2024-01-25 18:21 ` [tip: x86/fred] " tip-bot2 for Xin Li
2024-01-31 7:21 ` tip-bot2 for Xin Li
2024-01-31 21:14 ` tip-bot2 for Xin Li
2023-12-05 10:50 ` [PATCH v13 34/35] x86/fred: Add FRED initialization functions Xin Li
2024-01-25 18:21 ` [tip: x86/fred] " tip-bot2 for H. Peter Anvin (Intel)
2024-01-31 7:21 ` tip-bot2 for H. Peter Anvin (Intel)
2024-01-31 21:14 ` tip-bot2 for H. Peter Anvin (Intel)
2023-12-05 10:50 ` [PATCH v13 35/35] x86/fred: Invoke FRED initialization code to enable FRED Xin Li
2024-01-25 18:21 ` [tip: x86/fred] " tip-bot2 for H. Peter Anvin (Intel)
2024-01-31 7:21 ` tip-bot2 for H. Peter Anvin (Intel)
2024-01-31 21:14 ` tip-bot2 for H. Peter Anvin (Intel)
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=170668568846.398.2224540814571562742.tip-bot2@tip-bot2 \
--to=tip-bot2@linutronix.de \
--cc=bp@alien8.de \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-tip-commits@vger.kernel.org \
--cc=shan.kang@intel.com \
--cc=tglx@linutronix.de \
--cc=x86@kernel.org \
--cc=xin3.li@intel.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®