The kernel will now call arch_cpu_idle() in its main loop.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@308 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
@@ -4,6 +4,7 @@
|
|||||||
** Copyright 2001-2002, Travis Geiselbrecht. All rights reserved.
|
** Copyright 2001-2002, Travis Geiselbrecht. All rights reserved.
|
||||||
** Distributed under the terms of the NewOS License.
|
** Distributed under the terms of the NewOS License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <stage2.h>
|
#include <stage2.h>
|
||||||
#include <Errors.h>
|
#include <Errors.h>
|
||||||
#include <kernel.h>
|
#include <kernel.h>
|
||||||
@@ -48,7 +49,7 @@ int _start(kernel_args *oldka, int cpu_num)
|
|||||||
cpu_preboot_init(&ka);
|
cpu_preboot_init(&ka);
|
||||||
|
|
||||||
// if we're not a boot cpu, spin here until someone wakes us up
|
// if we're not a boot cpu, spin here until someone wakes us up
|
||||||
if(smp_trap_non_boot_cpus(&ka, cpu_num) == B_NO_ERROR) {
|
if (smp_trap_non_boot_cpus(&ka, cpu_num) == B_NO_ERROR) {
|
||||||
// we're the boot processor, so wait for all of the APs to enter the kernel
|
// we're the boot processor, so wait for all of the APs to enter the kernel
|
||||||
smp_wait_for_ap_cpus(&ka);
|
smp_wait_for_ap_cpus(&ka);
|
||||||
|
|
||||||
@@ -103,7 +104,8 @@ int _start(kernel_args *oldka, int cpu_num)
|
|||||||
int_enable_interrupts();
|
int_enable_interrupts();
|
||||||
|
|
||||||
dprintf("main: done... begin idle loop on cpu %d\n", cpu_num);
|
dprintf("main: done... begin idle loop on cpu %d\n", cpu_num);
|
||||||
for(;;);
|
for(;;)
|
||||||
|
arch_cpu_idle();
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user