- Update Xen patches to 3.4-rc6.
authorJan Beulich <jbeulich@novell.com>
Tue, 8 May 2012 10:39:36 +0000 (12:39 +0200)
committerJan Beulich <jbeulich@novell.com>
Tue, 8 May 2012 10:39:36 +0000 (12:39 +0200)
suse-commit: 8ed7ef0b9b6fd333622e0f4f1eb78da69a12ce7b

arch/x86/kernel/acpi/boot.c
arch/x86/kernel/cpu/common-xen.c
arch/x86/kernel/setup-xen.c
drivers/hwmon/coretemp-xen.c

index c173923..f1e560b 100644 (file)
@@ -252,7 +252,7 @@ acpi_parse_x2apic(struct acpi_subtable_header *header, const unsigned long end)
                printk(KERN_WARNING PREFIX "x2apic entry ignored\n");
        else
                acpi_register_lapic(apic_id, enabled);
-#else
+#elif !defined(CONFIG_XEN)
        printk(KERN_WARNING PREFIX "x2apic entry ignored\n");
 #endif
 
index 6343bc5..38d9f48 100644 (file)
@@ -1244,17 +1244,6 @@ static void dbg_restore_debug_regs(void)
 #define dbg_restore_debug_regs()
 #endif /* ! CONFIG_KGDB */
 
-#ifndef CONFIG_XEN
-/*
- * Prints an error where the NUMA and configured core-number mismatch and the
- * platform didn't override this to fix it up
- */
-void __cpuinit x86_default_fixup_cpu_id(struct cpuinfo_x86 *c, int node)
-{
-       pr_err("NUMA core number %d differs from configured core number %d\n", node, c->phys_proc_id);
-}
-#endif
-
 /*
  * cpu_init() initializes state that is per-CPU. Some data is already
  * initialized (naturally) in the bootstrap process, such as the GDT
index 049c113..56aca1c 100644 (file)
@@ -1235,6 +1235,9 @@ void __init setup_arch(char **cmdline_p)
 #ifdef CONFIG_XEN
 #ifdef CONFIG_KEXEC
        xen_machine_kexec_setup_resources();
+# define kexec_enabled() (crashk_res.start < crashk_res.end)
+#else
+# define kexec_enabled() 0
 #endif
        p2m_pages = max_pfn;
        if (xen_start_info->nr_pages > max_pfn) {
@@ -1344,9 +1347,7 @@ void __init setup_arch(char **cmdline_p)
                                     PFN_PHYS(PFN_UP(xen_start_info->nr_pages *
                                                     sizeof(unsigned long))));
 
-#ifndef CONFIG_KEXEC
-               if (!is_initial_xendomain())
-#endif
+               if (!is_initial_xendomain() || kexec_enabled())
                        setup_pfn_to_mfn_frame_list(__alloc_bootmem);
        }
 
index c959fe9..1c9b454 100644 (file)
@@ -53,7 +53,7 @@ module_param_named(tjmax, force_tjmax, int, 0444);
 MODULE_PARM_DESC(tjmax, "TjMax value in degrees Celsius");
 
 #define BASE_SYSFS_ATTR_NO     2       /* Sysfs Base attr no for coretemp */
-#define NUM_REAL_CORES         16      /* Number of Real cores per cpu */
+#define NUM_REAL_CORES         32      /* Number of Real cores per cpu */
 #define CORETEMP_NAME_LENGTH   17      /* String Length of attrs */
 #define MAX_CORE_ATTRS         4       /* Maximum no of basic attrs */
 #define TOTAL_ATTRS            (MAX_CORE_ATTRS + 1)
@@ -760,6 +760,10 @@ static void put_core_offline(unsigned int cpu)
                return;
        indx = CORE_ATTR_NO(cpu_core_id);
 
+       /* The core id is too big, just return */
+       if (indx > MAX_CORE_DATA - 1)
+               return;
+
        if (pdata->core_data[indx] && pdata->core_data[indx]->cpu == cpu)
                coretemp_remove_core(pdata, &pdev->dev, indx);