Rev 548 | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 548 | Rev 702 | ||
---|---|---|---|
Line 151... | Line 151... | ||
151 | ; priority is < eax (really al [0-255]) |
151 | ; priority is < eax (really al [0-255]) |
152 | ; eax==255 -> run all init routines |
152 | ; eax==255 -> run all init routines |
153 | ; eax==15 -> run init routines whose priority is <= 15 |
153 | ; eax==15 -> run init routines whose priority is <= 15 |
154 | ; |
154 | ; |
155 | */ |
155 | */ |
- | 156 | #if defined(M_I86) |
|
- | 157 | void _WCI86FAR __FInitRtns( unsigned limit ) { |
|
- | 158 | __InitRtns( limit ); |
|
156 | 159 | } |
|
- | 160 | #endif |
|
157 | void __InitRtns( unsigned limit ) { |
161 | void __InitRtns( unsigned limit ) { |
158 | __type_rtp local_limit; |
162 | __type_rtp local_limit; |
159 | struct rt_init _WCI86NEAR *pnext; |
163 | struct rt_init _WCI86NEAR *pnext; |
160 | save_ds(); |
164 | save_ds(); |
161 | save_es(); |
165 | save_es(); |
Line 173... | Line 177... | ||
173 | #endif |
177 | #endif |
174 | pnext = (struct rt_init _WCI86NEAR*)&_End_XI; |
178 | pnext = (struct rt_init _WCI86NEAR*)&_End_XI; |
175 | working_limit = local_limit; |
179 | working_limit = local_limit; |
Line 176... | Line 180... | ||
176 | 180 | ||
177 | // walk list of routines |
181 | // walk list of routines |
178 | while( pcur < (struct rt_init _WCI86NEAR*)&_End_XI ) |
- | |
179 | { |
182 | while( pcur < (struct rt_init _WCI86NEAR*)&_End_XI ) { |
180 | // if this one hasn't been called |
183 | // if this one hasn't been called |
181 | if( pcur->rtn_type != PDONE ) { |
184 | if( pcur->rtn_type != PDONE ) { |
182 | // if the priority is better than best so far |
185 | // if the priority is better than best so far |
183 | if( pcur->priority <= working_limit ) |
- | |
184 | { |
186 | if( pcur->priority <= working_limit ) { |
185 | // remember this one |
187 | // remember this one |
186 | pnext = pcur; |
188 | pnext = pcur; |
187 | working_limit = pcur->priority; |
189 | working_limit = pcur->priority; |
188 | } |
190 | } |
Line 222... | Line 224... | ||
222 | #if defined(M_I86) |
224 | #if defined(M_I86) |
223 | void _WCI86FAR __FFiniRtns( unsigned min_limit, unsigned max_limit ) { |
225 | void _WCI86FAR __FFiniRtns( unsigned min_limit, unsigned max_limit ) { |
224 | __FiniRtns( min_limit, max_limit ); |
226 | __FiniRtns( min_limit, max_limit ); |
225 | } |
227 | } |
226 | #endif |
228 | #endif |
227 | - | ||
228 | void __FiniRtns( unsigned min_limit, unsigned max_limit ) |
229 | void __FiniRtns( unsigned min_limit, unsigned max_limit ) { |
229 | { |
- | |
230 | __type_rtp local_min_limit; |
230 | __type_rtp local_min_limit; |
231 | __type_rtp local_max_limit; |
231 | __type_rtp local_max_limit; |
232 | struct rt_init _WCI86NEAR *pnext; |
232 | struct rt_init _WCI86NEAR *pnext; |
233 | save_ds(); |
233 | save_ds(); |
234 | save_es(); |
234 | save_es(); |