[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <1206488005.10573.8.camel@pasglop>
Date: Wed, 26 Mar 2008 10:33:25 +1100
From: Benjamin Herrenschmidt <benh@...abs.org>
To: Linus Torvalds <torvalds@...ux-foundation.org>
Cc: Stefan Richter <stefanr@...6.in-berlin.de>,
Ingo Molnar <mingo@...e.hu>,
Thomas Gleixner <tglx@...utronix.de>,
Ivan Kokshaysky <ink@...assic.park.msu.ru>,
Thomas Meyer <thomas@...3r.de>,
"Rafael J. Wysocki" <rjw@...k.pl>,
LKML <linux-kernel@...r.kernel.org>,
Adrian Bunk <bunk@...nel.org>,
Andrew Morton <akpm@...ux-foundation.org>,
Natalie Protasevich <protasnb@...il.com>
Subject: Re: ohci1394 problem (MMIO broken) (was 2.6.25-rc6-git6: Reported
regressions from 2.6.24)
On Sat, 2008-03-22 at 14:33 -0700, Linus Torvalds wrote:
>
> 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.
On other platforms however, you can have mmio above 32 bits without
support for 64 bits BARs: the entire PCI bus mmio region can be mapped
up there.
That happens for example with 4xx embedded PowerPC. We deal with it just
fine, provided that nothing tries to stick a resource value into an
unsigned long but uses resource_size_t instead. Unfortunately, it's a
common bug, I've fixing drivers regulary.
It also appears that the iomap code on various archs is buggy too,
including the generic lib/iomap.c, thus pci_iomap is broken for archs
that can have 64 bits resources and use the version in lib/.
The good news is that I have done a patch to fix it, which has been
in -mm for about a month: iomap-fix-64-bits-resources-on-32-bits.patch
Cheers,
Ben.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists