From: "H. Peter Anvin" <hpa@zytor.com>
To: Yinghai Lu <yinghai.lu@oracle.com>
Cc: Jacob Shin <jacob.shin@amd.com>,
Thomas Gleixner <tglx@linutronix.de>,
Ingo Molnar <mingo@redhat.com>,
"Herrmann3, Andreas" <Andreas.Herrmann3@amd.com>,
"x86@kernel.org" <x86@kernel.org>,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
Joerg Roedel <joerg.roedel@amd.com>
Subject: Re: [PATCH 1/1] x86: Exclude E820_RESERVED regions and memory holes above 4 GB from direct mapping.
Date: Fri, 16 Dec 2011 09:54:57 -0800 [thread overview]
Message-ID: <4EEB85F1.7050903@zytor.com> (raw)
In-Reply-To: <4EEB8320.4010809@oracle.com>
On 12/16/2011 09:42 AM, Yinghai Lu wrote:
>
> no, you change the meaning max_low_pfn_mapped and max_pfn_mapped for x86_64 at least.
>
> before your patch:
> max_low_pfn_mapped is the mapped pfn beblow 4g.
> max_pfn_mapped: is mapped pfn.
>
> after your patch, those two variables does not mean the memory [0, max_low_pfn_mapped) and [4g<<12, max_pfn_mapped)
> are really mapped.
>
And that's exactly the problem. It is BROKEN -- as in fundamentally
dangerous -- for these mappings to exist. It is because the model is
too inflexible.
> so in arch/x86/platform/efi/efi.c
>
> if (end_pfn<= max_low_pfn_mapped
> || (end_pfn> (1UL<< (32 - PAGE_SHIFT))
> && end_pfn<= max_pfn_mapped))
> va = __va(md->phys_addr);
> else
> va = efi_ioremap(md->phys_addr, size, md->type);
>
>
> and others will have problem.
>
> to solve your problem:
> 1. unmap the HT range ?
> 2. or introduce mapped_pfn_range array?
1 is fundamentally a braindead hack that solves one case without solving
the overall problem.
For 2 - why can't we simply make the invariant that E820_RAM is mapped
and nothing else, with the sole exceptions being the 1 MiB (fixed MTRR)?
For things like efi.c we should make sure to have interfaces instead of
open-code this kind of stuff.
-hpa
next prev parent reply other threads:[~2011-12-16 17:55 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-10-20 21:15 [PATCH 1/1] x86: Exclude E820_RESERVED regions and memory holes above 4 GB from direct mapping Jacob Shin
2011-10-20 21:28 ` Andi Kleen
2011-10-20 21:30 ` H. Peter Anvin
2011-10-20 21:32 ` H. Peter Anvin
2011-10-20 22:10 ` Jacob Shin
2011-10-20 22:43 ` H. Peter Anvin
2011-10-20 22:20 ` H. Peter Anvin
2011-10-20 22:26 ` Jacob Shin
2011-12-14 22:42 ` H. Peter Anvin
2011-12-14 23:14 ` Jacob Shin
2011-12-16 16:20 ` Jacob Shin
2011-12-16 17:42 ` Yinghai Lu
2011-12-16 17:54 ` H. Peter Anvin [this message]
2011-12-16 18:29 ` Yinghai Lu
2011-12-16 18:32 ` H. Peter Anvin
2011-12-16 20:59 ` Yinghai Lu
2011-12-17 0:57 ` H. Peter Anvin
2012-10-17 19:17 ` [tip:x86/urgent] " tip-bot for Jacob Shin
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=4EEB85F1.7050903@zytor.com \
--to=hpa@zytor.com \
--cc=Andreas.Herrmann3@amd.com \
--cc=jacob.shin@amd.com \
--cc=joerg.roedel@amd.com \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@redhat.com \
--cc=tglx@linutronix.de \
--cc=x86@kernel.org \
--cc=yinghai.lu@oracle.com \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.