Messages in this thread |  | | Date | Sat, 22 Mar 2008 14:33:53 -0700 (PDT) | From | Linus Torvalds <> | Subject | Re: ohci1394 problem (MMIO broken) (was 2.6.25-rc6-git6: Reported regressions from 2.6.24) |
| |
On Sat, 22 Mar 2008, Stefan Richter wrote: > > Can an MMIO region reside above 0x1'0000'0000 on x86-32? ... Apparently yes, > if CONFIG_RESOURCES_64BIT=y.
Hmm. It would only work if PAE (HIGHMEM64G) is enabled too.
And obviously the hardware has to have working 64-bit BAR's.
AND no, I don't think our x86-32 ioremap() actually works for this case, because while the resource data may have the full 64 bits, when the ioremap() happens it gets truncated to 32 bits.
Ingo/Thomas - should ioremap*() perhaps take "resource_size_t" or a "u64" for the address (and then "__ioremap()" should probably take a PFN, not a physical address, and that one can remain just a "unsigned long"?)
Has anybody ever had a working 64-bit BAR on x86? Ivan? Maybe I'm missing something..
Linus
|  |