* Re: Providing access to kernel memory from PCI bus
[not found] <61c5c72f-6427-4dbf-b608-ceedc1859425@m45g2000hsb.googlegroups.com>
@ 2008-07-10 23:44 ` Robert Hancock
0 siblings, 0 replies; only message in thread
From: Robert Hancock @ 2008-07-10 23:44 UTC (permalink / raw)
To: darrell.holigan; +Cc: linux-kernel
darrell.holigan@gmail.com wrote:
> I'm developing a PCI driver under linux to communicate with an Intel
> IQ80331 which supports PCI boot. To accomplish this, the IQ80331
> needs access to an image stored in the host processor's (AMCC 405GPr)
> RAM.
>
> Linux boots, sees the PCI bridge and the address translation unit on
> the IQ80331 (core is held in reset) and calls the probe function my
> driver which retrieves the address allocated to BAR0 and ioremaps it.
> The IQ80331 implements a single BAR which provides access to ATU
> registers.
>
> From here, I can configure the IQ80331 through BAR0 to do a long jump
> at boot. According to the dev manual I need to configure the outbound
> window of the ATU so that it translates the jump to host memory where
> my boot image is stored.
>
> I have kmalloced kernel memory in my driver's ioctl and loaded in the
> image from user space, but I do not understand the process to tell the
> kernel that I want the kmalloced area available for access from PCI
> devices. I assume that I must do this explicitly since allowing
> unrestricted access to kernel memory from PCI space would be a
> security/stabilty concern, yes? But I cannot find the proper kernel
> API calls to do this.
You should likely allocate the memory that you are making available to
the device using dma_alloc_coherent. That will give you a bus address
that points to the memory that you can give to your device.
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2008-07-10 23:42 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
[not found] <61c5c72f-6427-4dbf-b608-ceedc1859425@m45g2000hsb.googlegroups.com>
2008-07-10 23:44 ` Providing access to kernel memory from PCI bus Robert Hancock
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.