Changed the boot procedure a bit.
Extracted scheduler_init() from start_scheduler() (which is now called scheduler_start()). Moved scheduler related function prototypes from thread.h to the new scheduler.h. Cleanup. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14518 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
@@ -1,7 +1,10 @@
|
||||
/*
|
||||
** Copyright 2001-2002, Travis Geiselbrecht. All rights reserved.
|
||||
** Distributed under the terms of the NewOS License.
|
||||
*/
|
||||
* Copyright 2002-2005, Axel Dörfler, [email protected].
|
||||
* Distributed under the terms of the MIT License.
|
||||
*
|
||||
* Copyright 2001-2002, Travis Geiselbrecht. All rights reserved.
|
||||
* Distributed under the terms of the NewOS License.
|
||||
*/
|
||||
#ifndef KERNEL_SMP_H
|
||||
#define KERNEL_SMP_H
|
||||
|
||||
@@ -26,20 +29,28 @@ enum {
|
||||
SMP_MSG_FLAG_SYNC,
|
||||
};
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
status_t smp_init(struct kernel_args *args);
|
||||
status_t smp_per_cpu_init(struct kernel_args *args, int32 cpu);
|
||||
int smp_trap_non_boot_cpus(struct kernel_args *ka, int cpu);
|
||||
void smp_wake_up_all_non_boot_cpus(void);
|
||||
void smp_wait_for_ap_cpus(struct kernel_args *ka);
|
||||
void smp_send_ici(int target_cpu, int message, unsigned long data, unsigned long data2, unsigned long data3, void *data_ptr, int flags);
|
||||
void smp_send_broadcast_ici(int message, unsigned long data, unsigned long data2, unsigned long data3, void *data_ptr, int flags);
|
||||
int smp_enable_ici(void);
|
||||
int smp_disable_ici(void);
|
||||
bool smp_trap_non_boot_cpus(int32 cpu);
|
||||
void smp_wake_up_non_boot_cpus(void);
|
||||
void smp_wait_for_non_boot_cpus(void);
|
||||
void smp_send_ici(int32 targetCPU, int32 message, uint32 data, uint32 data2, uint32 data3,
|
||||
void *data_ptr, uint32 flags);
|
||||
void smp_send_broadcast_ici(int32 message, uint32 data, uint32 data2, uint32 data3,
|
||||
void *data_ptr, uint32 flags);
|
||||
|
||||
int smp_get_num_cpus(void);
|
||||
void smp_set_num_cpus(int num_cpus);
|
||||
int smp_get_current_cpu(void);
|
||||
int32 smp_get_num_cpus(void);
|
||||
void smp_set_num_cpus(int32 numCPUs);
|
||||
int32 smp_get_current_cpu(void);
|
||||
|
||||
int smp_intercpu_int_handler(void);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* KERNEL_SMP_H */
|
||||
|
||||
Reference in New Issue
Block a user