aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMatt Wilson <msw@amazon.com>2013-08-27 11:20:17 +0200
committerJan Beulich <jbeulich@suse.com>2013-08-27 11:20:17 +0200
commitc8e2fd7edced5ef28ff57524f8f744c042e57c59 (patch)
tree46c9ccb804d288ea6b0c2c6ae39637e44c979be8
parent3e787021fb2420851c7bdc3911ea53c728ba5ac0 (diff)
downloadxen-c8e2fd7edced5ef28ff57524f8f744c042e57c59.tar.gz
xen-c8e2fd7edced5ef28ff57524f8f744c042e57c59.tar.bz2
xen-c8e2fd7edced5ef28ff57524f8f744c042e57c59.zip
x86/apic: remove Summit support
IBM's Summit chipset was only used for 32-bit only Intel ccNUMA and IA-64 machines, neither of which are supported by Xen anymore. Signed-off-by: Matt Wilson <msw@amazon.com> Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>
-rw-r--r--docs/misc/xen-command-line.markdown2
-rw-r--r--xen/arch/x86/genapic/Makefile1
-rw-r--r--xen/arch/x86/genapic/probe.c2
-rw-r--r--xen/arch/x86/genapic/summit.c27
-rw-r--r--xen/include/asm-x86/mach-default/mach_mpspec.h2
-rw-r--r--xen/include/asm-x86/mach-summit/mach_mpparse.h108
6 files changed, 2 insertions, 140 deletions
diff --git a/docs/misc/xen-command-line.markdown b/docs/misc/xen-command-line.markdown
index 202d800809..428e097dc7 100644
--- a/docs/misc/xen-command-line.markdown
+++ b/docs/misc/xen-command-line.markdown
@@ -132,7 +132,7 @@ domain 0 command line
Permit Xen to use superpages when performing memory management.
### apic
-> `= summit | bigsmp | default`
+> `= bigsmp | default`
Override Xen's logic for choosing the APIC driver. By default, if
there are more than 8 CPUs, Xen will switch to `bigsmp` over
diff --git a/xen/arch/x86/genapic/Makefile b/xen/arch/x86/genapic/Makefile
index d6a8717d87..de72b5d836 100644
--- a/xen/arch/x86/genapic/Makefile
+++ b/xen/arch/x86/genapic/Makefile
@@ -3,4 +3,3 @@ obj-y += x2apic.o
obj-y += default.o
obj-y += delivery.o
obj-y += probe.o
-obj-y += summit.o
diff --git a/xen/arch/x86/genapic/probe.c b/xen/arch/x86/genapic/probe.c
index 1a294900d1..a5f2a24d15 100644
--- a/xen/arch/x86/genapic/probe.c
+++ b/xen/arch/x86/genapic/probe.c
@@ -16,13 +16,11 @@
#include <asm/mach-generic/mach_apic.h>
#include <asm/setup.h>
-extern const struct genapic apic_summit;
extern const struct genapic apic_bigsmp;
const struct genapic *__read_mostly genapic;
const struct genapic *apic_probe[] __initdata = {
- &apic_summit,
&apic_bigsmp,
&apic_default, /* must be last */
NULL,
diff --git a/xen/arch/x86/genapic/summit.c b/xen/arch/x86/genapic/summit.c
deleted file mode 100644
index c84f14eddd..0000000000
--- a/xen/arch/x86/genapic/summit.c
+++ /dev/null
@@ -1,27 +0,0 @@
-/*
- * APIC driver for the IBM "Summit" chipset.
- */
-#include <xen/config.h>
-#include <xen/cpumask.h>
-#include <asm/current.h>
-#include <asm/mpspec.h>
-#include <asm/genapic.h>
-#include <asm/fixmap.h>
-#include <asm/apicdef.h>
-#include <xen/kernel.h>
-#include <xen/string.h>
-#include <xen/smp.h>
-#include <xen/init.h>
-#include <asm/mach-summit/mach_mpparse.h>
-#include <asm/io_apic.h>
-
-static __init int probe_summit(void)
-{
- /* probed later in mptable/ACPI hooks */
- return 0;
-}
-
-const struct genapic apic_summit = {
- APIC_INIT("summit", probe_summit),
- GENAPIC_PHYS
-};
diff --git a/xen/include/asm-x86/mach-default/mach_mpspec.h b/xen/include/asm-x86/mach-default/mach_mpspec.h
index 9ef0b941bb..1a4e3f8c4f 100644
--- a/xen/include/asm-x86/mach-default/mach_mpspec.h
+++ b/xen/include/asm-x86/mach-default/mach_mpspec.h
@@ -3,7 +3,7 @@
#define MAX_IRQ_SOURCES 256
-/* Summit or generic (i.e. installer) kernels need lots of bus entries. */
+/* Generic (i.e. installer) kernels need lots of bus entries. */
/* Maximum 256 PCI busses, plus 1 ISA bus in each of 4 cabinets. */
#define MAX_MP_BUSSES 260
diff --git a/xen/include/asm-x86/mach-summit/mach_mpparse.h b/xen/include/asm-x86/mach-summit/mach_mpparse.h
deleted file mode 100644
index b57a3c421e..0000000000
--- a/xen/include/asm-x86/mach-summit/mach_mpparse.h
+++ /dev/null
@@ -1,108 +0,0 @@
-#ifndef __ASM_MACH_MPPARSE_H
-#define __ASM_MACH_MPPARSE_H
-
-extern bool_t use_cyclone;
-
-#ifdef CONFIG_X86_SUMMIT_NUMA
-extern void setup_summit(void);
-#else
-#define setup_summit() {}
-#endif
-
-extern int usb_early_handoff;
-static inline int __init mps_oem_check(struct mp_config_table *mpc, char *oem,
- char *productid)
-{
- if (!strncmp(oem, "IBM ENSW", 8) &&
- (!strncmp(productid, "VIGIL SMP", 9)
- || !strncmp(productid, "EXA", 3)
- || !strncmp(productid, "RUTHLESS SMP", 12))){
- use_cyclone = 1; /*enable cyclone-timer*/
- setup_summit();
- /*usb_early_handoff = 1;*/
- return 1;
- }
- return 0;
-}
-
-/* Hook from generic ACPI tables.c */
-static inline int __init acpi_madt_oem_check(char *oem_id, char *oem_table_id)
-{
- if (!strncmp(oem_id, "IBM", 3) &&
- (!strncmp(oem_table_id, "SERVIGIL", 8)
- || !strncmp(oem_table_id, "EXA", 3))){
- use_cyclone = 1; /*enable cyclone-timer*/
- setup_summit();
- /*usb_early_handoff = 1;*/
- return 1;
- }
- return 0;
-}
-
-struct rio_table_hdr {
- unsigned char version; /* Version number of this data structure */
- /* Version 3 adds chassis_num & WP_index */
- unsigned char num_scal_dev; /* # of Scalability devices (Twisters for Vigil) */
- unsigned char num_rio_dev; /* # of RIO I/O devices (Cyclones and Winnipegs) */
-} __attribute__((packed));
-
-struct scal_detail {
- unsigned char node_id; /* Scalability Node ID */
- unsigned long CBAR; /* Address of 1MB register space */
- unsigned char port0node; /* Node ID port connected to: 0xFF=None */
- unsigned char port0port; /* Port num port connected to: 0,1,2, or 0xFF=None */
- unsigned char port1node; /* Node ID port connected to: 0xFF = None */
- unsigned char port1port; /* Port num port connected to: 0,1,2, or 0xFF=None */
- unsigned char port2node; /* Node ID port connected to: 0xFF = None */
- unsigned char port2port; /* Port num port connected to: 0,1,2, or 0xFF=None */
- unsigned char chassis_num; /* 1 based Chassis number (1 = boot node) */
-} __attribute__((packed));
-
-struct rio_detail {
- unsigned char node_id; /* RIO Node ID */
- unsigned long BBAR; /* Address of 1MB register space */
- unsigned char type; /* Type of device */
- unsigned char owner_id; /* For WPEG: Node ID of Cyclone that owns this WPEG*/
- /* For CYC: Node ID of Twister that owns this CYC */
- unsigned char port0node; /* Node ID port connected to: 0xFF=None */
- unsigned char port0port; /* Port num port connected to: 0,1,2, or 0xFF=None */
- unsigned char port1node; /* Node ID port connected to: 0xFF=None */
- unsigned char port1port; /* Port num port connected to: 0,1,2, or 0xFF=None */
- unsigned char first_slot; /* For WPEG: Lowest slot number below this WPEG */
- /* For CYC: 0 */
- unsigned char status; /* For WPEG: Bit 0 = 1 : the XAPIC is used */
- /* = 0 : the XAPIC is not used, ie:*/
- /* ints fwded to another XAPIC */
- /* Bits1:7 Reserved */
- /* For CYC: Bits0:7 Reserved */
- unsigned char WP_index; /* For WPEG: WPEG instance index - lower ones have */
- /* lower slot numbers/PCI bus numbers */
- /* For CYC: No meaning */
- unsigned char chassis_num; /* 1 based Chassis number */
- /* For LookOut WPEGs this field indicates the */
- /* Expansion Chassis #, enumerated from Boot */
- /* Node WPEG external port, then Boot Node CYC */
- /* external port, then Next Vigil chassis WPEG */
- /* external port, etc. */
- /* Shared Lookouts have only 1 chassis number (the */
- /* first one assigned) */
-} __attribute__((packed));
-
-
-typedef enum {
- CompatTwister = 0, /* Compatibility Twister */
- AltTwister = 1, /* Alternate Twister of internal 8-way */
- CompatCyclone = 2, /* Compatibility Cyclone */
- AltCyclone = 3, /* Alternate Cyclone of internal 8-way */
- CompatWPEG = 4, /* Compatibility WPEG */
- AltWPEG = 5, /* Second Planar WPEG */
- LookOutAWPEG = 6, /* LookOut WPEG */
- LookOutBWPEG = 7, /* LookOut WPEG */
-} node_type;
-
-static inline int is_WPEG(struct rio_detail *rio){
- return (rio->type == CompatWPEG || rio->type == AltWPEG ||
- rio->type == LookOutAWPEG || rio->type == LookOutBWPEG);
-}
-
-#endif /* __ASM_MACH_MPPARSE_H */