Re: clean way to support >32bit addr on 32bit CPU

Linus Torvalds
2005-01-11T00:20:56Z

On Mon, 10 Jan 2005, Dave wrote:
>
> After all said and done, the struct resource members start and end
> must support 64bit integer values in order to work. On a 64bit arch
> that would be fine since unsigned long is 64bit. However on a 32bit
> arch one must use unsigned long long to get 64bit.

We really should make "struct resource" use u64's. It's wrong even on x86,
but we've never seen any real problems in practice, so we've had little
reason to bother.

This has definitely come up before, maybe there's even some old patch
floating around. It should be as easy as just fixing up "start/end" to be
"u64" (and perhaps move them to the beginning of the struct to make sure
packing is ok on all architectures), and fixing any fall-out.

Linus