Remove the code force the processor into a sleep mode during idle() and
instead call the sleep function defined in the cpufunctions structure.
This commit is contained in:
parent
187f8c7c3d
commit
700a2e2041
|
@ -1,4 +1,4 @@
|
||||||
/* $NetBSD: cpuswitch.S,v 1.15 1997/02/10 03:50:53 mark Exp $ */
|
/* $NetBSD: cpuswitch.S,v 1.16 1997/02/10 03:57:42 mark Exp $ */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 1994-1997 Mark Brinicombe.
|
* Copyright (c) 1994-1997 Mark Brinicombe.
|
||||||
|
@ -256,23 +256,19 @@ Lcpufuncs:
|
||||||
.global _idle
|
.global _idle
|
||||||
_idle:
|
_idle:
|
||||||
idle:
|
idle:
|
||||||
|
|
||||||
/* Enable interrupts */
|
/* Enable interrupts */
|
||||||
|
|
||||||
IRQenable
|
IRQenable
|
||||||
|
|
||||||
/*
|
/* XXX - r1 needs to be preserved for cpu_switch */
|
||||||
* The RC7500 doesn't support this yet!
|
|
||||||
*/
|
|
||||||
|
|
||||||
#if defined(CPU_ARM7500) && !defined(RC7500)
|
mov r7, r1
|
||||||
/* ARM7500 has a suspend mode so use it */
|
ldr r0, Lcpufuncs
|
||||||
|
add lr, pc, #Lidl_slept - . - 8
|
||||||
|
ldr pc, [r0, #CF_SLEEP]
|
||||||
|
|
||||||
mov r7, #(IOMD_BASE)
|
Lidl_slept:
|
||||||
orr r7, r7, #(IOMD_SUSPEND - IOMD_BASE)
|
mov r1, r7
|
||||||
mov r3, #0x00000001 /* Keep external clocks running */
|
|
||||||
strb r3, [r7]
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/* Disable interrupts while we check for an active queue */
|
/* Disable interrupts while we check for an active queue */
|
||||||
|
|
||||||
|
@ -797,3 +793,4 @@ trampoline_return:
|
||||||
|
|
||||||
movs pc, lr /* Exit */
|
movs pc, lr /* Exit */
|
||||||
|
|
||||||
|
/* End of cpuswitch.S */
|
||||||
|
|
Loading…
Reference in New Issue