/[pkg-src]/trunk/kernel26-xen/patches-2.6.25-r1/1066-2.6.25-xen-specific-find_early_table_space-FIXME.patch |
Contents 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 -
(show 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 | 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 |