| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 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; | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 19 | 	int (*apic_id_registered)(void); | 
 | 20 | 	cpumask_t (*target_cpus)(void); | 
| Eric W. Biederman | c7111c13 | 2006-10-08 07:47:55 -0600 | [diff] [blame] | 21 | 	cpumask_t (*vector_allocation_domain)(int cpu); | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 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 |  | 
| Andrew Morton | 3dc68d9 | 2007-05-02 19:27:04 +0200 | [diff] [blame] | 32 | extern struct genapic *genapic; | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 33 |  | 
| Ingo Molnar | 07c7c47 | 2007-05-02 19:27:04 +0200 | [diff] [blame] | 34 | extern struct genapic apic_flat; | 
 | 35 | extern struct genapic apic_physflat; | 
 | 36 |  | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 37 | #endif |