void *ioremap(unsigned long phys_addr, unsigned long size)
第二个参数是要映射的空间的大小,比如说,arm的一个寄存器是32位,4个字节,那么
(volatile unsigned long *)rGPADAT =(volatile unsigned long *)ioremap(GPADAT, 4)
那么在内核空间操作rGPADAT,就相当于操作GPADAT(需要定义)寄存器了。
如果是分配一块内存,那么第二个参数就根据自己的需要设置了,比如内核中dm9000的platform驱动,在板文件中,设置了内存资源,而在驱动中,进行了映射。