Lines Matching refs:frame
30 extern "C" void x86_return_to_userland(iframe* frame);
39 find_previous_iframe(Thread* thread, addr_t frame)
42 while (frame >= thread->kernel_stack_base
43 && frame < thread->kernel_stack_top) {
44 addr_t previousFrame = *(addr_t*)frame;
48 return (struct iframe*)frame;
51 frame = previousFrame;
59 get_previous_iframe(struct iframe* frame)
61 if (frame == NULL)
64 return find_previous_iframe(thread_get_current_thread(), frame->bp);
92 struct iframe* frame = get_current_iframe();
94 while (frame != NULL) {
95 if (IFRAME_IS_USER(frame))
96 return frame;
97 frame = get_previous_iframe(frame);
114 struct iframe* frame = find_previous_iframe(thread,
117 while (frame != NULL) {
118 if (IFRAME_IS_USER(frame))
119 return frame;
120 frame = get_previous_iframe(frame);
151 /*! Returns to the userland environment given by \a frame for a thread not
158 \param frame The iframe defining the userland environment. Must point to a
162 x86_initial_return_to_userland(Thread* thread, iframe* frame)
172 x86_return_to_userland(frame);
245 struct iframe* frame = get_current_iframe();
247 return frame->user_sp >= thread->signal_stack_base
248 && frame->user_sp < thread->signal_stack_base
253 /*! Saves everything needed to restore the frame in the child fork in the
260 struct iframe* frame = x86_get_current_iframe();
263 arg->iframe = *frame;
270 /*! Restores the frame from a forked team as specified by the provided