[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <4A45AEC5.3060407@zytor.com>
Date: Fri, 26 Jun 2009 22:31:49 -0700
From: "H. Peter Anvin" <hpa@...or.com>
To: Grant Grundler <grundler@...isc-linux.org>
CC: Mikael Pettersson <mikpe@...uu.se>, linux-kernel@...r.kernel.org,
linux-pci@...r.kernel.org
Subject: Re: [BUG 2.6.31-rc1] HIGHMEM64G causes hang in PCI init on 32-bit
x86
Grant Grundler wrote:
>>> +
>>> + /* Cap the iomem address space to what is addressable on all CPUs */
>>> + iomem_resource.end &= (1ULL << c->x86_phys_bits) - 1;
>
> Does x86_phys_bits represent the number of address lines/bits handled by
> the memory controller, coming out of the CPU, or handled by the
> "north bridge" (IO controller)?
>
x86_phys_bits represents the top end of what the processor can address.
> I was assuming all three are the same thing but that might not be true
> with "QPI" or whatever Intel is calling it's serial interconnect these days.
> I'm wondering if the addressing capability of the CPU->memory controller
> might be different than CPU->IO Controller.
>
> Parallel interconnects are limited by the number of lines wired to
> transmit address data and I expect that's where x86_phys_bits originally
> came from. Chipsets _were_ all designed around those limits.
Serial interconnects behave the same way, it's just that the address
bits are sent in serial order. Something is seriously goofy here, and
it's probably reasonably straightforward to figure out what.
-hpa
--
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