[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-Id: <200907040823.23261.lkml@morethan.org>
Date: Sat, 4 Jul 2009 08:23:20 -0500
From: "Michael S. Zick" <lkml@...ethan.org>
To: "H. Peter Anvin" <hpa@...or.com>
Cc: Jeremy Fitzhardinge <jeremy@...p.org>,
linux-kernel@...r.kernel.org, Thomas Gleixner <tglx@...utronix.de>,
Ingo Molnar <mingo@...hat.com>,
the arch/x86 maintainers <x86@...nel.org>,
Andi Kleen <ak@...ux.intel.com>
Subject: Re: [Bug Fix]: Do 32-bit table calculations in pre-processor
On Fri July 3 2009, H. Peter Anvin wrote:
> Michael S. Zick wrote:
> >>
> >> The PGTABLE reservation seems much too big. I think 1 page should be
> >> sufficient for a system with large pages. Even if not, 0x6d000 is way
> >> too large. And they symptoms of failing to reserve the initial
> >> pagetable are pretty non-subtle.
> >>
> >
> > Random system halts, deadlocks with interrupts disabled?
> > Yup, that sounds familiar.
> >
> > If I ever get more than a stopped machine with a glowing power light;
> > I will be certain to share.
> >
>
> Let's see... on a non-PSE system we may need one PDE and one PTE page
> per 4 MB, up to 1 GB, for a total of 256 pages or 1 MB of memory, so in
> that sense 0x6d000 (109 pages) doesn't sound at all unreasonable
> (non-PSE system with 512 MB of RAM?)
>
> However, we shouldn't have to do this kind of hacks with
> MAPPING_BEYOND_END, and we *certainly* shouldn't do it by implicitly
> hard-coding the value of PAGE_SHIFT.
>
The calculation was correct - this thread title is a false alarm.
The difference posted was caused by disabling the "has pae" in the
build configuration system.
So I just need to dig around in head.S a bit more - get rid of the
"Intel Only" hard coding, check if the pae bit is a hardwired zero
in cr4, make sure I have a usable stack before the testing - since
the test may generate a GP fault. . .
Get the in-memory copy of the cpu feature flags correct (some are
defined but not implemented on this processor). . .
Then find and fix everything that isn't using 'cpu_has(x, y)' -
That should keep me busy for a few weeks. ;)
Mike
> -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