lkml.org 
[lkml]   [2008]   [Mar]   [22]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: ohci1394 problem (MMIO broken) (was 2.6.25-rc6-git6: Reported regressions from 2.6.24)
Linus Torvalds wrote:
>
> On Sat, 22 Mar 2008, Linus Torvalds wrote:
>> 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.
>
> Does this patch make any difference?
>
> (ENTIRELY untested, I checked that it compiles on x86-64, but didn't even
> test a 32-bit build, I'm hoping whoever sees this issue can also fix up
> the inevitable small missed pieces)
>
> Linus
>
> ---
> arch/x86/mm/ioremap.c | 6 +++---
> include/asm-x86/io_32.h | 6 +++---
> include/asm-x86/io_64.h | 6 +++---
> lib/iomap.c | 2 +-
> 4 files changed, 10 insertions(+), 10 deletions(-)
>
> diff --git a/arch/x86/mm/ioremap.c b/arch/x86/mm/ioremap.c
> index 8fe576b..4afaba0 100644
> --- a/arch/x86/mm/ioremap.c
> +++ b/arch/x86/mm/ioremap.c
> @@ -106,7 +106,7 @@ static int ioremap_change_attr(unsigned long vaddr, unsigned long size,
> * have to convert them into an offset in a page-aligned mapping, but the
> * caller shouldn't need to know that small detail.
> */
> -static void __iomem *__ioremap(unsigned long phys_addr, unsigned long size,
> +static void __iomem *__ioremap(resource_size_t phys_addr, unsigned long size,
> enum ioremap_mode mode)
[...]

On my x86-32 test system, none of the devices gets an MMIO region above
the 4G map. (Reconfigured with CONFIG_RESOURCES_64BIT=y while having
CONFIG_HIGHMEM4G=y, like in Thomas M's .config.)

So the only thing I can confirm is that the patch builds and runs fine
on x86-64.
--
Stefan Richter
-=====-==--- --== =-===
http://arcgraph.de/sr/


\
 
 \ /
  Last update: 2008-03-23 00:53    [W:0.207 / U:0.736 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site