On 20/10/2022 12:39, Borislav Petkov wrote:
On Thu, Oct 20, 2022 at 01:36:19PM +0200, Juergen Gross wrote:
xen_enable_sysenter() and xen_enable_syscall() can be simplified a lot.Can you switch that and below to cpu_feature_enabled() while at it, pls?
Signed-off-by: Juergen Gross <jgross@xxxxxxxx>
---
arch/x86/xen/setup.c | 23 ++++++-----------------
1 file changed, 6 insertions(+), 17 deletions(-)
diff --git a/arch/x86/xen/setup.c b/arch/x86/xen/setup.c
index cfa99e8f054b..0f33ed6d3a7b 100644
--- a/arch/x86/xen/setup.c
+++ b/arch/x86/xen/setup.c
@@ -910,17 +910,9 @@ static int register_callback(unsigned type, const void *func)
void xen_enable_sysenter(void)
{
- int ret;
- unsigned sysenter_feature;
-
- sysenter_feature = X86_FEATURE_SYSENTER32;
-
- if (!boot_cpu_has(sysenter_feature))
- return;
-
- ret = register_callback(CALLBACKTYPE_sysenter, xen_entry_SYSENTER_compat);
- if(ret != 0)
- setup_clear_cpu_cap(sysenter_feature);
+ if (boot_cpu_has(X86_FEATURE_SYSENTER32) &&
Why?
This function (should) be called on the BSP only (because Xen's API lets
this be specified when starting APs).
Whether it's once, or one per cpu, it doesn't matter.
Attachment:
OpenPGP_0xB0DE9DD628BF132F.asc
Description: OpenPGP public key
Attachment:
OpenPGP_signature
Description: OpenPGP digital signature