* 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: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
* 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
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