[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[PATCH] x86/xen: simplify sysenter and syscall setup



xen_enable_sysenter() and xen_enable_syscall() can be simplified a lot.

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) &&
+           register_callback(CALLBACKTYPE_sysenter, xen_entry_SYSENTER_compat))
+               setup_clear_cpu_cap(X86_FEATURE_SYSENTER32);
 }
 
 void xen_enable_syscall(void)
@@ -934,12 +926,9 @@ void xen_enable_syscall(void)
                   mechanism for syscalls. */
        }
 
-       if (boot_cpu_has(X86_FEATURE_SYSCALL32)) {
-               ret = register_callback(CALLBACKTYPE_syscall32,
-                                       xen_entry_SYSCALL_compat);
-               if (ret != 0)
-                       setup_clear_cpu_cap(X86_FEATURE_SYSCALL32);
-       }
+       if (boot_cpu_has(X86_FEATURE_SYSCALL32) &&
+           register_callback(CALLBACKTYPE_syscall32, xen_entry_SYSCALL_compat))
+               setup_clear_cpu_cap(X86_FEATURE_SYSCALL32);
 }
 
 static void __init xen_pvmmu_arch_setup(void)
-- 
2.35.3




 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.