Re: Feature request

Joshua LeVasseur <[email protected]>
Newsgroups gmane.comp.micro-kernel.l4.l4ka.general
Message-ID <[email protected]>
Hello Alexei,

we've been working on a solution to gain access to the thread state  
that is necessary for virtualization (such as for signal handling).   
It is almost finished, and will make the Afterburner wedge far  
simpler, and should maintain performance.


-Josh



On Jul 19, 2006, at 09:38 , Alexei Mandrykine wrote:

> Hello l4ka,
>
> Let us introduce a new bit in control word of ExchangeRegisters  
> syscall.
> Bit F (0x400) that changes semantics of the FLAGS word.
> Thus if F bit set to 1 then FLAGS argument become a pointer to the  
> memory
> in requestor's address space, which holds registers' and flag's  
> state of
> requested thread.
>
> The format of structure, which holds registers' state, is not
> important. It depends on CPU type and could be any memory region  
> with size
> enough to keep task state. BTW, you can define size of this structure
> in the KIP.
>
> Why F flag is needed?
> It can noticeably simplify implementation of POSIX signals, setjmp,  
> longjmp functions,
> and fork syscall. Such approach allows making application programs  
> more portable.
> Don't you believe me? For example, setjmp/longjmp functions can be  
> implemented
> without assembler language. Another example - POSIX siganls. What will
> happen if signal arise inside function with register's varibale? Could
> anybody give a warranty that the signal handler function saves all
> registers?
>
> -- 
> Best regards,
>  Alexei                          mailto:[email protected]
>
>
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.