On Thu, Sep 11, 2008 at 12:03:36PM +0200, Geert Uytterhoeven wrote: > On Thu, 11 Sep 2008, Jeremy Fitzhardinge wrote: > > This is a repost of a little 3-patch series which Andrew has been > > carrying in -mm. It cleans up the definition of phys_addr_t to make it > > kernel-wide rather than x86-specific, and fixes up PFN_PHYS() to use it > > to avoid address truncation. > > > > We currently have a few workarounds for this problem in the tree, but > > Alex found another bug caused by PFN_PHYS(), so it's probably better if > > you bring these patches into tip.git for now. > > > > PowerPC also defines a phys_addr_t with the same meaning as x86; the > > powerpc arch maintainers are happy with these patches. > > If I'm not mistaking, this is also true for some MIPS machines. Jeremy probably missed it because it's called phys_t on MIPS. It's usually the same size as unsigned long but a few of the 32-bit Alchemy SOCs have peripherals placed outside of the 32-bit physical address space so for those CONFIG_64BIT_PHYS_ADDR will be defined and phys_t be unsigned long long and used for some pagetable stuff to map those devices into the 32-bit virtual address space. UM uses a phys_t for its pagetables. A single data type for everybody is enough. phys_addr_t or phys_t I don't care; I went for phys_t because it's shorter, less to type. Ralf