Re: Thread switching in Genode/seL4 and registers and utcb access problem

2019-09-27 Thread Alexander Boettcher
Hello Alexander, I think we have to clarify a few things. The direct invocation of kernel syscalls is not encouraged on Genode applications, since the whole point about Genode is to have a operating system framework running _portable code_ across more than 7 microkernels (seL4, Fiasco.OC, NOVA,

Re: Thread switching in Genode/seL4 and registers and utcb access problem

2019-09-27 Thread Alexander Tormasov via users
Thank you for suggestion! Will send them info that they need explicitly state that you can’t read local (own) thread registers in docs While I I think that this is mostly bug in Genode - it return incorrect OK code (0) during such attempt while probably need to analyze response from seL4 more

Re: Thread switching in Genode/seL4 and registers and utcb access problem

2019-09-27 Thread Alexander Tormasov via users
>> >> And I still don’t have a «legal» way to read or set registers via >> Genode interface, need to use asm :( > > Why don't you use setjmp/longjmp? Implementation are in the libc and > repos/dde_linux/src/lx_kit/spec for our drivers. Because golang runtime do use makecontext to replace

Re: Thread switching in Genode/seL4 and registers and utcb access problem

2019-09-27 Thread Adam Wiethuechter
Alex, I would encourage passing what you found along (even the documentation improvement suggestion) to Data61. They are very open to any form of feedback with seL4. On 9/26/2019 6:53 AM, Alexander Tormasov via users wrote: Problem 2. When I start trying to make a fast solution and try to

Re: Thread switching in Genode/seL4 and registers and utcb access problem

2019-09-27 Thread Christian Helmuth
Alexander, On Fri, Sep 27, 2019 at 01:21:25 CEST, Alexander Tormasov via users wrote: > Unfortunately, this function use the same seL4_TCB_ReadRegisters and > can’t read our own registers (like setjmp/getcontext/etc) as I see > in repos/base-sel4/src/core/spec/x86_64/thread.cc > > And I still

Re: Thread switching in Genode/seL4 and registers and utcb access problem

2019-09-26 Thread Alexander Tormasov via users
>> >> Problem 2. >> When I start trying to make a fast solution and try to read registers and >> some info from low level physical seL4 thread using seL4_TCB_ReadRegisters > > On Genode you may request the thread state like the values of registers > via Genode::Cpu_thread::state(). Example code

Re: Thread switching in Genode/seL4 and registers and utcb access problem

2019-09-26 Thread Alexander Boettcher
On 26.09.19 12:53, Alexander Tormasov via users wrote: > > Problem 2. > When I start trying to make a fast solution and try to read registers and > some info from low level physical seL4 thread using seL4_TCB_ReadRegisters On Genode you may request the thread state like the values of registers

Re: Thread switching in Genode/seL4 and registers and utcb access problem

2019-09-26 Thread Alexander Tormasov via users
Problem 2. When I start trying to make a fast solution and try to read registers and some info from low level physical seL4 thread using seL4_TCB_ReadRegisters I found that: In returned successfully data rip register is always 0 for current thread, tcb selector myself.native_thread().tcb_sel

Thread switching in Genode/seL4 and registers and utcb access problem

2019-09-24 Thread Alexander Tormasov via users
I am trying to get working getcontext/setcontext/makecontext prototype on seL4/Genode (I can’t use anything except seL4 in this moment due to some reasons). I need both for x86_64 and aarm64 arch. I started from x86. So, question one. May be someone know kind of rough implementation for