/[pkg-src]/trunk/kernel26-xen/patches-2.6.25-r1/1057-2.6.25-xen-Include-user-page-tables-on-head_64.S.patch |
Contents of /trunk/kernel26-xen/patches-2.6.25-r1/1057-2.6.25-xen-Include-user-page-tables-on-head_64.S.patch
Parent Directory | Revision Log
Revision 606 -
(show annotations)
(download)
Thu May 22 23:13:13 2008 UTC (15 years, 11 months ago) by niro
File size: 1667 byte(s)
Thu May 22 23:13:13 2008 UTC (15 years, 11 months ago) by niro
File size: 1667 byte(s)
-ver bump to 2.6.25-magellan-r1: - linux-2.6.25.4 - fbcondecor-0.9.4 - squashfs-3.3 - unionfs-2.3.3 - tuxonice-3.0-rc7 - linux-phc-0.3.0 - acpi-dstd-0.9a - reiser4 - xen-3.2.0 . ipw3945-1.2.2
1 | From d84f1d3e1dc0fa31d7a7f459d3c7a4128df26e6d Mon Sep 17 00:00:00 2001 |
2 | From: Eduardo Habkost <ehabkost@redhat.com> |
3 | Date: Tue, 11 Dec 2007 12:02:11 -0200 |
4 | Subject: [PATCH] Include user page tables on head_64.S |
5 | |
6 | This will need to be conditional on Xen being enabled. |
7 | |
8 | Signed-off-by: Eduardo Habkost <ehabkost@redhat.com> |
9 | --- |
10 | arch/x86/kernel/head_64.S | 20 ++++++++++++++++++++ |
11 | 1 files changed, 20 insertions(+), 0 deletions(-) |
12 | |
13 | diff --git a/arch/x86/kernel/head_64.S b/arch/x86/kernel/head_64.S |
14 | index 923ad56..b104024 100644 |
15 | --- a/arch/x86/kernel/head_64.S |
16 | +++ b/arch/x86/kernel/head_64.S |
17 | @@ -356,6 +356,18 @@ NEXT_PAGE(init_level4_pgt) |
18 | /* (2^48-(2*1024*1024*1024))/(2^39) = 511 */ |
19 | .quad level3_kernel_pgt - __START_KERNEL_map + _PAGE_TABLE |
20 | |
21 | + |
22 | + /* |
23 | + * We update two pgd entries to make kernel and user pgd consistent |
24 | + * at pgd_populate(). It can be used for kernel modules. So we place |
25 | + * this page here for those cases to avoid memory corruption. |
26 | + * We also use this page to establish the initiali mapping for |
27 | + * vsyscall area. |
28 | + */ |
29 | +NEXT_PAGE(init_level4_user_pgt) |
30 | + .fill 512,8,0 |
31 | + |
32 | + |
33 | NEXT_PAGE(level3_ident_pgt) |
34 | .quad level2_ident_pgt - __START_KERNEL_map + _KERNPG_TABLE |
35 | .fill 511,8,0 |
36 | @@ -366,6 +378,14 @@ NEXT_PAGE(level3_kernel_pgt) |
37 | .quad level2_kernel_pgt - __START_KERNEL_map + _KERNPG_TABLE |
38 | .quad level2_fixmap_pgt - __START_KERNEL_map + _PAGE_TABLE |
39 | |
40 | + /* |
41 | + * This is used for vsyscall area mapping as we have a different |
42 | + * level4 page table for user. |
43 | + */ |
44 | +NEXT_PAGE(level3_user_pgt) |
45 | + .fill 512,8,0 |
46 | + |
47 | + |
48 | NEXT_PAGE(level2_fixmap_pgt) |
49 | .fill 506,8,0 |
50 | .quad level1_fixmap_pgt - __START_KERNEL_map + _PAGE_TABLE |
51 | -- |
52 | 1.5.4.1 |
53 |