]> git.ipfire.org Git - people/teissler/ipfire-2.x.git/blobdiff - src/patches/suse-2.6.27.25/patches.xen/xen-x86-bigmem
Updated xen patches taken from suse.
[people/teissler/ipfire-2.x.git] / src / patches / suse-2.6.27.25 / patches.xen / xen-x86-bigmem
similarity index 58%
rename from src/patches/60063_xen-x86-bigmem.patch1
rename to src/patches/suse-2.6.27.25/patches.xen/xen-x86-bigmem
index 16a74c9d998e7062dbfe19ad7b7e7a587ddf9b68..67945f6ea5b3a10fa3d376c0c722d82a37f2f5da 100644 (file)
@@ -4,13 +4,10 @@ Patch-mainline: obsolete
 
 At the same time remove the non-applicable and broken support for the
 memmap= command line option.
-Also fix the overlap of the modules area with the fixmaps on x86-64.
 
-Index: head-2008-11-25/arch/x86/kernel/e820-xen.c
-===================================================================
---- head-2008-11-25.orig/arch/x86/kernel/e820-xen.c    2008-11-27 10:20:43.000000000 +0100
-+++ head-2008-11-25/arch/x86/kernel/e820-xen.c 2008-11-25 13:18:07.000000000 +0100
-@@ -1235,6 +1235,26 @@ static int __init parse_memopt(char *p)
+--- sle11-2009-05-14.orig/arch/x86/kernel/e820-xen.c   2009-02-17 14:01:20.000000000 +0100
++++ sle11-2009-05-14/arch/x86/kernel/e820-xen.c        2009-03-13 16:14:19.000000000 +0100
+@@ -1308,6 +1308,26 @@ static int __init parse_memopt(char *p)
  
        i = e820.nr_map - 1;
        current_end = e820.map[i].addr + e820.map[i].size;
@@ -37,7 +34,7 @@ Index: head-2008-11-25/arch/x86/kernel/e820-xen.c
        if (current_end < mem_size) {
                /*
                 * The e820 map ends before our requested size so
-@@ -1294,6 +1314,7 @@ static int __init parse_memmap_opt(char 
+@@ -1367,6 +1387,7 @@ static int __init parse_memmap_opt(char 
        return *p == '\0' ? 0 : -EINVAL;
  }
  early_param("memmap", parse_memmap_opt);
@@ -45,7 +42,7 @@ Index: head-2008-11-25/arch/x86/kernel/e820-xen.c
  
  void __init finish_e820_parsing(void)
  {
-@@ -1308,7 +1329,6 @@ void __init finish_e820_parsing(void)
+@@ -1381,7 +1402,6 @@ void __init finish_e820_parsing(void)
                e820_print_map("user");
        }
  }
@@ -53,10 +50,17 @@ Index: head-2008-11-25/arch/x86/kernel/e820-xen.c
  
  static inline const char *e820_type_to_string(int e820_type)
  {
-Index: head-2008-11-25/arch/x86/kernel/setup-xen.c
-===================================================================
---- head-2008-11-25.orig/arch/x86/kernel/setup-xen.c   2008-11-17 13:58:02.000000000 +0100
-+++ head-2008-11-25/arch/x86/kernel/setup-xen.c        2008-11-27 10:26:10.000000000 +0100
+@@ -1407,7 +1427,7 @@ void __init e820_reserve_resources(void)
+       struct resource *res;
+       u64 end;
+-      res = alloc_bootmem_low(sizeof(struct resource) * e820.nr_map);
++      res = alloc_bootmem(sizeof(struct resource) * e820.nr_map);
+       for (i = 0; i < e820.nr_map; i++) {
+               end = e820.map[i].addr + e820.map[i].size - 1;
+ #ifndef CONFIG_RESOURCES_64BIT
+--- sle11-2009-05-14.orig/arch/x86/kernel/setup-xen.c  2008-11-17 13:58:02.000000000 +0100
++++ sle11-2009-05-14/arch/x86/kernel/setup-xen.c       2009-02-16 17:05:16.000000000 +0100
 @@ -128,12 +128,7 @@ static struct notifier_block xen_panic_b
  unsigned long *phys_to_machine_mapping;
  EXPORT_SYMBOL(phys_to_machine_mapping);
@@ -71,7 +75,7 @@ Index: head-2008-11-25/arch/x86/kernel/setup-xen.c
  
  /* Raw start-of-day parameters from the hypervisor. */
  start_info_t *xen_start_info;
-@@ -1055,17 +1050,17 @@ void __init setup_arch(char **cmdline_p)
+@@ -1037,17 +1032,17 @@ void __init setup_arch(char **cmdline_p)
                p2m_pages = xen_start_info->nr_pages;
  
        if (!xen_feature(XENFEAT_auto_translated_physmap)) {
@@ -92,7 +96,7 @@ Index: head-2008-11-25/arch/x86/kernel/setup-xen.c
                free_bootmem(
                        __pa(xen_start_info->mfn_list),
                        PFN_PHYS(PFN_UP(xen_start_info->nr_pages *
-@@ -1075,15 +1070,26 @@ void __init setup_arch(char **cmdline_p)
+@@ -1057,15 +1052,26 @@ void __init setup_arch(char **cmdline_p)
                 * Initialise the list of the frames that specify the list of
                 * frames that make up the p2m table. Used by save/restore.
                 */
@@ -122,29 +126,31 @@ Index: head-2008-11-25/arch/x86/kernel/setup-xen.c
                                pfn_to_mfn_frame_list[k] =
                                        alloc_bootmem_pages(PAGE_SIZE);
                                pfn_to_mfn_frame_list_list[k] =
-Index: head-2008-11-25/arch/x86/mm/init_64-xen.c
-===================================================================
---- head-2008-11-25.orig/arch/x86/mm/init_64-xen.c     2008-11-17 13:58:22.000000000 +0100
-+++ head-2008-11-25/arch/x86/mm/init_64-xen.c  2008-11-25 13:18:07.000000000 +0100
-@@ -660,6 +660,13 @@ static void __init extend_init_mapping(u
-       while (va < (__START_KERNEL_map
-                    + (table_cur << PAGE_SHIFT)
-                    + tables_space)) {
-+              if (!pmd_index(va) && !pte_index(va)) {
-+                      page = (unsigned long *)init_level4_pgt;
-+                      addr = page[pgd_index(va)];
-+                      addr_to_page(addr, page);
-+                      addr = page[pud_index(va)];
-+                      addr_to_page(addr, page);
-+              }
-               pmd = (pmd_t *)&page[pmd_index(va)];
-               if (pmd_none(*pmd)) {
-                       pte_page = alloc_static_page(&phys);
-Index: head-2008-11-25/drivers/xen/core/machine_reboot.c
-===================================================================
---- head-2008-11-25.orig/drivers/xen/core/machine_reboot.c     2008-11-18 18:17:30.000000000 +0100
-+++ head-2008-11-25/drivers/xen/core/machine_reboot.c  2008-11-25 13:18:07.000000000 +0100
-@@ -84,7 +84,7 @@ static void post_suspend(int suspend_can
+--- sle11-2009-05-14.orig/arch/x86/kernel/setup_percpu-xen.c   2009-03-16 16:38:16.000000000 +0100
++++ sle11-2009-05-14/arch/x86/kernel/setup_percpu-xen.c        2009-03-13 16:14:41.000000000 +0100
+@@ -211,7 +211,7 @@ static void __init setup_node_to_cpumask
+       }
+       /* allocate the map */
+-      map = alloc_bootmem_low(nr_node_ids * sizeof(cpumask_t));
++      map = alloc_bootmem(nr_node_ids * sizeof(cpumask_t));
+       pr_debug(KERN_DEBUG "Node to cpumask map at %p for %d nodes\n",
+                map, nr_node_ids);
+--- sle11-2009-05-14.orig/drivers/xen/core/machine_kexec.c     2009-03-16 16:38:16.000000000 +0100
++++ sle11-2009-05-14/drivers/xen/core/machine_kexec.c  2009-03-13 16:13:15.000000000 +0100
+@@ -57,7 +57,7 @@ void __init xen_machine_kexec_setup_reso
+       /* allocate xen_phys_cpus */
+-      xen_phys_cpus = alloc_bootmem_low(k * sizeof(struct resource));
++      xen_phys_cpus = alloc_bootmem(k * sizeof(struct resource));
+       BUG_ON(xen_phys_cpus == NULL);
+       /* fill in xen_phys_cpus with per-cpu crash note information */
+--- sle11-2009-05-14.orig/drivers/xen/core/machine_reboot.c    2009-02-17 12:23:48.000000000 +0100
++++ sle11-2009-05-14/drivers/xen/core/machine_reboot.c 2009-02-17 12:25:29.000000000 +0100
+@@ -76,7 +76,7 @@ static void post_suspend(int suspend_can
        unsigned long shinfo_mfn;
        extern unsigned long max_pfn;
        extern unsigned long *pfn_to_mfn_frame_list_list;
@@ -153,16 +159,3 @@ Index: head-2008-11-25/drivers/xen/core/machine_reboot.c
  
        if (suspend_cancelled) {
                xen_start_info->store_mfn =
-Index: head-2008-11-25/include/asm-x86/mach-xen/asm/pgtable_64.h
-===================================================================
---- head-2008-11-25.orig/include/asm-x86/mach-xen/asm/pgtable_64.h     2008-11-18 17:46:21.000000000 +0100
-+++ head-2008-11-25/include/asm-x86/mach-xen/asm/pgtable_64.h  2008-11-25 13:18:07.000000000 +0100
-@@ -158,7 +158,7 @@ static inline void xen_set_pgd(pgd_t *pg
- #define PGDIR_MASK    (~(PGDIR_SIZE - 1))
--#define MAXMEM                 _AC(0x00003fffffffffff, UL)
-+#define MAXMEM                 _AC(0x000000dfffffffff, UL)
- #define VMALLOC_START    _AC(0xffffc20000000000, UL)
- #define VMALLOC_END      _AC(0xffffe1ffffffffff, UL)
- #define VMEMMAP_START  _AC(0xffffe20000000000, UL)