ioremap() address alignment problem

Alain ENOUT (enout@eurecom.fr)
Fri, 18 Dec 1998 11:03:42 +0100 (CET)


Hello,

I'm writing a device driver (module) for a device using a PLX 9060.
I try to ioremap() the address 0 (PCI base address register for memory access
to runtime registers). On my specific harware configuration, the ethernet
adapter I/O memory is mapped at 0xf420 1000 and mine at 0xf420 1400.

When I do vremap(0xf420 1400), I get an error. So I try a range of addresses
around (from 0xf420 1000 to 0xf420 1000 + 5000), and it seems like vremap()
only works for page aligned addresses. Is it normal ?

Source says :
/*
* Remap an arbitrary physical address space into the kernel virtual
^^^^^^^^^
* address space. Needed when the kernel wants to access high addresses
* directly.
*/

By the way is there somewhere some reference manual pages (electronic form) for
kernel development (section 9?). Rubini's book is fine, but probably not
exhaustive, paper's boring and slow. Parsing source code is not always the
fastest solution :-)

Thanks in advance.

NB: I use kernel 2.0.34 on a DEll intel PII 450 Mhz machine.

---
Alain ENOUT                     Research Engineer, Mobile Communications Dpt
enout@eurecom.fr                                 Phone: +33 (0)4 93 00 26 65
EURECOM, 2229 rte des cretes, BP 193, F-06904 Sophia Antipolis Cedex, France

- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.rutgers.edu Please read the FAQ at http://www.tux.org/lkml/