File diff 052c0cbc4bbf → 85642093068c
BLD/build/HEADERS/CUR-92-vmkdrivers-asm-x64/vmkernel64/release/asm/genapic.h
Show inline comments
 
new file 100644
 
#ifndef _ASM_GENAPIC_H
 
#define _ASM_GENAPIC_H 1
 

	
 
/*
 
 * Copyright 2004 James Cleverdon, IBM.
 
 * Subject to the GNU Public License, v.2
 
 *
 
 * Generic APIC sub-arch data struct.
 
 *
 
 * Hacked for x86-64 by James Cleverdon from i386 architecture code by
 
 * Martin Bligh, Andi Kleen, James Bottomley, John Stultz, and
 
 * James Cleverdon.
 
 */
 

	
 
struct genapic {
 
	char *name;
 
	u32 int_delivery_mode;
 
	u32 int_dest_mode;
 
	u32 int_delivery_dest;	/* for quick IPIs */
 
	int (*apic_id_registered)(void);
 
	cpumask_t (*target_cpus)(void);
 
	void (*init_apic_ldr)(void);
 
	/* ipi */
 
	void (*send_IPI_mask)(cpumask_t mask, int vector);
 
	void (*send_IPI_allbutself)(int vector);
 
	void (*send_IPI_all)(int vector);
 
	/* */
 
	unsigned int (*cpu_mask_to_apicid)(cpumask_t cpumask);
 
	unsigned int (*phys_pkg_id)(int index_msb);
 
};
 

	
 

	
 
extern struct genapic *genapic;
 

	
 
#endif