public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* Re: [IA64] allow OEM written modules to make calls to ia64 OEM SAL functions.
       [not found] <200409032207.i83M7CKj015068@hera.kernel.org>
@ 2004-09-04  6:51 ` Arjan van de Ven
  2004-09-04  9:35   ` Christoph Hellwig
  0 siblings, 1 reply; 7+ messages in thread
From: Arjan van de Ven @ 2004-09-04  6:51 UTC (permalink / raw)
  To: Linux Kernel Mailing List; +Cc: dcn

[-- Attachment #1: Type: text/plain, Size: 461 bytes --]

On Wed, 2004-08-25 at 20:27, Linux Kernel Mailing List wrote:
> ChangeSet 1.1803.128.1, 2004/08/25 18:27:33+00:00, dcn@sgi.com
> 
> 	[IA64] allow OEM written modules to make calls to ia64 OEM SAL functions.
> 	
> 	Add wrapper functions for SAL_CALL(), SAL_CALL_NOLOCK(), and
> 	SAL_CALL_REENTRANT() that allow OEM written modules to make
> 	calls to ia64 OEM SAL functions.
> 	

are there any such modules? Are they GPL licensed or all proprietary ?

[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 189 bytes --]

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

* Re: [IA64] allow OEM written modules to make calls to ia64 OEM SAL functions.
  2004-09-04  6:51 ` [IA64] allow OEM written modules to make calls to ia64 OEM SAL functions Arjan van de Ven
@ 2004-09-04  9:35   ` Christoph Hellwig
  2004-09-04  9:37     ` Arjan van de Ven
  2004-09-04 16:43     ` Alan Cox
  0 siblings, 2 replies; 7+ messages in thread
From: Christoph Hellwig @ 2004-09-04  9:35 UTC (permalink / raw)
  To: Arjan van de Ven; +Cc: Linux Kernel Mailing List, dcn

On Sat, Sep 04, 2004 at 08:51:47AM +0200, Arjan van de Ven wrote:
> On Wed, 2004-08-25 at 20:27, Linux Kernel Mailing List wrote:
> > ChangeSet 1.1803.128.1, 2004/08/25 18:27:33+00:00, dcn@sgi.com
> > 
> > 	[IA64] allow OEM written modules to make calls to ia64 OEM SAL functions.
> > 	
> > 	Add wrapper functions for SAL_CALL(), SAL_CALL_NOLOCK(), and
> > 	SAL_CALL_REENTRANT() that allow OEM written modules to make
> > 	calls to ia64 OEM SAL functions.
> > 	
> 
> are there any such modules? Are they GPL licensed or all proprietary ?

SGI has stated they have propritary modules that need this, that's why it's
got added despite my objections.


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

* Re: [IA64] allow OEM written modules to make calls to ia64 OEM SAL functions.
  2004-09-04  9:35   ` Christoph Hellwig
@ 2004-09-04  9:37     ` Arjan van de Ven
  2004-09-04 22:29       ` Andrew Morton
  2004-09-04 16:43     ` Alan Cox
  1 sibling, 1 reply; 7+ messages in thread
From: Arjan van de Ven @ 2004-09-04  9:37 UTC (permalink / raw)
  To: torvalds, Christoph Hellwig, Linux Kernel Mailing List, dcn

[-- Attachment #1: Type: text/plain, Size: 859 bytes --]

On Sat, Sep 04, 2004 at 10:35:29AM +0100, Christoph Hellwig wrote:
> On Sat, Sep 04, 2004 at 08:51:47AM +0200, Arjan van de Ven wrote:
> > On Wed, 2004-08-25 at 20:27, Linux Kernel Mailing List wrote:
> > > ChangeSet 1.1803.128.1, 2004/08/25 18:27:33+00:00, dcn@sgi.com
> > > 
> > > 	[IA64] allow OEM written modules to make calls to ia64 OEM SAL functions.
> > > 	
> > > 	Add wrapper functions for SAL_CALL(), SAL_CALL_NOLOCK(), and
> > > 	SAL_CALL_REENTRANT() that allow OEM written modules to make
> > > 	calls to ia64 OEM SAL functions.
> > > 	
> > 
> > are there any such modules? Are they GPL licensed or all proprietary ?
> 
> SGI has stated they have propritary modules that need this, that's why it's
> got added despite my objections.

if there are no open source modules that use these exports I would like to
ask these exports to be undone again..

[-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --]

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

* Re: [IA64] allow OEM written modules to make calls to ia64 OEM SAL functions.
  2004-09-04  9:35   ` Christoph Hellwig
  2004-09-04  9:37     ` Arjan van de Ven
@ 2004-09-04 16:43     ` Alan Cox
  1 sibling, 0 replies; 7+ messages in thread
From: Alan Cox @ 2004-09-04 16:43 UTC (permalink / raw)
  To: Christoph Hellwig; +Cc: Arjan van de Ven, Linux Kernel Mailing List, dcn

On Sad, 2004-09-04 at 10:35, Christoph Hellwig wrote:
> > are there any such modules? Are they GPL licensed or all proprietary ?
> 
> SGI has stated they have propritary modules that need this, that's why it's
> got added despite my objections.

Wouldn't that be "had" since they are clearly now derivative works of
the GPL OS core.


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

* Re: [IA64] allow OEM written modules to make calls to ia64 OEM SAL functions.
  2004-09-04  9:37     ` Arjan van de Ven
@ 2004-09-04 22:29       ` Andrew Morton
  2004-09-04 22:36         ` Arjan van de Ven
  0 siblings, 1 reply; 7+ messages in thread
From: Andrew Morton @ 2004-09-04 22:29 UTC (permalink / raw)
  To: Arjan van de Ven; +Cc: torvalds, hch, linux-kernel, dcn

Arjan van de Ven <arjanv@redhat.com> wrote:
>
> On Sat, Sep 04, 2004 at 10:35:29AM +0100, Christoph Hellwig wrote:
> > On Sat, Sep 04, 2004 at 08:51:47AM +0200, Arjan van de Ven wrote:
> > > On Wed, 2004-08-25 at 20:27, Linux Kernel Mailing List wrote:
> > > > ChangeSet 1.1803.128.1, 2004/08/25 18:27:33+00:00, dcn@sgi.com
> > > > 
> > > > 	[IA64] allow OEM written modules to make calls to ia64 OEM SAL functions.
> > > > 	
> > > > 	Add wrapper functions for SAL_CALL(), SAL_CALL_NOLOCK(), and
> > > > 	SAL_CALL_REENTRANT() that allow OEM written modules to make
> > > > 	calls to ia64 OEM SAL functions.
> > > > 	
> > > 
> > > are there any such modules? Are they GPL licensed or all proprietary ?
> > 
> > SGI has stated they have propritary modules that need this, that's why it's
> > got added despite my objections.
> 
> if there are no open source modules that use these exports I would like to
> ask these exports to be undone again..

Yes.  Guys, these are the rules we all live by.

Arjan, please submit a patch.

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

* Re: [IA64] allow OEM written modules to make calls to ia64 OEM SAL functions.
  2004-09-04 22:29       ` Andrew Morton
@ 2004-09-04 22:36         ` Arjan van de Ven
  2004-09-07 16:28           ` Robin Holt
  0 siblings, 1 reply; 7+ messages in thread
From: Arjan van de Ven @ 2004-09-04 22:36 UTC (permalink / raw)
  To: Andrew Morton; +Cc: torvalds, hch, linux-kernel, dcn


On Sat, Sep 04, 2004 at 03:29:49PM -0700, Andrew Morton wrote:
> Arjan van de Ven <arjanv@redhat.com> wrote:
> >
> > On Sat, Sep 04, 2004 at 10:35:29AM +0100, Christoph Hellwig wrote:
> > > On Sat, Sep 04, 2004 at 08:51:47AM +0200, Arjan van de Ven wrote:
> > > > On Wed, 2004-08-25 at 20:27, Linux Kernel Mailing List wrote:
> > > > > ChangeSet 1.1803.128.1, 2004/08/25 18:27:33+00:00, dcn@sgi.com
> > > > > 
> > > > > 	[IA64] allow OEM written modules to make calls to ia64 OEM SAL functions.
> > > > > 	
> > > > > 	Add wrapper functions for SAL_CALL(), SAL_CALL_NOLOCK(), and
> > > > > 	SAL_CALL_REENTRANT() that allow OEM written modules to make
> > > > > 	calls to ia64 OEM SAL functions.
> > > > > 	
> > > > 
> > > > are there any such modules? Are they GPL licensed or all proprietary ?
> > > 
> > > SGI has stated they have propritary modules that need this, that's why it's
> > > got added despite my objections.
> > 
> > if there are no open source modules that use these exports I would like to
> > ask these exports to be undone again..
> 
> Yes.  Guys, these are the rules we all live by.
> 
> Arjan, please submit a patch.

well all that is needed is to revert changeset                                                                                                               
1.1803.128.1 since that is the entire and exclusive purpose of this
changeset.. but for your convenience below

--- b/arch/ia64/kernel/sal.c	2004-09-03 15:07:22 -07:00
+++ a/arch/ia64/kernel/sal.c	2004-09-03 15:07:22 -07:00
@@ -10,7 +10,6 @@
 
 #include <linux/kernel.h>
 #include <linux/init.h>
-#include <linux/module.h>
 #include <linux/spinlock.h>
 #include <linux/string.h>
 
@@ -263,40 +262,3 @@
 		p += SAL_DESC_SIZE(*p);
 	}
 }
-
-int
-ia64_sal_oemcall(struct ia64_sal_retval *isrvp, u64 oemfunc, u64 arg1,
-		 u64 arg2, u64 arg3, u64 arg4, u64 arg5, u64 arg6, u64 arg7)
-{
-	if (oemfunc < IA64_SAL_OEMFUNC_MIN || oemfunc > IA64_SAL_OEMFUNC_MAX)
-		return -1;
-	SAL_CALL(*isrvp, oemfunc, arg1, arg2, arg3, arg4, arg5, arg6, arg7);
-	return 0;
-}
-EXPORT_SYMBOL(ia64_sal_oemcall);
-
-int
-ia64_sal_oemcall_nolock(struct ia64_sal_retval *isrvp, u64 oemfunc, u64 arg1,
-			u64 arg2, u64 arg3, u64 arg4, u64 arg5, u64 arg6,
-			u64 arg7)
-{
-	if (oemfunc < IA64_SAL_OEMFUNC_MIN || oemfunc > IA64_SAL_OEMFUNC_MAX)
-		return -1;
-	SAL_CALL_NOLOCK(*isrvp, oemfunc, arg1, arg2, arg3, arg4, arg5, arg6,
-			arg7);
-	return 0;
-}
-EXPORT_SYMBOL(ia64_sal_oemcall_nolock);
-
-int
-ia64_sal_oemcall_reentrant(struct ia64_sal_retval *isrvp, u64 oemfunc,
-			   u64 arg1, u64 arg2, u64 arg3, u64 arg4, u64 arg5,
-			   u64 arg6, u64 arg7)
-{
-	if (oemfunc < IA64_SAL_OEMFUNC_MIN || oemfunc > IA64_SAL_OEMFUNC_MAX)
-		return -1;
-	SAL_CALL_REENTRANT(*isrvp, oemfunc, arg1, arg2, arg3, arg4, arg5, arg6,
-			   arg7);
-	return 0;
-}
-EXPORT_SYMBOL(ia64_sal_oemcall_reentrant);
reverted:
--- b/include/asm-ia64/sal.h	2004-09-03 15:07:22 -07:00
+++ a/include/asm-ia64/sal.h	2004-09-03 15:07:22 -07:00
@@ -819,16 +819,6 @@
 	long r8; long r9; long r10; long r11;
 };
 
-#define IA64_SAL_OEMFUNC_MIN		0x02000000
-#define IA64_SAL_OEMFUNC_MAX		0x03ffffff
-
-extern int ia64_sal_oemcall(struct ia64_sal_retval *, u64, u64, u64, u64, u64,
-			    u64, u64, u64);
-extern int ia64_sal_oemcall_nolock(struct ia64_sal_retval *, u64, u64, u64,
-				   u64, u64, u64, u64, u64);
-extern int ia64_sal_oemcall_reentrant(struct ia64_sal_retval *, u64, u64, u64,
-				      u64, u64, u64, u64, u64);
-
 #endif /* __ASSEMBLY__ */
 
 #endif /* _ASM_IA64_SAL_H */

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

* Re: [IA64] allow OEM written modules to make calls to ia64 OEM SAL functions.
  2004-09-04 22:36         ` Arjan van de Ven
@ 2004-09-07 16:28           ` Robin Holt
  0 siblings, 0 replies; 7+ messages in thread
From: Robin Holt @ 2004-09-07 16:28 UTC (permalink / raw)
  To: Arjan van de Ven; +Cc: Andrew Morton, torvalds, hch, linux-kernel, dcn

Can we hold off on reverting this until more discussion occurs.

SGI introduced this as part of our work to push the open source XPC code
into the kernel.  Tony Luck included the patch after discussions about
XPC splintered into a seperate discussion about what was acceptable for
the SAL call.  SGI had originally intended this to be part of that
patch set.

The OEM functions that are referred to do things like modify memory
timeout values on OEM equipment, adjust memory protections, inject double
bit errors to test error recovery, and adjust queue lengths inside
of hardware.  These things are extremely OEM specific.  Making the
SAL calls only rely on "Kernel Code" for the definition of the kernel
function calls which is a gateway into SAL.

What the kernel's SAL call is providing to the module is a pointer to
a generic function entry point for SAL that was provided to the kernel
by SAL.  This is the proscribed method defined in the Intel Itanium
System Abstraction Layer specification available on the Intel web site.
The kernel has no knowledge of what SAL will do with this function
code nor what the caller is asking.  In essence this is equivalent to
a PCI command.

Having this functionality in the kernel is important to SGI even
before the code is written.  This allows us to use the SAL call from
error injection diagnostics on older kernels.  The code limits the SAL
functions to those in the OEM range as defined by the Intel specification.

Robin Holt

On Sun, Sep 05, 2004 at 12:36:42AM +0200, Arjan van de Ven wrote:
> 
> On Sat, Sep 04, 2004 at 03:29:49PM -0700, Andrew Morton wrote:
> > Arjan van de Ven <arjanv@redhat.com> wrote:
> > >
> > > On Sat, Sep 04, 2004 at 10:35:29AM +0100, Christoph Hellwig wrote:
> > > > On Sat, Sep 04, 2004 at 08:51:47AM +0200, Arjan van de Ven wrote:
> > > > > On Wed, 2004-08-25 at 20:27, Linux Kernel Mailing List wrote:
> > > > > > ChangeSet 1.1803.128.1, 2004/08/25 18:27:33+00:00, dcn@sgi.com
> > > > > > 
> > > > > > 	[IA64] allow OEM written modules to make calls to ia64 OEM SAL functions.
> > > > > > 	
> > > > > > 	Add wrapper functions for SAL_CALL(), SAL_CALL_NOLOCK(), and
> > > > > > 	SAL_CALL_REENTRANT() that allow OEM written modules to make
> > > > > > 	calls to ia64 OEM SAL functions.
> > > > > > 	
> > > > > 
> > > > > are there any such modules? Are they GPL licensed or all proprietary ?
> > > > 
> > > > SGI has stated they have propritary modules that need this, that's why it's
> > > > got added despite my objections.
> > > 
> > > if there are no open source modules that use these exports I would like to
> > > ask these exports to be undone again..
> > 
> > Yes.  Guys, these are the rules we all live by.
> > 
> > Arjan, please submit a patch.
> 
> well all that is needed is to revert changeset                                                                                                               
> 1.1803.128.1 since that is the entire and exclusive purpose of this
> changeset.. but for your convenience below
> 
> --- b/arch/ia64/kernel/sal.c	2004-09-03 15:07:22 -07:00
> +++ a/arch/ia64/kernel/sal.c	2004-09-03 15:07:22 -07:00
> @@ -10,7 +10,6 @@
>  
>  #include <linux/kernel.h>
>  #include <linux/init.h>
> -#include <linux/module.h>
>  #include <linux/spinlock.h>
>  #include <linux/string.h>
>  
> @@ -263,40 +262,3 @@
>  		p += SAL_DESC_SIZE(*p);
>  	}
>  }
> -
> -int
> -ia64_sal_oemcall(struct ia64_sal_retval *isrvp, u64 oemfunc, u64 arg1,
> -		 u64 arg2, u64 arg3, u64 arg4, u64 arg5, u64 arg6, u64 arg7)
> -{
> -	if (oemfunc < IA64_SAL_OEMFUNC_MIN || oemfunc > IA64_SAL_OEMFUNC_MAX)
> -		return -1;
> -	SAL_CALL(*isrvp, oemfunc, arg1, arg2, arg3, arg4, arg5, arg6, arg7);
> -	return 0;
> -}
> -EXPORT_SYMBOL(ia64_sal_oemcall);
> -
> -int
> -ia64_sal_oemcall_nolock(struct ia64_sal_retval *isrvp, u64 oemfunc, u64 arg1,
> -			u64 arg2, u64 arg3, u64 arg4, u64 arg5, u64 arg6,
> -			u64 arg7)
> -{
> -	if (oemfunc < IA64_SAL_OEMFUNC_MIN || oemfunc > IA64_SAL_OEMFUNC_MAX)
> -		return -1;
> -	SAL_CALL_NOLOCK(*isrvp, oemfunc, arg1, arg2, arg3, arg4, arg5, arg6,
> -			arg7);
> -	return 0;
> -}
> -EXPORT_SYMBOL(ia64_sal_oemcall_nolock);
> -
> -int
> -ia64_sal_oemcall_reentrant(struct ia64_sal_retval *isrvp, u64 oemfunc,
> -			   u64 arg1, u64 arg2, u64 arg3, u64 arg4, u64 arg5,
> -			   u64 arg6, u64 arg7)
> -{
> -	if (oemfunc < IA64_SAL_OEMFUNC_MIN || oemfunc > IA64_SAL_OEMFUNC_MAX)
> -		return -1;
> -	SAL_CALL_REENTRANT(*isrvp, oemfunc, arg1, arg2, arg3, arg4, arg5, arg6,
> -			   arg7);
> -	return 0;
> -}
> -EXPORT_SYMBOL(ia64_sal_oemcall_reentrant);
> reverted:
> --- b/include/asm-ia64/sal.h	2004-09-03 15:07:22 -07:00
> +++ a/include/asm-ia64/sal.h	2004-09-03 15:07:22 -07:00
> @@ -819,16 +819,6 @@
>  	long r8; long r9; long r10; long r11;
>  };
>  
> -#define IA64_SAL_OEMFUNC_MIN		0x02000000
> -#define IA64_SAL_OEMFUNC_MAX		0x03ffffff
> -
> -extern int ia64_sal_oemcall(struct ia64_sal_retval *, u64, u64, u64, u64, u64,
> -			    u64, u64, u64);
> -extern int ia64_sal_oemcall_nolock(struct ia64_sal_retval *, u64, u64, u64,
> -				   u64, u64, u64, u64, u64);
> -extern int ia64_sal_oemcall_reentrant(struct ia64_sal_retval *, u64, u64, u64,
> -				      u64, u64, u64, u64, u64);
> -
>  #endif /* __ASSEMBLY__ */
>  
>  #endif /* _ASM_IA64_SAL_H */
> -
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at  http://www.tux.org/lkml/

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

end of thread, other threads:[~2004-09-07 16:33 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
     [not found] <200409032207.i83M7CKj015068@hera.kernel.org>
2004-09-04  6:51 ` [IA64] allow OEM written modules to make calls to ia64 OEM SAL functions Arjan van de Ven
2004-09-04  9:35   ` Christoph Hellwig
2004-09-04  9:37     ` Arjan van de Ven
2004-09-04 22:29       ` Andrew Morton
2004-09-04 22:36         ` Arjan van de Ven
2004-09-07 16:28           ` Robin Holt
2004-09-04 16:43     ` Alan Cox

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox