1 /* 2 ** Copyright 2001-2002, Travis Geiselbrecht. All rights reserved. 3 ** Distributed under the terms of the NewOS License. 4 */ 5 #ifndef KERNEL_ARCH_SMP_H 6 #define KERNEL_ARCH_SMP_H 7 8 9 #include <kernel.h> 10 11 struct kernel_args; 12 13 14 // must match MAX_BOOT_CPUS in platform_kernel_args.h 15 #define SMP_MAX_CPUS MAX_BOOT_CPUS 16 17 #ifdef __cplusplus 18 extern "C" { 19 #endif 20 21 int arch_smp_init(struct kernel_args *ka); 22 void arch_smp_send_ici(int target_cpu); 23 void arch_smp_send_broadcast_ici(void); 24 25 #ifdef __cplusplus 26 } 27 #endif 28 29 #endif /* KERNEL_ARCH_SMP_H */ 30