Hi,
Can I implement mmap with an io port connected device on an x86 based CPU?
Background:
I've got a device driver which can be compiled for either x86 or ARM.
The driver provides an interface to an FPGA via either an IO port
(0x180) on the x86 or as a memory mapped SRAM-like device (0x30000000)
on the ARM.
To get myself an "address" for ioread calls I use:
FPGA_base = (u32) ioremap_nocache(FPGA_REG_IO_BASE, SZ_4K) for both CPU
types.
FPGA_REG_IO_BASE is set to either 0x180 or 0x30000000 for x86 and ARM
respectively.
I then call ioread16(FPGA_base + FPGA_register) for both x86 and ARM and
it all works perfectly. No problems there.
My problem is that I am now moving from ioctl calls to a mmap interface.
This isn't a problem with ARM as I can pass (0x30000000 >> PAGE_SHIFT)
to remap_pfn_range() in the .mmap fops function but I can't pass 0x180
because ... well, it's obvious.
Is there a trick?
Aras
______________________________________________________________________
This email has been scanned by the MessageLabs Email Security System.
For more information please visit http://www.messagelabs.com/email
______________________________________________________________________
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
[Index of Archives]
[Kernel Newbies]
[Netfilter]
[Bugtraq]
[Photo]
[Stuff]
[Gimp]
[Yosemite News]
[MIPS Linux]
[ARM Linux]
[Linux Security]
[Linux RAID]
[Video 4 Linux]
[Linux for the blind]
[Linux Resources]