[PATCH][v2] uio: Support 36-bit physical addresses on 32-bit systems
Tabi Timur-B04825
B04825 at freescale.com
Fri Oct 14 01:37:17 EST 2011
On Wed, Oct 12, 2011 at 3:57 PM, Kumar Gala <galak at kernel.crashing.org> wrote:
> From: Kai Jiang <Kai.Jiang at freescale.com>
>
> To support >32-bit physical addresses for UIO_MEM_PHYS type we need to
> extend the width of 'addr' in struct uio_mem. Numerous platforms like
> embedded PPC, ARM, and X86 have support for systems with larger physical
> address than logical.
>
> Since 'addr' may contain a physical, logical, or virtual address the
> easiest solution is to just change the type to 'unsigned long long'
> regardless of which type is utilized.
You forgot to update this description.
> struct uio_mem {
> const char *name;
> - unsigned long addr;
> + phys_addr_t addr;
Please add a comment here saying:
1) That 'addr' can be a virtual or physical address
2) That the kernel guarantees that sizeof(phys_addr_t) >= sizeof(void
*), so it's safe to use phys_addr_t for a virtual pointer.
--
Timur Tabi
Linux kernel developer at Freescale
More information about the Linuxppc-dev
mailing list