* call platform specific code to halt (until next interrupt) for the idle loop */
| 540 | * call platform specific code to halt (until next interrupt) for the idle loop |
| 541 | */ |
| 542 | void |
| 543 | cpu_idle(int busy) |
| 544 | { |
| 545 | KASSERT((mips_rd_status() & MIPS_SR_INT_IE) != 0, |
| 546 | ("interrupts disabled in idle process.")); |
| 547 | KASSERT((mips_rd_status() & MIPS_INT_MASK) != 0, |
| 548 | ("all interrupts masked in idle process.")); |
| 549 | |
| 550 | if (!busy) { |
| 551 | critical_enter(); |
| 552 | cpu_idleclock(); |
| 553 | } |
| 554 | mips_wait(); |
| 555 | if (!busy) { |
| 556 | cpu_activeclock(); |
| 557 | critical_exit(); |
| 558 | } |
| 559 | } |
| 560 | |
| 561 | int |
| 562 | cpu_idle_wakeup(int cpu) |
nothing calls this directly
no test coverage detected