noexec=on: enable non-executable mappings (default)
                        noexec=off: disable nn-executable mappings
 
-       nofxsr          [BUGS=IA-32]
+       nofxsr          [BUGS=IA-32] Disables x86 floating point extended
+                       register save and restore. The kernel will only save
+                       legacy floating-point registers on task switch.
 
        nohlt           [BUGS=ARM]
 
 
        nosbagart       [IA-64]
 
+       nosep           [BUGS=IA-32] Disables x86 SYSENTER/SYSEXIT support.
+
        nosmp           [SMP] Tells an SMP kernel to act as a UP kernel.
 
        nosync          [HW,M68K] Disables sync negotiation for all devices.
 
 EXPORT_PER_CPU_SYMBOL(cpu_16bit_stack);
 
 static int cachesize_override __cpuinitdata = -1;
-static int disable_x86_fxsr __cpuinitdata = 0;
+static int disable_x86_fxsr __cpuinitdata;
 static int disable_x86_serial_nr __cpuinitdata = 1;
+static int disable_x86_sep __cpuinitdata;
 
 struct cpu_dev * cpu_devs[X86_VENDOR_NUM] = {};
 
 __setup("nofxsr", x86_fxsr_setup);
 
 
+static int __init x86_sep_setup(char * s)
+{
+       disable_x86_sep = 1;
+       return 1;
+}
+__setup("nosep", x86_sep_setup);
+
+
 /* Standard macro to see if a specific flag is changeable */
 static inline int flag_is_changeable_p(u32 flag)
 {
                clear_bit(X86_FEATURE_XMM, c->x86_capability);
        }
 
+       /* SEP disabled? */
+       if (disable_x86_sep)
+               clear_bit(X86_FEATURE_SEP, c->x86_capability);
+
        if (disable_pse)
                clear_bit(X86_FEATURE_PSE, c->x86_capability);