Feature request

Alexei Mandrykine <[email protected]>
Newsgroups gmane.comp.micro-kernel.l4.l4ka.general
Message-ID <[email protected]>
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.