/[pkg-src]/trunk/kernel26-xen/patches-2.6.25-r1/1066-2.6.25-xen-specific-find_early_table_space-FIXME.patch |
Annotation of /trunk/kernel26-xen/patches-2.6.25-r1/1066-2.6.25-xen-specific-find_early_table_space-FIXME.patch
Parent Directory | Revision Log
Revision 606 -
(hide annotations)
(download)
Thu May 22 23:13:13 2008 UTC (16 years ago) by niro
File size: 1820 byte(s)
Thu May 22 23:13:13 2008 UTC (16 years ago) by niro
File size: 1820 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 | niro | 606 | From a9ea6d85c63caff3d79eb765de6931c076708326 Mon Sep 17 00:00:00 2001 |
2 | From: Eduardo Habkost <ehabkost@redhat.com> | ||
3 | Date: Wed, 23 Jan 2008 12:15:58 -0200 | ||
4 | Subject: [PATCH] Xen-specific find_early_table_space() (FIXME) | ||
5 | |||
6 | Signed-off-by: Eduardo Habkost <ehabkost@redhat.com> | ||
7 | --- | ||
8 | arch/x86/mm/init_64.c | 31 +++++++++++++++++++++++++++++++ | ||
9 | 1 files changed, 31 insertions(+), 0 deletions(-) | ||
10 | |||
11 | diff --git a/arch/x86/mm/init_64.c b/arch/x86/mm/init_64.c | ||
12 | index 69d1056..a6f2051 100644 | ||
13 | --- a/arch/x86/mm/init_64.c | ||
14 | +++ b/arch/x86/mm/init_64.c | ||
15 | @@ -522,6 +522,35 @@ phys_pud_init(pud_t *pud_page, unsigned long addr, unsigned long end) | ||
16 | __flush_tlb_all(); | ||
17 | } | ||
18 | |||
19 | +#ifdef CONFIG_XEN | ||
20 | +/*FIXME: Yet Another Xen #ifdef that needs to be done at runtime */ | ||
21 | + | ||
22 | +static void __init find_early_table_space(unsigned long end) | ||
23 | +{ | ||
24 | + unsigned long puds, pmds, ptes, tables; | ||
25 | + | ||
26 | + puds = (end + PUD_SIZE - 1) >> PUD_SHIFT; | ||
27 | + pmds = (end + PMD_SIZE - 1) >> PMD_SHIFT; | ||
28 | + ptes = (end + PTE_SIZE - 1) >> PAGE_SHIFT; | ||
29 | + | ||
30 | + tables = round_up(puds * 8, PAGE_SIZE) + | ||
31 | + round_up(pmds * 8, PAGE_SIZE) + | ||
32 | + round_up(ptes * 8, PAGE_SIZE); | ||
33 | + | ||
34 | + /*FIXME: what does this do? */ | ||
35 | + //extend_init_mapping(tables); | ||
36 | + | ||
37 | + table_start = start_pfn; | ||
38 | + table_end = table_start + (tables>>PAGE_SHIFT); | ||
39 | + | ||
40 | + early_printk("kernel direct mapping tables up to %lx @ %lx-%lx\n", | ||
41 | + end, table_start << PAGE_SHIFT, | ||
42 | + (table_start << PAGE_SHIFT) + tables); | ||
43 | +} | ||
44 | + | ||
45 | + | ||
46 | +#else /* XEN */ | ||
47 | + | ||
48 | static void __init find_early_table_space(unsigned long end) | ||
49 | { | ||
50 | unsigned long puds, pmds, tables, start; | ||
51 | @@ -545,6 +574,8 @@ static void __init find_early_table_space(unsigned long end) | ||
52 | table_end = table_start; | ||
53 | } | ||
54 | |||
55 | +#endif /* !XEN */ | ||
56 | + | ||
57 | /* | ||
58 | * Setup the direct mapping of the physical memory at PAGE_OFFSET. | ||
59 | * This runs before bootmem is initialized and gets pages directly from | ||
60 | -- | ||
61 | 1.5.4.1 | ||
62 |