xref: /haiku/headers/private/kernel/arch/smp.h (revision 4f00613311d0bd6b70fa82ce19931c41f071ea4e)
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 status_t arch_smp_init(struct kernel_args *args);
22 status_t arch_smp_per_cpu_init(struct kernel_args *args, int32 cpu);
23 void arch_smp_send_ici(int32 target_cpu);
24 void arch_smp_send_broadcast_ici(void);
25 
26 #ifdef __cplusplus
27 }
28 #endif
29 
30 #endif	/* KERNEL_ARCH_SMP_H */
31