From: H. Peter Anvin on
On 06/11/2010 02:17 AM, Kenji Kaneshige wrote:
>
> By the way, I'm wondering some change might be needed also in PCI side.
> For example, current PCI subsystem disables 64-bit BAR with address
> higher than 32-bit assigned if sizeof(resource_size_t) is less than 8.
> But it doesn't care the case sizeof(resource_size_t) is equal to 8 on
> the system that cannot handle whole 64-bit physical address, like
> X86_32 PAE. In relation to this, my system is doing the following
> interesting behavior.
>
> - On x86_32 without PAE, ioatdma works because 64-bit BAR is once
> cleared and then lower address is assigned again.
>
> - On x86_32 with PAE, ioatdma doesn' work even with my patch set.
> Without my patch, kernel hangup or panic happens. With my patch,
> ioatdma driver fails to initialize the device because ioremap()
> returns NULL.
>
> Anyway, I think ioremap() problem needs to be fixed first.
>

We had a patch in for a while to cap the physical address space to the
number of bits supported by the CPU. It got removed because it caused a
regression, which turned out to be because it exposed another bug (which
has since been fixed) -- I have been meaning to put it back in.

-hpa
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo(a)vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
From: H. Peter Anvin on
On 06/17/2010 08:21 PM, Kenji Kaneshige wrote:
> Hi,
>
> Here is a updated version (v.3) of patchset to fix ioremap() related
> problem found in x86 32-bit mode. The problem is that ioremap() maps
> wrong address for the device to which phisical addres higer than
> 32-bit is assigned (ioat device in my case).
>

Will look at it first thing in the morning.

-hpa
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo(a)vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/