[POWERPC] Fix powerpc 32-bit resource fixup for 64-bit resources
authorBenjamin Herrenschmidt <benh@kernel.crashing.org>
Tue, 11 Dec 2007 03:48:20 +0000 (14:48 +1100)
committerPaul Mackerras <paulus@samba.org>
Tue, 11 Dec 2007 04:43:35 +0000 (15:43 +1100)
commit05d3957e110c46b8c613214d68705bc97d9c6609
tree37b97985e2cba447f080adf93d0020695ed6e0e9
parent13dccb9e65dc0fa4de83e5bd5639f7a7f3f6fb9e
[POWERPC] Fix powerpc 32-bit resource fixup for 64-bit resources

The 32-bit powerpc resource fixup code uses unsigned longs to do the
offsetting of resources which overflows on platforms such as 4xx where
resources can be 64 bits.

This fixes it by using resource_size_t instead.

However, the IO stuff does rely on some 32 bits arithmetic, so we hack
by cropping the result of the fixups for IO resources with a 32 bits
mask.

This isn't the prettiest but should work for now until we change the
32 bits PCI code to do IO mappings like 64 bits does, within a reserved
are of the kernel address space.

Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: Paul Mackerras <paulus@samba.org>
arch/powerpc/kernel/pci_32.c