Rev 326 | Rev 483 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 326 | Rev 329 | ||
---|---|---|---|
Line 84... | Line 84... | ||
84 | 84 | ||
85 | waitq_sleep(&can_start); |
85 | waitq_sleep(&can_start); |
86 | 86 | ||
87 | for (i = 0; i<ATTEMPTS; i++) { |
87 | for (i = 0; i<ATTEMPTS; i++) { |
88 | __asm__ volatile ( |
88 | __asm__ volatile ( |
89 | "ctc1 %0,$1" |
89 | "mtc1 %0,$1" |
90 | :"=r"(arg) |
90 | :"=r"(arg) |
91 | ); |
91 | ); |
92 | 92 | ||
93 | scheduler(); |
93 | scheduler(); |
94 | __asm__ volatile ( |
94 | __asm__ volatile ( |
95 | "cfc1 %0,$1" |
95 | "mfc1 %0,$1" |
96 | :"=r"(after_arg) |
96 | :"=r"(after_arg) |
97 | ); |
97 | ); |
98 | 98 | ||
99 | if(arg != after_arg) |
99 | if(arg != after_arg) |
100 | panic("Control reg tid%d: arg(%d) != %d\n", |
100 | panic("General reg tid%d: arg(%d) != %d\n", |
101 | THREAD->tid, arg, after_arg); |
101 | THREAD->tid, arg, after_arg); |
102 | } |
102 | } |
103 | 103 | ||
104 | atomic_inc(&threads_ok); |
104 | atomic_inc(&threads_ok); |
105 | } |
105 | } |