Re: driver address space

From: nitin kumbhar (nkumbhar@rediffmail.com)
Date: Wed Jan 29 2003 - 03:05:26 EST


On Tue, 28 Jan 2003 Richard B. Johnson wrote :
>On 28 Jan 2003, nitin kumbhar wrote:
>
> > Hello,
> > I have a small query about kernel image organization. i am
> > using
> > 2.4.7 kernel version.Is there any data structure in kernel
>which
> > will give
> > information about _all_ kernel symbols? i could get the data
> > structure
> > which gives _exported_ symbols only. But not all symbols.
>Using
> > this
> > structure i want to access information about functions present
>in
> > a driver,
> > which can be used to find out address range(_start_address_
>&
> > _end_address_) of the driver in kernel address space.
> > It is possible to get this information about functions in
>a
> > driver
> > using System.map. to get this information into kernel can we
>push
> > the
> > content of this file into kernel image? i think this can be
>done
> > either by
> > putting it at specific address or appending the image. Will it
>be
> > OK to
> > access System.map(all kernel symbols) in this way from
>kernel?
> > Could
> > this cause any security or some other problems?
> > Or apart from this is there any other way to find out
>driver's
> > address range in the kernel?
> >
> > I hope this not something totally out of context. Thank
>You.
> >
> > Regards,
> > Nitin
> >
>
>Since it's dynamic, i.e., the addresses depends upon other
>drivers/modules being loaded before yours, you just make an
>ioctl()
>that returns anything you want, including the virtual or even
>physical
>address of anything in your driver.

hi Richard,

You are true if the driver is a module. But i think the same case
is not with
drivers present in the kernel image(when built with kernel). The
position
in the kernel address space where the drivers are loaded is fixed.
it can
change only if you recompile the kernel. correct me if i am going
wrong
somewhere.

About ioctl, ioctls can return the required values from the
driver. But if the
driver is present in the kernel (not as a module) where to find
these
return values(in this case start & end addresses of the driver).
Here i am
not getting the place or method to find the addresses.

it will be very helpful if someone could push me forward in
correct direction.

Thank You.

Regards,
Nitin

-
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/



This archive was generated by hypermail 2b29 : Fri Jan 31 2003 - 22:00:21 EST