home *** CD-ROM | disk | FTP | other *** search
/ PC Welt 2006 November (DVD) / PCWELT_11_2006.ISO / casper / filesystem.squashfs / usr / src / linux-headers-2.6.17-6 / include / asm-x86_64 / genapic.h < prev    next >
Encoding:
C/C++ Source or Header  |  2006-08-11  |  846 b   |  36 lines

  1. #ifndef _ASM_GENAPIC_H
  2. #define _ASM_GENAPIC_H 1
  3.  
  4. /*
  5.  * Copyright 2004 James Cleverdon, IBM.
  6.  * Subject to the GNU Public License, v.2
  7.  *
  8.  * Generic APIC sub-arch data struct.
  9.  *
  10.  * Hacked for x86-64 by James Cleverdon from i386 architecture code by
  11.  * Martin Bligh, Andi Kleen, James Bottomley, John Stultz, and
  12.  * James Cleverdon.
  13.  */
  14.  
  15. struct genapic {
  16.     char *name;
  17.     u32 int_delivery_mode;
  18.     u32 int_dest_mode;
  19.     u32 int_delivery_dest;    /* for quick IPIs */
  20.     int (*apic_id_registered)(void);
  21.     cpumask_t (*target_cpus)(void);
  22.     void (*init_apic_ldr)(void);
  23.     /* ipi */
  24.     void (*send_IPI_mask)(cpumask_t mask, int vector);
  25.     void (*send_IPI_allbutself)(int vector);
  26.     void (*send_IPI_all)(int vector);
  27.     /* */
  28.     unsigned int (*cpu_mask_to_apicid)(cpumask_t cpumask);
  29.     unsigned int (*phys_pkg_id)(int index_msb);
  30. };
  31.  
  32.  
  33. extern struct genapic *genapic;
  34.  
  35. #endif
  36.