Re: ohci1394 problem (MMIO broken) (was 2.6.25-rc6-git6: Reportedregressions from 2.6.24)

From: Linus Torvalds
Date: Sat Mar 22 2008 - 17:35:42 EST




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
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/