mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Zachary Amsden <zach@vmware.com>
To: "H. Peter Anvin" <hpa@kernel.org>
Cc: Alok Kataria <akataria@vmware.com>,
	"torvalds@linux-foundation.org" <torvalds@linux-foundation.org>,
	Ingo Molnar <mingo@elte.hu>,
	the arch/x86 maintainers <x86@kernel.org>,
	LKML <linux-kernel@vger.kernel.org>
Subject: Re: [PATCH]Fix broken VMI in 2.6.27-rc..
Date: Thu, 07 Aug 2008 14:42:24 -0700	[thread overview]
Message-ID: <1218145344.20178.347.camel@bodhitayantram.eng.vmware.com> (raw)
In-Reply-To: <489B6A5C.8030400@kernel.org>

On Thu, 2008-08-07 at 14:34 -0700, H. Peter Anvin wrote:
> Zachary Amsden wrote:
> >
> > That can't be done until we know the size of the hole to relocate, which
> > isn't known until we probe in the first meg of memory to find the
> > associated ROM.  It used to be the case that other things that poked
> > around with platform specific memory and checking ROM areas lived around
> > here in setup.c, so it was a nice place to put it.  With all the
> > abstraction and combination and overifdeffing going on here, that might
> > no longer be the case.
> >
> > We could move it earlier, but then we'd need another hook to call in
> > after max_low_pfn is known.
> >
> > Or we could remove the dependency on max_low_pfn and just create a
> > liberal linear to physical mapping for lomem which spans all possible
> > low memory; then it doesn't matter so much where it is called.
> >
> 
> Okay, you lost me about halfway through that... could you perhaps
> describe the problem from the beginning, exactly what you're trying to do?

A kernel compiled with VMI enabled may run on a non-VMI platform.  If
that is the case, the fixmap should not be relocated.  If however, a VMI
ROM is found, we need to hijack up to 64-MB of linear address space from
the top of memory down.  This means moving the fixmap down by the same
amount.

Right now the code is structured in such a way that it wants to know how
much physical memory there is, so it can register a mapping table for
mapping linear addresses in the lowmem area to physical addresses.  This
causes the code to depend on max_low_pfn being initialized, which
accounts for the current placement.

But it also must be called before anything that creates the fixmap,
because the same code which registers the linear address mapping also
reserves high memory above the fixmap.

My point is 1) these could be two separate calls, or 2) the lowmem
mapping table need not depend on max_low_pfn at all, it is safe to
create an extra large mapping which covers all possible lowmem instead
of the physical ram that is actually available.

Zach


  reply	other threads:[~2008-08-07 21:43 UTC|newest]

Thread overview: 33+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-08-07 19:12 Alok Kataria
2008-08-07 21:20 ` H. Peter Anvin
2008-08-07 21:27   ` Zachary Amsden
2008-08-07 21:34     ` H. Peter Anvin
2008-08-07 21:42       ` Zachary Amsden [this message]
2008-08-07 21:52         ` H. Peter Anvin
2008-08-07 21:55           ` Zachary Amsden
2008-08-07 22:17             ` H. Peter Anvin
2008-08-07 22:38               ` Linus Torvalds
2008-08-07 22:58                 ` H. Peter Anvin
2008-08-07 23:08                   ` Linus Torvalds
2008-08-07 23:12                     ` H. Peter Anvin
2008-08-07 23:26                     ` Zachary Amsden
2008-08-07 23:49                       ` Jeremy Fitzhardinge
2008-08-07 23:23               ` Jeremy Fitzhardinge
2008-08-08 19:15           ` Alok Kataria
2008-08-08 22:23             ` H. Peter Anvin
2008-08-07 23:21     ` Jeremy Fitzhardinge
2008-08-07 23:27       ` H. Peter Anvin
2008-08-07 23:46         ` Jeremy Fitzhardinge
2008-08-07 23:51           ` H. Peter Anvin
2008-08-08  0:01             ` Yinghai Lu
2008-08-08  0:11               ` H. Peter Anvin
2008-08-08  0:10             ` Jeremy Fitzhardinge
2008-08-08  0:13               ` H. Peter Anvin
2008-08-08  0:23                 ` Jeremy Fitzhardinge
2008-08-08  0:29                   ` H. Peter Anvin
2008-08-08  6:10                 ` Jeremy Fitzhardinge
2008-08-08 16:13                   ` H. Peter Anvin
2008-08-08  1:14               ` Zachary Amsden
2008-08-08  1:19                 ` H. Peter Anvin
2008-08-08  1:28                   ` Zachary Amsden
2008-08-07 21:41   ` Alok Kataria

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1218145344.20178.347.camel@bodhitayantram.eng.vmware.com \
    --to=zach@vmware.com \
    --cc=akataria@vmware.com \
    --cc=hpa@kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mingo@elte.hu \
    --cc=torvalds@linux-foundation.org \
    --cc=x86@kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®