summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorsave2008-07-10 17:13:47 +0000
committersave2008-07-10 17:13:47 +0000
commit69b781dbbf9ccdea6687d42323af1345718c7b6b (patch)
tree70465478772d51fff987c60f55a50574f5ec7a48
parent853f7436616f8fd3f7661e52ec52fcd940c88054 (diff)
CESAR: ECOS: Changed wait for interrupt (power down) management when we are in idle mode
git-svn-id: svn+ssh://pessac/svn/cesar/trunk@2595 017c9cb6-072f-447c-8318-d5b54f68fe89
-rw-r--r--cesar/ecos/packages/hal/sparc/leon/current/src/hal_priv.c10
1 files changed, 9 insertions, 1 deletions
diff --git a/cesar/ecos/packages/hal/sparc/leon/current/src/hal_priv.c b/cesar/ecos/packages/hal/sparc/leon/current/src/hal_priv.c
index cd254b15f2..3f3d42aac6 100644
--- a/cesar/ecos/packages/hal/sparc/leon/current/src/hal_priv.c
+++ b/cesar/ecos/packages/hal/sparc/leon/current/src/hal_priv.c
@@ -108,7 +108,15 @@ hal_msbit_index(cyg_uint32 mask)
void
hal_idle_thread_action(cyg_uint32 loop_count)
{
- *((volatile cyg_uint32 *) 0x80000018) = 0;
+ asm volatile (
+ "set 0x80000000, %%g1\n\t"
+ "st %%g0, [%%g1+0x18]\n\t"
+ "ld [%%g1+0x18], %%g0\n\t"
+ :
+ :
+ : "g1", "cc"
+ );
+
}
// EOF hal_priv.c