[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-devel] [PATCH 1/2] 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@xxxxxxxxxx>
Cc: Keir Fraser <keir@xxxxxxx>
Cc: Jan Beulich <jbeulich@xxxxxxxx>
Cc: Andrew Cooper <andrew.cooper3@xxxxxxxxxx>
---
 docs/misc/xen-command-line.markdown            |    2 +-
 xen/arch/x86/genapic/Makefile                  |    1 -
 xen/arch/x86/genapic/probe.c                   |    2 -
 xen/arch/x86/genapic/summit.c                  |   27 ------
 xen/include/asm-x86/mach-default/mach_mpspec.h |    2 +-
 xen/include/asm-x86/mach-summit/mach_mpparse.h |  108 ------------------------
 6 files changed, 2 insertions(+), 140 deletions(-)
 delete mode 100644 xen/arch/x86/genapic/summit.c
 delete mode 100644 xen/include/asm-x86/mach-summit/mach_mpparse.h

diff --git a/docs/misc/xen-command-line.markdown 
b/docs/misc/xen-command-line.markdown
index 202d800..428e097 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 d6a8717..de72b5d 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 1a29490..a5f2a24 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 c84f14e..0000000
--- 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 9ef0b94..1a4e3f8 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 b57a3c4..0000000
--- 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 */
-- 
1.7.4.5


_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.