/* * SMP Support * * Copyright (C) 1999 VA Linux Systems * Copyright (C) 1999 Walt Drummond */ #ifndef _ASM_IA64_SMP_H #define _ASM_IA64_SMP_H #include #ifdef CONFIG_SMP #include #include #include #include #include #define XTP_OFFSET 0x1e0008 #define SMP_IRQ_REDIRECTION (1 << 0) #define SMP_IPI_REDIRECTION (1 << 1) #define smp_processor_id() (current->processor) extern struct smp_boot_data { int cpu_count; int cpu_phys_id[NR_CPUS]; } smp_boot_data __initdata; extern unsigned long cpu_present_map; extern unsigned long cpu_online_map; extern unsigned long ipi_base_addr; extern int bootstrap_processor; extern volatile int __cpu_physical_id[NR_CPUS]; extern unsigned char smp_int_redirect; extern char no_int_routing; extern int smp_num_cpus; #define cpu_physical_id(i) __cpu_physical_id[i] #define cpu_number_map(i) (i) #define cpu_logical_map(i) (i) extern unsigned long ap_wakeup_vector; /* * Function to map hard smp processor id to logical id. Slow, so * don't use this in performance-critical code. */ static inline int cpu_logical_id (int cpuid) { int i; for (i=0; i