From mboxrd@z Thu Jan 1 00:00:00 1970 From: Raj Patil Date: Fri, 14 Mar 2003 15:08:51 +0000 Subject: [Linux-ia64] How to set/reset gp pointer : info needed MIME-Version: 1 Content-Type: multipart/mixed; boundary="0-328902887-1047654531=:30698" Message-Id: List-Id: To: linux-ia64@vger.kernel.org --0-328902887-1047654531=:30698 Content-Type: text/plain; charset=us-ascii Hello, I am not sure whether this is the right group for me to ask this or get the kind of information I am looking for. I apologize if this is not the right group. I am relatively new to Linux/ia64 and this question is related to ia64. Hence, decided to post it here I am looking for some info on how to set/unset the gp pointer, locations/cases where I need to set and any other issues I need to worry. Any pointers to some documentation or sample code or notes will be really appreciated. Reason: I am just trying to port an utility to ia64 based Linux platform from x86 platform. It adds an entry to syscall table to point to a function in a module. It is like adding a new temp syscall for a small duration. By looking at some documentation, I realized that I need to set the gp pointer correctly before calling the function (not sure exactly wehre and how). So, I am looking for some docs/notes which clarify my doubts like -what in general needs to be done to set/reset gp (where?). -Does this need to be done if one is adding an entry to ia32 syscall table too? -If this new function in the module calls other kernel functions in between, should it worry about gp pointer before calling the kernel functions etc. I have access to RH Advanced Server 2.1 running on an HP Itanium-2 box. Thank you very much for any pointers/info. Regards, Raj --------------------------------- Do you Yahoo!? Yahoo! Web Hosting - establish your business online --0-328902887-1047654531=:30698 Content-Type: text/html; charset=us-ascii

Hello,

I am not sure whether this is the right group for me to ask this or get the

kind of information I am looking for. I apologize if this is not the

right group. I am relatively new to Linux/ia64 and this question is related

to ia64. Hence, decided to post it here

I am looking for some info on how to set/unset the gp pointer, locations/cases

where I need to set and any other issues I need to worry. Any pointers to

some documentation or sample code or notes will be really appreciated.

Reason: I am just trying to port an utility to ia64 based Linux platform from

x86 platform. It adds an entry to syscall table to point to a function in

a module. It is like adding a new temp syscall for a small duration.

By looking at some documentation, I realized that I need to set

the gp pointer correctly before calling the function (not sure exactly wehre

and how). So, I am looking for some docs/notes which clarify my doubts like

-what in general needs to be done to set/reset gp (where?).

-Does this need to be done if one is adding an entry to ia32 syscall

table too?

-If this new function in the module calls other kernel functions in between,

should it worry about gp pointer before calling the kernel functions etc.

I have access to RH Advanced Server 2.1 running on an HP Itanium-2 box.

Thank you very much for any pointers/info.

Regards,

Raj



Do you Yahoo!?
Yahoo! Web Hosting - establish your business online --0-328902887-1047654531=:30698-- From mboxrd@z Thu Jan 1 00:00:00 1970 From: Stephane Eranian Date: Fri, 14 Mar 2003 16:52:15 +0000 Subject: Re: [Linux-ia64] How to set/reset gp pointer : info needed Message-Id: List-Id: References: In-Reply-To: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: linux-ia64@vger.kernel.org Raj, Take a look at the software calling convention document at: http://developer.intel.com/design/itanium/downloads/245358.htm On Fri, Mar 14, 2003 at 07:08:51AM -0800, Raj Patil wrote: > > Hello, > > I am not sure whether this is the right group for me to ask this or get the > > kind of information I am looking for. I apologize if this is not the > > right group. I am relatively new to Linux/ia64 and this question is related > > to ia64. Hence, decided to post it here > > I am looking for some info on how to set/unset the gp pointer, locations/cases > > where I need to set and any other issues I need to worry. Any pointers to > > some documentation or sample code or notes will be really appreciated. > > Reason: I am just trying to port an utility to ia64 based Linux platform from > > x86 platform. It adds an entry to syscall table to point to a function in > > a module. It is like adding a new temp syscall for a small duration. > > By looking at some documentation, I realized that I need to set > > the gp pointer correctly before calling the function (not sure exactly wehre > > and how). So, I am looking for some docs/notes which clarify my doubts like > > -what in general needs to be done to set/reset gp (where?). > > -Does this need to be done if one is adding an entry to ia32 syscall > > table too? > > -If this new function in the module calls other kernel functions in between, > > should it worry about gp pointer before calling the kernel functions etc. > > I have access to RH Advanced Server 2.1 running on an HP Itanium-2 box. > > Thank you very much for any pointers/info. > > Regards, > > Raj > > > > --------------------------------- > Do you Yahoo!? > Yahoo! Web Hosting - establish your business online -- -Stephane From mboxrd@z Thu Jan 1 00:00:00 1970 From: David Mosberger Date: Fri, 14 Mar 2003 17:17:55 +0000 Subject: Re: [Linux-ia64] How to set/reset gp pointer : info needed Message-Id: List-Id: References: In-Reply-To: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: linux-ia64@vger.kernel.org >>>>> On Fri, 14 Mar 2003 07:08:51 -0800 (PST), Raj Patil said: Raj> Reason: I am just trying to port an utility to ia64 based Linux Raj> platform from x86 platform. It adds an entry to syscall table Raj> to point to a function in a module. It is like adding a new Raj> temp syscall for a small duration. Is the module open-source? If not, you run the risk of violating the kernel's GPL license (binary-only modules are OK but only as long as they use "standard" kernel interfaces; planting a syscall-hook goes beyond that). --david From mboxrd@z Thu Jan 1 00:00:00 1970 From: Raj Patil Date: Fri, 14 Mar 2003 17:56:12 +0000 Subject: Re: [Linux-ia64] How to set/reset gp pointer : info needed MIME-Version: 1 Content-Type: multipart/mixed; boundary="0-2073097715-1047664572=:67986" Message-Id: List-Id: References: In-Reply-To: To: linux-ia64@vger.kernel.org --0-2073097715-1047664572=:67986 Content-Type: text/plain; charset=us-ascii I will check the source of this tool/module...... But, curious: You mean, one can not legally add a new syscall or hook? This process as such does not use/modify the kernel source.... Regards, Raj. David Mosberger wrote: >>>>> On Fri, 14 Mar 2003 07:08:51 -0800 (PST), Raj Patil said: Raj> Reason: I am just trying to port an utility to ia64 based Linux Raj> platform from x86 platform. It adds an entry to syscall table Raj> to point to a function in a module. It is like adding a new Raj> temp syscall for a small duration. Is the module open-source? If not, you run the risk of violating the kernel's GPL license (binary-only modules are OK but only as long as they use "standard" kernel interfaces; planting a syscall-hook goes beyond that). --david --------------------------------- Do you Yahoo!? Yahoo! Web Hosting - establish your business online --0-2073097715-1047664572=:67986 Content-Type: text/html; charset=us-ascii

I will check the source of this tool/module......

But, curious: You mean, one can not legally add a new syscall or hook?

This process as such does not use/modify the kernel source....

Regards,

Raj.

 David Mosberger <davidm@napali.hpl.hp.com> wrote:

>>>>> On Fri, 14 Mar 2003 07:08:51 -0800 (PST), Raj Patil said:

Raj> Reason: I am just trying to port an utility to ia64 based Linux
Raj> platform from x86 platform. It adds an entry to syscall table
Raj> to point to a function in a module. It is like adding a new
Raj> temp syscall for a small duration.

Is the module open-source? If not, you run the risk of violating the
kernel's GPL license (binary-only modules are OK but only as long as
they use "standard" kernel interfaces; planting a syscall-hook goes
beyond that).

--david



Do you Yahoo!?
Yahoo! Web Hosting - establish your business online --0-2073097715-1047664572=:67986-- From mboxrd@z Thu Jan 1 00:00:00 1970 From: David Mosberger Date: Fri, 14 Mar 2003 19:41:57 +0000 Subject: Re: [Linux-ia64] How to set/reset gp pointer : info needed Message-Id: List-Id: References: In-Reply-To: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: linux-ia64@vger.kernel.org >>>>> On Fri, 14 Mar 2003 09:56:12 -0800 (PST), Raj Patil said: Raj> I will check the source of this tool/module...... But, Raj> curious: You mean, one can not legally add a new syscall or Raj> hook? I don't want to appear to be giving legal advise, so I'd recommend to consult with your legal counsel to get a definite answer (or you can ask for opinions on the lkml; preferably _after_ donning an asbestos suit). BTW: dynamically installing syscalls/hooks is a bad idea even for Open Source modules. It's just not a safe thing to do. If you need a syscall, argue why it's needed and why it's a good idea and if the kernel developers concur, there will be no problem getting it added/reserved. --david From mboxrd@z Thu Jan 1 00:00:00 1970 From: Keith Owens Date: Sat, 15 Mar 2003 01:27:00 +0000 Subject: Re: [Linux-ia64] How to set/reset gp pointer : info needed Message-Id: List-Id: References: In-Reply-To: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: linux-ia64@vger.kernel.org On Fri, 14 Mar 2003 11:41:57 -0800, David Mosberger wrote: >>>>>> On Fri, 14 Mar 2003 09:56:12 -0800 (PST), Raj Patil said: > > Raj> I will check the source of this tool/module...... But, > Raj> curious: You mean, one can not legally add a new syscall or > Raj> hook? > >I don't want to appear to be giving legal advise, so I'd recommend to >consult with your legal counsel to get a definite answer (or you can >ask for opinions on the lkml; preferably _after_ donning an asbestos >suit). Even beyond legal - Linus has stated (several times) that he will not accept code that patches the syscall table. Linus hates the idea of dynamic syscalls.