about platform_execute in usb_drv

jaeyong yoo y.jaeyong at ...9...
Wed Jan 9 05:30:45 CET 2013


Please forgive my ignorance.

> This function is used to switch the stack and execute a given function.

Why do we have to switch the stack?
For instance, what would happen if we do not switch the stack?

Regards,
Jaeyong

On Tue, Jan 8, 2013 at 7:31 PM, Sebastian Sumpf <
Sebastian.Sumpf at ...1...> wrote:

> Hello Jaeyong,
>
> On 01/08/2013 03:26 AM, jaeyong yoo wrote:
> > Hello,
> >
> > Could you explain about the intend behind platform_execute in usb_drv?
> > I see it is similar to executing a function but it uses stack allocated
> > by dde_kit_simple_malloc, and I don't understand why.
>
> This function is used to switch the stack and execute a given function.
> Since stack switching has to be performed in assembly, the function must
> be implemented for each platform (e.g. ARM, x86). In the great picture
> this is part of a very simple user-threading implementation. Each
> "pseudo" thread needs a stack to need lose its call trace, such a thread
> is scheduled using setjmp/longjmp calls (see:
> dde_linux/src/drivers/usb/routine.h).
>
>
> Regards,
>
> Sebastian
>
>
>
> --
> Sebastian Sumpf
> Genode Labs
>
> http://www.genode-labs.com · http://genode.org
>
> Genode Labs GmbH · Amtsgericht Dresden · HRB 28424 · Sitz Dresden
> Geschäftsführer: Dr.-Ing. Norman Feske, Christian Helmuth
>
>
>
>
>
> ------------------------------------------------------------------------------
> Master SQL Server Development, Administration, T-SQL, SSAS, SSIS, SSRS
> and more. Get SQL Server skills now (including 2012) with LearnDevNow -
> 200+ hours of step-by-step video tutorials by Microsoft MVPs and experts.
> SALE $99.99 this month only - learn more at:
> http://p.sf.net/sfu/learnmore_122512
> _______________________________________________
> Genode-main mailing list
> Genode-main at lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/genode-main
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.genode.org/pipermail/users/attachments/20130109/560bbe11/attachment.html>


More information about the users mailing list