Magellan Linux

Contents of /trunk/kernel26-xen/patches-2.6.25-r1/1066-2.6.25-xen-specific-find_early_table_space-FIXME.patch

Parent Directory Parent Directory | Revision Log Revision Log


Revision 606 - (show annotations) (download)
Thu May 22 23:13:13 2008 UTC (15 years, 11 months 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 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