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,
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
>>
>> 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
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
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
>>
>> 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
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
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
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