This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
Home Products Support Community News


[Xen-devel] [PATCH] linux/x86-64: adjustments to match i386 behavior

To: "xen-devel@xxxxxxxxxxxxxxxxxxx" <xen-devel@xxxxxxxxxxxxxxxxxxx>
Subject: [Xen-devel] [PATCH] linux/x86-64: adjustments to match i386 behavior
From: "Jan Beulich" <JBeulich@xxxxxxxxxx>
Date: Thu, 30 Sep 2010 14:33:05 +0100
Delivery-date: Thu, 30 Sep 2010 06:33:22 -0700
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
List-help: <mailto:xen-devel-request@lists.xensource.com?subject=help>
List-id: Xen developer discussion <xen-devel.lists.xensource.com>
List-post: <mailto:xen-devel@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=unsubscribe>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
On i386 the corresponding code is inside X86_HT conditionals, and this
config variable is unconditionally off for X86_XEN.

Signed-off-by: Jan Beulich <jbeulich@xxxxxxxxxx>

--- a/arch/x86_64/kernel/setup-xen.c
+++ b/arch/x86_64/kernel/setup-xen.c
@@ -1048,7 +1048,7 @@ static int nearby_node(int apicid)
 static void __init amd_detect_cmp(struct cpuinfo_x86 *c)
-#ifdef CONFIG_SMP
+#if defined(CONFIG_SMP) && !defined(CONFIG_XEN)
        unsigned bits;
        int cpu = smp_processor_id();
@@ -1162,7 +1162,7 @@ static void __init init_amd(struct cpuin
 static void __cpuinit detect_ht(struct cpuinfo_x86 *c)
-#ifdef CONFIG_SMP
+#if defined(CONFIG_SMP) && !defined(CONFIG_XEN)
        u32     eax, ebx, ecx, edx;
        int     index_msb, core_bits;
@@ -1347,7 +1347,7 @@ void __cpuinit early_identify_cpu(struct
                c->x86 = 4;
-#ifdef CONFIG_SMP
+#if defined(CONFIG_SMP) && !defined(CONFIG_XEN)
        c->phys_proc_id = (cpuid_ebx(1) >> 24) & 0xff;
@@ -1555,7 +1555,7 @@ static int show_cpuinfo(struct seq_file 
        if (c->x86_cache_size >= 0) 
                seq_printf(m, "cache size\t: %d KB\n", c->x86_cache_size);
-#ifdef CONFIG_SMP
+#if defined(CONFIG_SMP) && !defined(CONFIG_XEN)
        if (smp_num_siblings * c->x86_max_cores > 1) {
                int cpu = c - cpu_data;
                seq_printf(m, "physical id\t: %d\n", c->phys_proc_id);
--- a/include/asm-x86_64/topology.h
+++ b/include/asm-x86_64/topology.h
@@ -54,7 +54,7 @@ extern int __node_distance(int, int);
-#ifdef CONFIG_SMP
+#if defined(CONFIG_SMP) && !defined(CONFIG_XEN)
 #define topology_physical_package_id(cpu)      (cpu_data[cpu].phys_proc_id)
 #define topology_core_id(cpu)                  (cpu_data[cpu].cpu_core_id)
 #define topology_core_siblings(cpu)            (cpu_core_map[cpu])

Attachment: xen-x86_64-no-topology.patch
Description: Text document

Xen-devel mailing list
<Prev in Thread] Current Thread [Next in Thread>
  • [Xen-devel] [PATCH] linux/x86-64: adjustments to match i386 behavior, Jan Beulich <=