From 7b9581a13148957842ab53e2b28bf0a663a48980 Mon Sep 17 00:00:00 2001 From: Linus Nielsen Feltzing Date: Thu, 25 Apr 2002 00:15:04 +0000 Subject: Not yet working git-svn-id: svn://svn.rockbox.org/rockbox/trunk@220 a1c6a512-1295-4272-9138-f99709370657 --- firmware/thread.c | 32 ++++++++++++++++++-------------- 1 file changed, 18 insertions(+), 14 deletions(-) (limited to 'firmware/thread.c') diff --git a/firmware/thread.c b/firmware/thread.c index e6bc1dd2ff..e3116fbeb5 100644 --- a/firmware/thread.c +++ b/firmware/thread.c @@ -52,16 +52,18 @@ static inline void stctx(void* addr) "mov.l r9, @(4, %1)\n\t" "mov.l r10, @(8, %1)\n\t" "mov.l r11, @(12, %1)\n\t" - "mov.l r12, @(16, %1)\n\t" - "mov.l r13, @(20, %1)\n\t" - "mov.l r14, @(24, %1)\n\t" - "mov.l r15, @(28, %1)\n\t" + "add #16,%1\n\t" + "mov.l r12, @(0, %1)\n\t" + "mov.l r13, @(4, %1)\n\t" + "mov.l r14, @(8, %1)\n\t" + "mov.l r15, @(12, %1)\n\t" + "add #16,%1\n\t" "stc sr, %0\n\t" - "mov.l %0, @(32, %1)\n\t" + "mov.l %0, @(0, %1)\n\t" "stc gbr, %0\n\t" - "mov.l %0, @(36, %1)\n\t" + "mov.l %0, @(4, %1)\n\t" "sts pr, %0\n\t" - "mov.l %0, @(40, %1)" : "=r&" (tmp) : "r" (addr)); + "mov.l %0, @(8, %1)" : "=r&" (tmp) : "r" (addr)); } /*--------------------------------------------------------------------------- @@ -76,15 +78,17 @@ static inline void ldctx(void* addr) "mov.l @(4, %1), r9\n\t" "mov.l @(8, %1), r10\n\t" "mov.l @(12, %1), r11\n\t" - "mov.l @(16, %1), r12\n\t" - "mov.l @(20, %1), r13\n\t" - "mov.l @(24, %1), r14\n\t" - "mov.l @(28, %1), r15\n\t" - "mov.l @(32, %1), r0\n\t" + "add #16,%1\n\t" + "mov.l @(0, %1), r12\n\t" + "mov.l @(4, %1), r13\n\t" + "mov.l @(8, %1), r14\n\t" + "mov.l @(12, %1), r15\n\t" + "add #16,%1\n\t" + "mov.l @(0, %1), r0\n\t" "ldc %0, sr\n\t" - "mov.l @(36, %1), %0\n\t" + "mov.l @(4, %1), %0\n\t" "ldc %0, gbr\n\t" - "mov.l @(40, %1), %0\n\t" + "mov.l @(8, %1), %0\n\t" "lds %0, pr\n\t" "mov.l %0, @(0, r15)" : "=r&" (tmp) : "r" (addr)); } -- cgit v1.2.3