linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* Re: [patch 2.6.15] i386: allow disabling X86_FEATURE_SEP at boot
@ 2006-01-28  6:04 Chuck Ebbert
  0 siblings, 0 replies; 3+ messages in thread
From: Chuck Ebbert @ 2006-01-28  6:04 UTC (permalink / raw)
  To: Andrew Morton; +Cc: Ashok Raj, ergot86, torvalds, mingo, linux-kernel

In-Reply-To: <20060127143713.2efc16ed.akpm@osdl.org>

On Fri, 27 Jan 2006 at 14:37:13 -0800, Andrew Morton wrote:

> Chuck Ebbert <76306.1226@compuserve.com> wrote:
> >
> > Allow the x86 "sep" feature to be disabled at bootup.  This
> > forces use of the int80 vsyscall.
> > 
>
> Why is there a need to do this?

Mainly for testing or benchmarking the int80 vsyscall code.

> > --- 2.6.15a.orig/arch/i386/kernel/cpu/common.c
> > +++ 2.6.15a/arch/i386/kernel/cpu/common.c
> > @@ -27,6 +27,7 @@ EXPORT_PER_CPU_SYMBOL(cpu_16bit_stack);
> >  static int cachesize_override __devinitdata = -1;
> >  static int disable_x86_fxsr __devinitdata = 0;
> >  static int disable_x86_serial_nr __devinitdata = 1;
> > +static int disable_x86_sep __devinitdata = 0;
> >  
>
> hm, I guess lots of things in there should be __cpuinit/__cpuinitdata. 

I'll try to do that.

> __devinit is a superset of that, but we're being a little wasteful in the
> case of CONFIG_HOTPLUG&&!CONFIG_HOTPLUG_CPU.

-- 
Chuck


^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [patch 2.6.15] i386: allow disabling X86_FEATURE_SEP at boot
  2006-01-26 18:36 Chuck Ebbert
@ 2006-01-27 22:37 ` Andrew Morton
  0 siblings, 0 replies; 3+ messages in thread
From: Andrew Morton @ 2006-01-27 22:37 UTC (permalink / raw)
  To: Chuck Ebbert; +Cc: linux-kernel, mingo, torvalds, ergot86, Ashok Raj

Chuck Ebbert <76306.1226@compuserve.com> wrote:
>
> Allow the x86 "sep" feature to be disabled at bootup.  This
> forces use of the int80 vsyscall.
> 

Why is there a need to do this?

> 
>  Documentation/kernel-parameters.txt |    6 +++++-
>  arch/i386/kernel/cpu/common.c       |   13 +++++++++++++
>  2 files changed, 18 insertions(+), 1 deletion(-)
> 
> --- 2.6.15a.orig/arch/i386/kernel/cpu/common.c
> +++ 2.6.15a/arch/i386/kernel/cpu/common.c
> @@ -27,6 +27,7 @@ EXPORT_PER_CPU_SYMBOL(cpu_16bit_stack);
>  static int cachesize_override __devinitdata = -1;
>  static int disable_x86_fxsr __devinitdata = 0;
>  static int disable_x86_serial_nr __devinitdata = 1;
> +static int disable_x86_sep __devinitdata = 0;
>  

hm, I guess lots of things in there should be __cpuinit/__cpuinitdata. 
__devinit is a superset of that, but we're being a little wasteful in the
case of CONFIG_HOTPLUG&&!CONFIG_HOTPLUG_CPU.

^ permalink raw reply	[flat|nested] 3+ messages in thread

* [patch 2.6.15] i386: allow disabling X86_FEATURE_SEP at boot
@ 2006-01-26 18:36 Chuck Ebbert
  2006-01-27 22:37 ` Andrew Morton
  0 siblings, 1 reply; 3+ messages in thread
From: Chuck Ebbert @ 2006-01-26 18:36 UTC (permalink / raw)
  To: linux-kernel; +Cc: Andrew Morton, Ingo Molnar, Linus Torvalds, Daniel fernandez

Allow the x86 "sep" feature to be disabled at bootup.  This
forces use of the int80 vsyscall.

Signed-off-by: Chuck Ebbert <76306.1226@compuserve.com>

 Documentation/kernel-parameters.txt |    6 +++++-
 arch/i386/kernel/cpu/common.c       |   13 +++++++++++++
 2 files changed, 18 insertions(+), 1 deletion(-)

--- 2.6.15a.orig/arch/i386/kernel/cpu/common.c
+++ 2.6.15a/arch/i386/kernel/cpu/common.c
@@ -27,6 +27,7 @@ EXPORT_PER_CPU_SYMBOL(cpu_16bit_stack);
 static int cachesize_override __devinitdata = -1;
 static int disable_x86_fxsr __devinitdata = 0;
 static int disable_x86_serial_nr __devinitdata = 1;
+static int disable_x86_sep __devinitdata = 0;
 
 struct cpu_dev * cpu_devs[X86_VENDOR_NUM] = {};
 
@@ -177,6 +178,14 @@ static int __init x86_fxsr_setup(char * 
 __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)
 {
@@ -392,6 +401,10 @@ void __devinit identify_cpu(struct cpuin
 		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);
 
--- 2.6.15a.orig/Documentation/kernel-parameters.txt
+++ 2.6.15a/Documentation/kernel-parameters.txt
@@ -929,7 +929,9 @@ running once the system is up.
 			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]
 
@@ -972,6 +974,8 @@ running once the system is up.
 
 	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.
-- 
Chuck
Currently reading: _The Atrocity Archives_ by Charles Stross

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2006-01-28  6:08 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2006-01-28  6:04 [patch 2.6.15] i386: allow disabling X86_FEATURE_SEP at boot Chuck Ebbert
  -- strict thread matches above, loose matches on Subject: below --
2006-01-26 18:36 Chuck Ebbert
2006-01-27 22:37 ` Andrew Morton

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).