]> git.ipfire.org Git - people/pmueller/ipfire-2.x.git/blobdiff - src/patches/suse-2.6.27.31/patches.arch/x2APIC_PATCH_14_of_41_0c81c746f9bdbfaafe64322d540c8b7b59c27314
Imported linux-2.6.27.39 suse/xen patches.
[people/pmueller/ipfire-2.x.git] / src / patches / suse-2.6.27.31 / patches.arch / x2APIC_PATCH_14_of_41_0c81c746f9bdbfaafe64322d540c8b7b59c27314
diff --git a/src/patches/suse-2.6.27.31/patches.arch/x2APIC_PATCH_14_of_41_0c81c746f9bdbfaafe64322d540c8b7b59c27314 b/src/patches/suse-2.6.27.31/patches.arch/x2APIC_PATCH_14_of_41_0c81c746f9bdbfaafe64322d540c8b7b59c27314
deleted file mode 100644 (file)
index 348ebc9..0000000
+++ /dev/null
@@ -1,215 +0,0 @@
-From: Suresh Siddha <suresh.b.siddha@intel.com>
-Subject: x64, x2apic/intr-remap: introduce read_apic_id() to genapic routines
-References: fate #303948 and fate #303984
-Patch-Mainline: queued for .28
-Commit-ID: 0c81c746f9bdbfaafe64322d540c8b7b59c27314
-
-Signed-off-by: Thomas Renninger <trenn@suse.de>
-
-Move the read_apic_id()  to genapic routines.
-
-Signed-off-by: Suresh Siddha <suresh.b.siddha@intel.com>
-Cc: akpm@linux-foundation.org
-Cc: arjan@linux.intel.com
-Cc: andi@firstfloor.org
-Cc: ebiederm@xmission.com
-Cc: jbarnes@virtuousgeek.org
-Cc: steiner@sgi.com
-Signed-off-by: Ingo Molnar <mingo@elte.hu>
-
----
- arch/x86/kernel/apic_64.c                   |    5 +++++
- arch/x86/kernel/genapic_64.c                |   11 -----------
- arch/x86/kernel/genapic_flat_64.c           |   14 +++++++++++++-
- arch/x86/kernel/genx2apic_uv_x.c            |   14 +++++++++++++-
- include/asm-x86/genapic_64.h                |    1 +
- include/asm-x86/mach-default/mach_apic.h    |    1 +
- include/asm-x86/mach-default/mach_apicdef.h |    3 ++-
- include/asm-x86/smp.h                       |    4 +---
- 8 files changed, 36 insertions(+), 17 deletions(-)
-
-Index: linux-2.6.26/arch/x86/kernel/apic_64.c
-===================================================================
---- linux-2.6.26.orig/arch/x86/kernel/apic_64.c
-+++ linux-2.6.26/arch/x86/kernel/apic_64.c
-@@ -1095,6 +1095,11 @@ void __cpuinit generic_processor_info(in
-       cpu_set(cpu, cpu_present_map);
- }
-+int hard_smp_processor_id(void)
-+{
-+      return read_apic_id();
-+}
-+
- /*
-  * Power management
-  */
-Index: linux-2.6.26/arch/x86/kernel/genapic_64.c
-===================================================================
---- linux-2.6.26.orig/arch/x86/kernel/genapic_64.c
-+++ linux-2.6.26/arch/x86/kernel/genapic_64.c
-@@ -79,17 +79,6 @@ int __init acpi_madt_oem_check(char *oem
-       return 0;
- }
--unsigned int read_apic_id(void)
--{
--      unsigned int id;
--
--      WARN_ON(preemptible() && num_online_cpus() > 1);
--      id = apic_read(APIC_ID);
--      if (uv_system_type >= UV_X2APIC)
--              id  |= __get_cpu_var(x2apic_extra_bits);
--      return id;
--}
--
- enum uv_system_type get_uv_system_type(void)
- {
-       return uv_system_type;
-Index: linux-2.6.26/arch/x86/kernel/genapic_flat_64.c
-===================================================================
---- linux-2.6.26.orig/arch/x86/kernel/genapic_flat_64.c
-+++ linux-2.6.26/arch/x86/kernel/genapic_flat_64.c
-@@ -15,9 +15,11 @@
- #include <linux/kernel.h>
- #include <linux/ctype.h>
- #include <linux/init.h>
-+#include <linux/hardirq.h>
- #include <asm/smp.h>
- #include <asm/ipi.h>
- #include <asm/genapic.h>
-+#include <mach_apicdef.h>
- static cpumask_t flat_target_cpus(void)
- {
-@@ -95,9 +97,17 @@ static void flat_send_IPI_all(int vector
-               __send_IPI_shortcut(APIC_DEST_ALLINC, vector, APIC_DEST_LOGICAL);
- }
-+static unsigned int read_xapic_id(void)
-+{
-+      unsigned int id;
-+
-+      id = GET_XAPIC_ID(apic_read(APIC_ID));
-+      return id;
-+}
-+
- static int flat_apic_id_registered(void)
- {
--      return physid_isset(GET_APIC_ID(read_apic_id()), phys_cpu_present_map);
-+      return physid_isset(read_xapic_id(), phys_cpu_present_map);
- }
- static unsigned int flat_cpu_mask_to_apicid(cpumask_t cpumask)
-@@ -123,6 +133,7 @@ struct genapic apic_flat =  {
-       .send_IPI_mask = flat_send_IPI_mask,
-       .cpu_mask_to_apicid = flat_cpu_mask_to_apicid,
-       .phys_pkg_id = phys_pkg_id,
-+      .read_apic_id = read_xapic_id,
- };
- /*
-@@ -187,4 +198,5 @@ struct genapic apic_physflat =  {
-       .send_IPI_mask = physflat_send_IPI_mask,
-       .cpu_mask_to_apicid = physflat_cpu_mask_to_apicid,
-       .phys_pkg_id = phys_pkg_id,
-+      .read_apic_id = read_xapic_id,
- };
-Index: linux-2.6.26/arch/x86/kernel/genx2apic_uv_x.c
-===================================================================
---- linux-2.6.26.orig/arch/x86/kernel/genx2apic_uv_x.c
-+++ linux-2.6.26/arch/x86/kernel/genx2apic_uv_x.c
-@@ -18,6 +18,7 @@
- #include <linux/sched.h>
- #include <linux/bootmem.h>
- #include <linux/module.h>
-+#include <linux/hardirq.h>
- #include <asm/smp.h>
- #include <asm/ipi.h>
- #include <asm/genapic.h>
-@@ -138,9 +139,19 @@ static unsigned int uv_cpu_mask_to_apici
-               return BAD_APICID;
- }
-+static unsigned int uv_read_apic_id(void)
-+{
-+      unsigned int id;
-+
-+      WARN_ON(preemptible() && num_online_cpus() > 1);
-+      id = apic_read(APIC_ID) | __get_cpu_var(x2apic_extra_bits);
-+
-+      return id;
-+}
-+
- static unsigned int phys_pkg_id(int index_msb)
- {
--      return GET_APIC_ID(read_apic_id()) >> index_msb;
-+      return uv_read_apic_id() >> index_msb;
- }
- #ifdef ZZZ            /* Needs x2apic patch */
-@@ -163,6 +174,7 @@ struct genapic apic_x2apic_uv_x = {
-       /* ZZZ.send_IPI_self = uv_send_IPI_self, */
-       .cpu_mask_to_apicid = uv_cpu_mask_to_apicid,
-       .phys_pkg_id = phys_pkg_id,     /* Fixme ZZZ */
-+      .read_apic_id = uv_read_apic_id,
- };
- static __cpuinit void set_x2apic_extra_bits(int pnode)
-Index: linux-2.6.26/include/asm-x86/genapic_64.h
-===================================================================
---- linux-2.6.26.orig/include/asm-x86/genapic_64.h
-+++ linux-2.6.26/include/asm-x86/genapic_64.h
-@@ -27,6 +27,7 @@ struct genapic {
-       /* */
-       unsigned int (*cpu_mask_to_apicid)(cpumask_t cpumask);
-       unsigned int (*phys_pkg_id)(int index_msb);
-+      unsigned int (*read_apic_id)(void);
- };
- extern struct genapic *genapic;
-Index: linux-2.6.26/include/asm-x86/mach-default/mach_apic.h
-===================================================================
---- linux-2.6.26.orig/include/asm-x86/mach-default/mach_apic.h
-+++ linux-2.6.26/include/asm-x86/mach-default/mach_apic.h
-@@ -30,6 +30,7 @@ static inline cpumask_t target_cpus(void
- #define cpu_mask_to_apicid (genapic->cpu_mask_to_apicid)
- #define phys_pkg_id   (genapic->phys_pkg_id)
- #define vector_allocation_domain    (genapic->vector_allocation_domain)
-+#define read_apic_id  (genapic->read_apic_id)
- extern void setup_apic_routing(void);
- #else
- #define INT_DELIVERY_MODE dest_LowestPrio
-Index: linux-2.6.26/include/asm-x86/mach-default/mach_apicdef.h
-===================================================================
---- linux-2.6.26.orig/include/asm-x86/mach-default/mach_apicdef.h
-+++ linux-2.6.26/include/asm-x86/mach-default/mach_apicdef.h
-@@ -5,8 +5,9 @@
- #ifdef CONFIG_X86_64
- #define       APIC_ID_MASK            (0xFFu<<24)
--#define GET_APIC_ID(x)          (((x)>>24)&0xFFu)
-+#define GET_APIC_ID(x)          (x)
- #define       SET_APIC_ID(x)          (((x)<<24))
-+#define GET_XAPIC_ID(x)               (((x) >> 24) & 0xFFu)
- #else
- #define               APIC_ID_MASK            (0xF<<24)
- static inline unsigned get_apic_id(unsigned long x) 
-Index: linux-2.6.26/include/asm-x86/smp.h
-===================================================================
---- linux-2.6.26.orig/include/asm-x86/smp.h
-+++ linux-2.6.26/include/asm-x86/smp.h
-@@ -176,12 +176,10 @@ static inline unsigned int read_apic_id(
- {
-       return *(u32 *)(APIC_BASE + APIC_ID);
- }
--#else
--extern unsigned int read_apic_id(void);
- #endif
--# ifdef APIC_DEFINITION
-+# if defined(APIC_DEFINITION) || defined(CONFIG_X86_64)
- extern int hard_smp_processor_id(void);
- # else
- #  include <mach_apicdef.h>