Rev 268 | Rev 309 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 268 | Rev 281 | ||
---|---|---|---|
Line 108... | Line 108... | ||
108 | 108 | ||
109 | 109 | ||
110 | void nm_fault(__u8 n, __native stack[]) |
110 | void nm_fault(__u8 n, __native stack[]) |
111 | { |
111 | { |
112 | reset_TS_flag(); |
112 | reset_TS_flag(); |
113 | if ((CPU->fpu_owner)!=NULL) { |
113 | if (CPU->fpu_owner != NULL) { |
114 | fpu_lazy_context_save(&((CPU->fpu_owner)->saved_fpu_context)); |
114 | fpu_lazy_context_save(&((CPU->fpu_owner)->saved_fpu_context)); |
115 | (CPU->fpu_owner)->fpu_context_engaged=0; /* don't prevent migration */ |
115 | CPU->fpu_owner->fpu_context_engaged=0; /* don't prevent migration */ |
- | 116 | } |
|
- | 117 | if (THREAD->fpu_context_exists) |
|
- | 118 | fpu_lazy_context_restore(&(THREAD->saved_fpu_context)); |
|
- | 119 | else { |
|
- | 120 | fpu_init(); |
|
- | 121 | THREAD->fpu_context_exists=1; |
|
116 | } |
122 | } |
117 | if(THREAD->fpu_context_exists) fpu_lazy_context_restore(&(THREAD->saved_fpu_context)); |
- | |
118 | else {fpu_init();THREAD->fpu_context_exists=1;} |
- | |
119 | CPU->fpu_owner=THREAD; |
123 | CPU->fpu_owner=THREAD; |
120 | } |
124 | } |
121 | 125 | ||
122 | 126 | ||
123 | 127 |