public inbox for linux-newbie@vger.kernel.org
 help / color / mirror / Atom feed
* kernel module
@ 2007-11-12 13:59 Rajeh kuri
  2007-11-13  9:40 ` Kristof Provost
  0 siblings, 1 reply; 5+ messages in thread
From: Rajeh kuri @ 2007-11-12 13:59 UTC (permalink / raw)
  To: linux-newbie

Hi,

Is there any ways to invoke/call the function (kernel module
functions) from compiled base kernel. Well that statement sounds
strange.

I will try to simplify that statement, with problem I faced.
I have written a kernel module but it is of no use till I call one of
its function from kernel, and hence i modified the kernel source to
call this function and then compiled the kernel. Now the problem is
obliviously 'linker cannot resolve the symbol. Because I'm trying to
call the function which is available only after I insert the kernel
module.

Is this a right approach? I'm using the kernel module concept in opposite way.

Any pointers or suggestions will be greatly appreciated.

TIA...

--Regards,
rajesh
-
To unsubscribe from this list: send the line "unsubscribe linux-newbie" 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.linux-learn.org/faqs

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

* Re: kernel module
  2007-11-12 13:59 kernel module Rajeh kuri
@ 2007-11-13  9:40 ` Kristof Provost
  2007-11-13 12:23   ` Rajeh kuri
  0 siblings, 1 reply; 5+ messages in thread
From: Kristof Provost @ 2007-11-13  9:40 UTC (permalink / raw)
  To: Rajeh kuri; +Cc: linux-newbie

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

Hi,

On 2007-11-12 19:29:17 (+0530), Rajeh kuri <rajeshkuri@gmail.com> wrote:
> Hi,
> 
> Is there any ways to invoke/call the function (kernel module
> functions) from compiled base kernel. Well that statement sounds
> strange.
> 
> I will try to simplify that statement, with problem I faced.
> I have written a kernel module but it is of no use till I call one of
> its function from kernel, and hence i modified the kernel source to
> call this function and then compiled the kernel. Now the problem is
> obliviously 'linker cannot resolve the symbol. Because I'm trying to
> call the function which is available only after I insert the kernel
> module.
The problem is that you're calling code compiled as a module from code
compiled into the kernel. That means you either compile both parts as a 
module, or compile both of them into the kernel.
Kbuild/Kconfig has supports this type of dependency because it's quite
common.

Kristof

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

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

* Re: kernel module
@ 2007-11-13 10:33 Rodrigo Rubira Branco (BSDaemon)
  0 siblings, 0 replies; 5+ messages in thread
From: Rodrigo Rubira Branco (BSDaemon) @ 2007-11-13 10:33 UTC (permalink / raw)
  To: linux-newbie

Export the symbol in the kernel and then hook it in your module ;)


cya,


Rodrigo (BSDaemon).

--
http://www.kernelhacking.com/rodrigo

Kernel Hacking: If i really know, i can hack

GPG KeyID: 1FCEDEA1


--------- Mensagem Original --------
De: Rajeh kuri <rajeshkuri@gmail.com>
Para: Kristof Provost <Kristof@provost-engineering.be>
Cópia: linux-newbie@vger.kernel.org
Assunto: Re: kernel module
Data: 13/11/07 09:13

>
> Well it means there is no way to achieve compiled kernel calling
> compiled kernel module. OR The direction of communication from kernel
> to kernel module can not be possible?
>
> I believe there must be a way around to get this work.
> If i find it will update here.
>
> --Regards,
> rajesh
> On Nov 13, 2007 3:10 PM, Kristof Provost
&lt;Kristof@provost-engineering.be&gt; wrote:
> &gt; Hi,
> &gt;
> &gt; On 2007-11-12 19:29:17 (+0530), Rajeh kuri
&lt;rajeshkuri@gmail.com&gt; wrote:
> &gt; &gt; Hi,
> &gt; &gt;
> &gt; &gt; Is there any ways to invoke/call the function (kernel module
> &gt; &gt; functions) from compiled base kernel. Well that statement sounds
> &gt; &gt; strange.
> &gt; &gt;
> &gt; &gt; I will try to simplify that statement, with problem I faced.
> &gt; &gt; I have written a kernel module but it is of no use till I call
one of
> &gt; &gt; its function from kernel, and hence i modified the kernel source
to
> &gt; &gt; call this function and then compiled the kernel. Now the problem
is
> &gt; &gt; obliviously 'linker cannot resolve the symbol. Because I'm
trying to
> &gt; &gt; call the function which is available only after I insert the
kernel
> &gt; &gt; module.
> &gt; The problem is that you're calling code compiled as a module from
code
> &gt; compiled into the kernel. That means you either compile both parts as
a
> &gt; module, or compile both of them into the kernel.
> &gt; Kbuild/Kconfig has supports this type of dependency because it's
quite
> &gt; common.
> &gt;
> &gt; Kristof
> &gt;
> -
> To unsubscribe from this list: send the line &quot;unsubscribe
linux-newbie&quot; 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.linux-learn.org/faqs
>
>
>
>

________________________________________________
Message sent using UebiMiau 2.7.2

-
To unsubscribe from this list: send the line "unsubscribe linux-newbie" 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.linux-learn.org/faqs

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

* Re: kernel module
  2007-11-13  9:40 ` Kristof Provost
@ 2007-11-13 12:23   ` Rajeh kuri
  2007-11-13 14:06     ` Kristof Provost
  0 siblings, 1 reply; 5+ messages in thread
From: Rajeh kuri @ 2007-11-13 12:23 UTC (permalink / raw)
  To: Kristof Provost; +Cc: linux-newbie

Well it means there is no way to achieve compiled kernel calling
compiled kernel module. OR The direction of communication from kernel
to kernel module can not be possible?

I believe there must be a way around to get this work.
If i find it will update here.

--Regards,
rajesh
On Nov 13, 2007 3:10 PM, Kristof Provost <Kristof@provost-engineering.be> wrote:
> Hi,
>
> On 2007-11-12 19:29:17 (+0530), Rajeh kuri <rajeshkuri@gmail.com> wrote:
> > Hi,
> >
> > Is there any ways to invoke/call the function (kernel module
> > functions) from compiled base kernel. Well that statement sounds
> > strange.
> >
> > I will try to simplify that statement, with problem I faced.
> > I have written a kernel module but it is of no use till I call one of
> > its function from kernel, and hence i modified the kernel source to
> > call this function and then compiled the kernel. Now the problem is
> > obliviously 'linker cannot resolve the symbol. Because I'm trying to
> > call the function which is available only after I insert the kernel
> > module.
> The problem is that you're calling code compiled as a module from code
> compiled into the kernel. That means you either compile both parts as a
> module, or compile both of them into the kernel.
> Kbuild/Kconfig has supports this type of dependency because it's quite
> common.
>
> Kristof
>
-
To unsubscribe from this list: send the line "unsubscribe linux-newbie" 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.linux-learn.org/faqs

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

* Re: kernel module
  2007-11-13 12:23   ` Rajeh kuri
@ 2007-11-13 14:06     ` Kristof Provost
  0 siblings, 0 replies; 5+ messages in thread
From: Kristof Provost @ 2007-11-13 14:06 UTC (permalink / raw)
  To: Rajeh kuri; +Cc: linux-newbie

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

On 2007-11-13 17:53:11 (+0530), Rajeh kuri <rajeshkuri@gmail.com> wrote:
> Well it means there is no way to achieve compiled kernel calling
> compiled kernel module. OR The direction of communication from kernel
> to kernel module can not be possible?
It is possible and it's done quite often. You just need to handle things
slightly differently.

Take a filesystem for example. They can be built as a module, and still
be used by the kernel. In this case that's basically done by function
pointers.
When the fs module is loaded it registers itself to the kernel and
passes pointers to the basic operations to the kernel.

The kernel itself doesn't contain any calls to (for example)
fat_statfs. That's only used in the fat module. The kernel calls
the statfs function pointer in the super_operations struct the fat
module registered when it was loaded.


Kristof


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

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

end of thread, other threads:[~2007-11-13 14:06 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2007-11-12 13:59 kernel module Rajeh kuri
2007-11-13  9:40 ` Kristof Provost
2007-11-13 12:23   ` Rajeh kuri
2007-11-13 14:06     ` Kristof Provost
  -- strict thread matches above, loose matches on Subject: below --
2007-11-13 10:33 Rodrigo Rubira Branco (BSDaemon)

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