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 11struct 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 18extern "C" { 19#endif 20 21status_t arch_smp_init(struct kernel_args *args); 22status_t arch_smp_per_cpu_init(struct kernel_args *args, int32 cpu); 23void arch_smp_send_ici(int32 target_cpu); 24void arch_smp_send_broadcast_ici(void); 25 26#ifdef __cplusplus 27} 28#endif 29 30#endif /* KERNEL_ARCH_SMP_H */ 31