ia64/xen-unstable

changeset 9571:108a62015bf4

Clean up subarch 'mach-foo' header files. No need for
subarch apicdef.h and ipi.h can be much simplified.

Signed-off-by: Keir Fraser <keir@xensource.com>
author kaf24@firebug.cl.cam.ac.uk
date Mon Apr 03 17:47:42 2006 +0100 (2006-04-03)
parents 387b6824ce29
children 163c65c47d86
files xen/arch/x86/genapic/bigsmp.c xen/arch/x86/genapic/default.c xen/arch/x86/genapic/es7000.c xen/arch/x86/genapic/probe.c xen/arch/x86/genapic/summit.c xen/arch/x86/smp.c xen/include/asm-x86/apicdef.h xen/include/asm-x86/genapic.h xen/include/asm-x86/mach-default/mach_apic.h xen/include/asm-x86/mach-default/mach_mpspec.h xen/include/asm-x86/mach_ipi.h xen/include/asm-x86/smp.h
line diff
     1.1 --- a/xen/arch/x86/genapic/bigsmp.c	Mon Apr 03 16:35:06 2006 +0100
     1.2 +++ b/xen/arch/x86/genapic/bigsmp.c	Mon Apr 03 17:47:42 2006 +0100
     1.3 @@ -2,7 +2,6 @@
     1.4   * APIC driver for "bigsmp" XAPIC machines with more than 8 virtual CPUs.
     1.5   * Drives the local APIC in "clustered mode".
     1.6   */
     1.7 -#define APIC_DEFINITION 1
     1.8  #include <xen/config.h>
     1.9  #include <xen/cpumask.h>
    1.10  #include <asm/current.h>
    1.11 @@ -14,9 +13,8 @@
    1.12  #include <xen/smp.h>
    1.13  #include <xen/init.h>
    1.14  #include <xen/dmi.h>
    1.15 +#include <asm/mach_ipi.h>
    1.16  #include <asm/mach-bigsmp/mach_apic.h>
    1.17 -#include <asm/mach-bigsmp/mach_apicdef.h>
    1.18 -#include <asm/mach-bigsmp/mach_ipi.h>
    1.19  #include <asm/mach-default/mach_mpparse.h>
    1.20  
    1.21  static int dmi_bigsmp; /* can be set by dmi scanners */
    1.22 @@ -52,4 +50,7 @@ static __init int probe_bigsmp(void)
    1.23  	return dmi_bigsmp; 
    1.24  } 
    1.25  
    1.26 -struct genapic apic_bigsmp = APIC_INIT("bigsmp", probe_bigsmp); 
    1.27 +struct genapic apic_bigsmp = {
    1.28 +	APIC_INIT("bigsmp", probe_bigsmp),
    1.29 +	.send_ipi_mask = send_IPI_mask_sequence
    1.30 +};
     2.1 --- a/xen/arch/x86/genapic/default.c	Mon Apr 03 16:35:06 2006 +0100
     2.2 +++ b/xen/arch/x86/genapic/default.c	Mon Apr 03 17:47:42 2006 +0100
     2.3 @@ -1,12 +1,10 @@
     2.4  /* 
     2.5   * Default generic APIC driver. This handles upto 8 CPUs.
     2.6   */
     2.7 -#define APIC_DEFINITION 1
     2.8  #include <xen/config.h>
     2.9  #include <xen/cpumask.h>
    2.10  #include <asm/current.h>
    2.11  #include <asm/mpspec.h>
    2.12 -#include <asm/mach-default/mach_apicdef.h>
    2.13  #include <asm/genapic.h>
    2.14  #include <asm/fixmap.h>
    2.15  #include <asm/apicdef.h>
    2.16 @@ -14,8 +12,8 @@
    2.17  #include <xen/string.h>
    2.18  #include <xen/smp.h>
    2.19  #include <xen/init.h>
    2.20 +#include <asm/mach_ipi.h>
    2.21  #include <asm/mach-default/mach_apic.h>
    2.22 -#include <asm/mach-default/mach_ipi.h>
    2.23  #include <asm/mach-default/mach_mpparse.h>
    2.24  
    2.25  /* should be called last. */
    2.26 @@ -24,4 +22,7 @@ static __init int probe_default(void)
    2.27  	return 1;
    2.28  } 
    2.29  
    2.30 -struct genapic apic_default = APIC_INIT("default", probe_default); 
    2.31 +struct genapic apic_default = {
    2.32 +	APIC_INIT("default", probe_default),
    2.33 +	.send_ipi_mask = send_IPI_mask_bitmask
    2.34 +};
     3.1 --- a/xen/arch/x86/genapic/es7000.c	Mon Apr 03 16:35:06 2006 +0100
     3.2 +++ b/xen/arch/x86/genapic/es7000.c	Mon Apr 03 17:47:42 2006 +0100
     3.3 @@ -1,7 +1,6 @@
     3.4  /*
     3.5   * APIC driver for the Unisys ES7000 chipset.
     3.6   */
     3.7 -#define APIC_DEFINITION 1
     3.8  #include <xen/config.h>
     3.9  #include <xen/cpumask.h>
    3.10  #include <asm/current.h>
    3.11 @@ -14,11 +13,9 @@
    3.12  #include <xen/string.h>
    3.13  #include <xen/smp.h>
    3.14  #include <xen/init.h>
    3.15 -#include <asm/mach-es7000/mach_apicdef.h>
    3.16 +#include <asm/mach_ipi.h>
    3.17  #include <asm/mach-es7000/mach_apic.h>
    3.18 -#include <asm/mach-es7000/mach_ipi.h>
    3.19  #include <asm/mach-es7000/mach_mpparse.h>
    3.20 -#include <asm/mach-es7000/mach_wakecpu.h>
    3.21  
    3.22  static __init int probe_es7000(void)
    3.23  {
    3.24 @@ -26,4 +23,7 @@ static __init int probe_es7000(void)
    3.25  	return 0;
    3.26  }
    3.27  
    3.28 -struct genapic apic_es7000 = APIC_INIT("es7000", probe_es7000);
    3.29 +struct genapic apic_es7000 = {
    3.30 +	APIC_INIT("es7000", probe_es7000),
    3.31 +	.send_ipi_mask = send_IPI_mask_sequence
    3.32 +};
     4.1 --- a/xen/arch/x86/genapic/probe.c	Mon Apr 03 16:35:06 2006 +0100
     4.2 +++ b/xen/arch/x86/genapic/probe.c	Mon Apr 03 17:47:42 2006 +0100
     4.3 @@ -103,8 +103,3 @@ int __init acpi_madt_oem_check(char *oem
     4.4  	} 
     4.5  	return 0;	
     4.6  }
     4.7 -
     4.8 -int hard_smp_processor_id(void)
     4.9 -{
    4.10 -	return genapic->get_apic_id(*(unsigned long *)(APIC_BASE+APIC_ID));
    4.11 -}
     5.1 --- a/xen/arch/x86/genapic/summit.c	Mon Apr 03 16:35:06 2006 +0100
     5.2 +++ b/xen/arch/x86/genapic/summit.c	Mon Apr 03 17:47:42 2006 +0100
     5.3 @@ -1,7 +1,6 @@
     5.4  /* 
     5.5   * APIC driver for the IBM "Summit" chipset.
     5.6   */
     5.7 -#define APIC_DEFINITION 1
     5.8  #include <xen/config.h>
     5.9  #include <xen/cpumask.h>
    5.10  #include <asm/current.h>
    5.11 @@ -13,9 +12,8 @@
    5.12  #include <xen/string.h>
    5.13  #include <xen/smp.h>
    5.14  #include <xen/init.h>
    5.15 +#include <asm/mach_ipi.h>
    5.16  #include <asm/mach-summit/mach_apic.h>
    5.17 -#include <asm/mach-summit/mach_apicdef.h>
    5.18 -#include <asm/mach-summit/mach_ipi.h>
    5.19  #include <asm/mach-summit/mach_mpparse.h>
    5.20  
    5.21  static __init int probe_summit(void)
    5.22 @@ -24,4 +22,7 @@ static __init int probe_summit(void)
    5.23  	return 0;
    5.24  } 
    5.25  
    5.26 -struct genapic apic_summit = APIC_INIT("summit", probe_summit); 
    5.27 +struct genapic apic_summit = {
    5.28 +	APIC_INIT("summit", probe_summit),
    5.29 +	.send_ipi_mask = send_IPI_mask_sequence
    5.30 +};
     6.1 --- a/xen/arch/x86/smp.c	Mon Apr 03 16:35:06 2006 +0100
     6.2 +++ b/xen/arch/x86/smp.c	Mon Apr 03 17:47:42 2006 +0100
     6.3 @@ -20,8 +20,8 @@
     6.4  #include <asm/flushtlb.h>
     6.5  #include <asm/smpboot.h>
     6.6  #include <asm/hardirq.h>
     6.7 +#include <asm/mach_ipi.h>
     6.8  #include <mach_apic.h>
     6.9 -#include <mach_ipi.h>
    6.10  
    6.11  /*
    6.12   *	Some notes on x86 processor bugs affecting SMP operation:
    6.13 @@ -119,7 +119,7 @@ void send_IPI_mask_bitmask(cpumask_t cpu
    6.14      local_irq_restore(flags);
    6.15  }
    6.16  
    6.17 -inline void send_IPI_mask_sequence(cpumask_t mask, int vector)
    6.18 +void send_IPI_mask_sequence(cpumask_t mask, int vector)
    6.19  {
    6.20      unsigned long cfg, flags;
    6.21      unsigned int query_cpu;
     7.1 --- a/xen/include/asm-x86/apicdef.h	Mon Apr 03 16:35:06 2006 +0100
     7.2 +++ b/xen/include/asm-x86/apicdef.h	Mon Apr 03 17:47:42 2006 +0100
     7.3 @@ -11,6 +11,9 @@
     7.4  #define		APIC_DEFAULT_PHYS_BASE	0xfee00000
     7.5   
     7.6  #define		APIC_ID		0x20
     7.7 +#define			APIC_ID_MASK		(0xFFu<<24)
     7.8 +#define			GET_APIC_ID(x)		(((x)>>24)&0xFFu)
     7.9 +#define			SET_APIC_ID(x)		(((x)<<24))
    7.10  #define		APIC_LVR	0x30
    7.11  #define			APIC_LVR_MASK		0xFF00FF
    7.12  #define			GET_APIC_VERSION(x)	((x)&0xFF)
     8.1 --- a/xen/include/asm-x86/genapic.h	Mon Apr 03 16:35:06 2006 +0100
     8.2 +++ b/xen/include/asm-x86/genapic.h	Mon Apr 03 17:47:42 2006 +0100
     8.3 @@ -49,16 +49,15 @@ struct genapic {
     8.4  			      char *productid);
     8.5  	int (*acpi_madt_oem_check)(char *oem_id, char *oem_table_id);
     8.6  
     8.7 -	unsigned (*get_apic_id)(unsigned long x);
     8.8  	unsigned int (*cpu_mask_to_apicid)(cpumask_t cpumask);
     8.9  	
    8.10  	/* ipi */
    8.11 -	void (*send_IPI_mask)(cpumask_t mask, int vector);
    8.12 +	void (*send_ipi_mask)(cpumask_t mask, int vector);
    8.13  }; 
    8.14  
    8.15  #define APICFUNC(x) .x = x
    8.16  
    8.17 -#define APIC_INIT(aname, aprobe) { \
    8.18 +#define APIC_INIT(aname, aprobe) \
    8.19  	.name = aname, \
    8.20  	.probe = aprobe, \
    8.21  	.int_delivery_mode = INT_DELIVERY_MODE, \
    8.22 @@ -79,13 +78,10 @@ struct genapic {
    8.23  	APICFUNC(apicid_to_cpu_present), \
    8.24  	APICFUNC(check_phys_apicid_present), \
    8.25  	APICFUNC(mps_oem_check), \
    8.26 -	APICFUNC(get_apic_id), \
    8.27  	APICFUNC(cpu_mask_to_apicid), \
    8.28  	APICFUNC(acpi_madt_oem_check), \
    8.29 -	APICFUNC(send_IPI_mask), \
    8.30  	APICFUNC(enable_apic_mode), \
    8.31 -	APICFUNC(phys_pkg_id), \
    8.32 -	}
    8.33 +	APICFUNC(phys_pkg_id)
    8.34  
    8.35  extern struct genapic *genapic;
    8.36  
     9.1 --- a/xen/include/asm-x86/mach-bigsmp/mach_apicdef.h	Mon Apr 03 16:35:06 2006 +0100
     9.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
     9.3 @@ -1,11 +0,0 @@
     9.4 -#ifndef __ASM_MACH_APICDEF_H
     9.5 -#define __ASM_MACH_APICDEF_H
     9.6 -
     9.7 -static inline unsigned get_apic_id(unsigned long x) 
     9.8 -{ 
     9.9 -	return (((x)>>24)&0xFF);
    9.10 -} 
    9.11 -
    9.12 -#define		GET_APIC_ID(x)	get_apic_id(x)
    9.13 -
    9.14 -#endif
    10.1 --- a/xen/include/asm-x86/mach-bigsmp/mach_ipi.h	Mon Apr 03 16:35:06 2006 +0100
    10.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
    10.3 @@ -1,11 +0,0 @@
    10.4 -#ifndef __ASM_MACH_IPI_H
    10.5 -#define __ASM_MACH_IPI_H
    10.6 -
    10.7 -void send_IPI_mask_sequence(cpumask_t mask, int vector);
    10.8 -
    10.9 -static inline void send_IPI_mask(cpumask_t mask, int vector)
   10.10 -{
   10.11 -	send_IPI_mask_sequence(mask, vector);
   10.12 -}
   10.13 -
   10.14 -#endif /* __ASM_MACH_IPI_H */
    11.1 --- a/xen/include/asm-x86/mach-default/mach_apic.h	Mon Apr 03 16:35:06 2006 +0100
    11.2 +++ b/xen/include/asm-x86/mach-default/mach_apic.h	Mon Apr 03 17:47:42 2006 +0100
    11.3 @@ -1,7 +1,6 @@
    11.4  #ifndef __ASM_MACH_APIC_H
    11.5  #define __ASM_MACH_APIC_H
    11.6  
    11.7 -#include <mach_apicdef.h>
    11.8  #include <asm/smp.h>
    11.9  
   11.10  #define APIC_DFR_VALUE	(APIC_DFR_FLAT)
    12.1 --- a/xen/include/asm-x86/mach-default/mach_apicdef.h	Mon Apr 03 16:35:06 2006 +0100
    12.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
    12.3 @@ -1,11 +0,0 @@
    12.4 -#ifndef __ASM_MACH_APICDEF_H
    12.5 -#define __ASM_MACH_APICDEF_H
    12.6 -
    12.7 -static inline unsigned get_apic_id(unsigned long x) 
    12.8 -{ 
    12.9 -	return (((x)>>24)&0xF);
   12.10 -} 
   12.11 -
   12.12 -#define		GET_APIC_ID(x)	get_apic_id(x)
   12.13 -
   12.14 -#endif
    13.1 --- a/xen/include/asm-x86/mach-default/mach_ipi.h	Mon Apr 03 16:35:06 2006 +0100
    13.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
    13.3 @@ -1,11 +0,0 @@
    13.4 -#ifndef __ASM_MACH_IPI_H
    13.5 -#define __ASM_MACH_IPI_H
    13.6 -
    13.7 -void send_IPI_mask_bitmask(cpumask_t mask, int vector);
    13.8 -
    13.9 -static inline void send_IPI_mask(cpumask_t mask, int vector)
   13.10 -{
   13.11 -	send_IPI_mask_bitmask(mask, vector);
   13.12 -}
   13.13 -
   13.14 -#endif /* __ASM_MACH_IPI_H */
    14.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    14.2 +++ b/xen/include/asm-x86/mach-default/mach_mpspec.h	Mon Apr 03 17:47:42 2006 +0100
    14.3 @@ -0,0 +1,10 @@
    14.4 +#ifndef __ASM_MACH_MPSPEC_H
    14.5 +#define __ASM_MACH_MPSPEC_H
    14.6 +
    14.7 +#define MAX_IRQ_SOURCES 256
    14.8 +
    14.9 +/* Summit or generic (i.e. installer) kernels need lots of bus entries. */
   14.10 +/* Maximum 256 PCI busses, plus 1 ISA bus in each of 4 cabinets. */
   14.11 +#define MAX_MP_BUSSES 260
   14.12 +
   14.13 +#endif /* __ASM_MACH_MPSPEC_H */
    15.1 --- a/xen/include/asm-x86/mach-es7000/mach_apicdef.h	Mon Apr 03 16:35:06 2006 +0100
    15.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
    15.3 @@ -1,11 +0,0 @@
    15.4 -#ifndef __ASM_MACH_APICDEF_H
    15.5 -#define __ASM_MACH_APICDEF_H
    15.6 -
    15.7 -static inline unsigned get_apic_id(unsigned long x) 
    15.8 -{ 
    15.9 -	return (((x)>>24)&0xFF);
   15.10 -} 
   15.11 -
   15.12 -#define		GET_APIC_ID(x)	get_apic_id(x)
   15.13 -
   15.14 -#endif
    16.1 --- a/xen/include/asm-x86/mach-es7000/mach_ipi.h	Mon Apr 03 16:35:06 2006 +0100
    16.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
    16.3 @@ -1,11 +0,0 @@
    16.4 -#ifndef __ASM_MACH_IPI_H
    16.5 -#define __ASM_MACH_IPI_H
    16.6 -
    16.7 -void send_IPI_mask_sequence(cpumask_t mask, int vector);
    16.8 -
    16.9 -static inline void send_IPI_mask(cpumask_t mask, int vector)
   16.10 -{
   16.11 -	send_IPI_mask_sequence(mask, vector);
   16.12 -}
   16.13 -
   16.14 -#endif /* __ASM_MACH_IPI_H */
    17.1 --- a/xen/include/asm-x86/mach-es7000/mach_wakecpu.h	Mon Apr 03 16:35:06 2006 +0100
    17.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
    17.3 @@ -1,58 +0,0 @@
    17.4 -#ifndef __ASM_MACH_WAKECPU_H
    17.5 -#define __ASM_MACH_WAKECPU_H
    17.6 -
    17.7 -/* 
    17.8 - * This file copes with machines that wakeup secondary CPUs by the
    17.9 - * INIT, INIT, STARTUP sequence.
   17.10 - */
   17.11 -
   17.12 -#ifdef CONFIG_ES7000_CLUSTERED_APIC
   17.13 -#define WAKE_SECONDARY_VIA_MIP
   17.14 -#else
   17.15 -#define WAKE_SECONDARY_VIA_INIT
   17.16 -#endif
   17.17 -
   17.18 -#ifdef WAKE_SECONDARY_VIA_MIP
   17.19 -extern int es7000_start_cpu(int cpu, unsigned long eip);
   17.20 -static inline int
   17.21 -wakeup_secondary_cpu(int phys_apicid, unsigned long start_eip)
   17.22 -{
   17.23 -	int boot_error = 0;
   17.24 -	boot_error = es7000_start_cpu(phys_apicid, start_eip);
   17.25 -	return boot_error;
   17.26 -}
   17.27 -#endif
   17.28 -
   17.29 -#define TRAMPOLINE_LOW maddr_to_virt(0x467)
   17.30 -#define TRAMPOLINE_HIGH maddr_to_virt(0x469)
   17.31 -
   17.32 -#define boot_cpu_apicid boot_cpu_physical_apicid
   17.33 -
   17.34 -static inline void wait_for_init_deassert(atomic_t *deassert)
   17.35 -{
   17.36 -#ifdef WAKE_SECONDARY_VIA_INIT
   17.37 -	while (!atomic_read(deassert));
   17.38 -#endif
   17.39 -	return;
   17.40 -}
   17.41 -
   17.42 -/* Nothing to do for most platforms, since cleared by the INIT cycle */
   17.43 -static inline void smp_callin_clear_local_apic(void)
   17.44 -{
   17.45 -}
   17.46 -
   17.47 -static inline void store_NMI_vector(unsigned short *high, unsigned short *low)
   17.48 -{
   17.49 -}
   17.50 -
   17.51 -static inline void restore_NMI_vector(unsigned short *high, unsigned short *low)
   17.52 -{
   17.53 -}
   17.54 -
   17.55 -#if APIC_DEBUG
   17.56 - #define inquire_remote_apic(apicid) __inquire_remote_apic(apicid)
   17.57 -#else
   17.58 - #define inquire_remote_apic(apicid) {}
   17.59 -#endif
   17.60 -
   17.61 -#endif /* __ASM_MACH_WAKECPU_H */
    18.1 --- a/xen/include/asm-x86/mach-generic/mach_apicdef.h	Mon Apr 03 16:35:06 2006 +0100
    18.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
    18.3 @@ -1,10 +0,0 @@
    18.4 -#ifndef _GENAPIC_MACH_APICDEF_H
    18.5 -#define _GENAPIC_MACH_APICDEF_H 1
    18.6 -
    18.7 -#ifndef APIC_DEFINITION
    18.8 -#include <asm/genapic.h>
    18.9 -
   18.10 -#define GET_APIC_ID (genapic->get_apic_id)
   18.11 -#endif
   18.12 -
   18.13 -#endif
    19.1 --- a/xen/include/asm-x86/mach-generic/mach_ipi.h	Mon Apr 03 16:35:06 2006 +0100
    19.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
    19.3 @@ -1,8 +0,0 @@
    19.4 -#ifndef _MACH_IPI_H
    19.5 -#define _MACH_IPI_H 1
    19.6 -
    19.7 -#include <asm/genapic.h>
    19.8 -
    19.9 -#define send_IPI_mask (genapic->send_IPI_mask)
   19.10 -
   19.11 -#endif
    20.1 --- a/xen/include/asm-x86/mach-generic/mach_mpspec.h	Mon Apr 03 16:35:06 2006 +0100
    20.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
    20.3 @@ -1,10 +0,0 @@
    20.4 -#ifndef __ASM_MACH_MPSPEC_H
    20.5 -#define __ASM_MACH_MPSPEC_H
    20.6 -
    20.7 -#define MAX_IRQ_SOURCES 256
    20.8 -
    20.9 -/* Summit or generic (i.e. installer) kernels need lots of bus entries. */
   20.10 -/* Maximum 256 PCI busses, plus 1 ISA bus in each of 4 cabinets. */
   20.11 -#define MAX_MP_BUSSES 260
   20.12 -
   20.13 -#endif /* __ASM_MACH_MPSPEC_H */
    21.1 --- a/xen/include/asm-x86/mach-summit/mach_apicdef.h	Mon Apr 03 16:35:06 2006 +0100
    21.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
    21.3 @@ -1,11 +0,0 @@
    21.4 -#ifndef __ASM_MACH_APICDEF_H
    21.5 -#define __ASM_MACH_APICDEF_H
    21.6 -
    21.7 -static inline unsigned get_apic_id(unsigned long x) 
    21.8 -{ 
    21.9 -	return (((x)>>24)&0xFF);
   21.10 -} 
   21.11 -
   21.12 -#define		GET_APIC_ID(x)	get_apic_id(x)
   21.13 -
   21.14 -#endif
    22.1 --- a/xen/include/asm-x86/mach-summit/mach_ipi.h	Mon Apr 03 16:35:06 2006 +0100
    22.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
    22.3 @@ -1,11 +0,0 @@
    22.4 -#ifndef __ASM_MACH_IPI_H
    22.5 -#define __ASM_MACH_IPI_H
    22.6 -
    22.7 -void send_IPI_mask_sequence(cpumask_t mask, int vector);
    22.8 -
    22.9 -static inline void send_IPI_mask(cpumask_t mask, int vector)
   22.10 -{
   22.11 -	send_IPI_mask_sequence(mask, vector);
   22.12 -}
   22.13 -
   22.14 -#endif /* __ASM_MACH_IPI_H */
    23.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    23.2 +++ b/xen/include/asm-x86/mach_ipi.h	Mon Apr 03 17:47:42 2006 +0100
    23.3 @@ -0,0 +1,11 @@
    23.4 +#ifndef __ASM_MACH_IPI_H
    23.5 +#define __ASM_MACH_IPI_H
    23.6 +
    23.7 +#include <asm/genapic.h>
    23.8 +
    23.9 +void send_IPI_mask_bitmask(cpumask_t mask, int vector);
   23.10 +void send_IPI_mask_sequence(cpumask_t mask, int vector);
   23.11 +
   23.12 +#define send_IPI_mask (genapic->send_ipi_mask)
   23.13 +
   23.14 +#endif /* __ASM_MACH_IPI_H */
    24.1 --- a/xen/include/asm-x86/smp.h	Mon Apr 03 16:35:06 2006 +0100
    24.2 +++ b/xen/include/asm-x86/smp.h	Mon Apr 03 17:47:42 2006 +0100
    24.3 @@ -74,16 +74,11 @@ static inline int num_booting_cpus(void)
    24.4  
    24.5  #ifdef CONFIG_X86_LOCAL_APIC
    24.6  
    24.7 -#ifdef APIC_DEFINITION
    24.8 -extern int hard_smp_processor_id(void);
    24.9 -#else
   24.10 -#include <mach_apicdef.h>
   24.11  static inline int hard_smp_processor_id(void)
   24.12  {
   24.13  	/* we don't want to mark this access volatile - bad code generation */
   24.14  	return GET_APIC_ID(*(unsigned int *)(APIC_BASE+APIC_ID));
   24.15  }
   24.16 -#endif
   24.17  
   24.18  static __inline int logical_smp_processor_id(void)
   24.19  {