diff options
author | Suresh Siddha <suresh.b.siddha@intel.com> | 2008-10-07 13:58:46 -0700 |
---|---|---|
committer | Ingo Molnar <mingo@elte.hu> | 2008-10-10 19:29:21 +0200 |
commit | b27a43c1e90582facad44de67d02bc9e9f900289 (patch) | |
tree | 5cdf26c4043e9345cb132798a8535ccb9c20aa9a /fs/block_dev.c | |
parent | ad2cde16a21985cdc4302e4a4b0fc373d666fdf7 (diff) |
x86, cpa: make the kernel physical mapping initialization a two pass sequence, fix
Jeremy Fitzhardinge wrote:
> I'd noticed that current tip/master hasn't been booting under Xen, and I
> just got around to bisecting it down to this change.
>
> commit 065ae73c5462d42e9761afb76f2b52965ff45bd6
> Author: Suresh Siddha <suresh.b.siddha@intel.com>
>
> x86, cpa: make the kernel physical mapping initialization a two pass sequence
>
> This patch is causing Xen to fail various pagetable updates because it
> ends up remapping pagetables to RW, which Xen explicitly prohibits (as
> that would allow guests to make arbitrary changes to pagetables, rather
> than have them mediated by the hypervisor).
Instead of making init a two pass sequence, to satisfy the Intel's TLB
Application note (developer.intel.com/design/processor/applnots/317080.pdf
Section 6 page 26), we preserve the original page permissions
when fragmenting the large mappings and don't touch the existing memory
mapping (which satisfies Xen's requirements).
Only open issue is: on a native linux kernel, we will go back to mapping
the first 0-1GB kernel identity mapping as executable (because of the
static mapping setup in head_64.S). We can fix this in a different
patch if needed.
Signed-off-by: Suresh Siddha <suresh.b.siddha@intel.com>
Acked-by: Jeremy Fitzhardinge <jeremy@goop.org>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'fs/block_dev.c')
0 files changed, 0 insertions, 0 deletions