Hello,
I know there exists a function seL4_TCB_ReadRegisters, which can read the
registers of a certain thread, given a/the capability to the thread.
Ultimately, I'm interested in reading memory at runtime to determine
whether the data I expect is present.
So I'm wondering, is there in seL4 an init process, whose registers contain
all the working memory of the system?
And furthermore, how can I access a capability to a given thread in order
to pass it into the ReadRegisters function mentioned above?
Cheers,
Michael
Show replies by date
Hi Michael,
In seL4, all memory is managed by user level. In order to access any memory it must be
mapped in to the current address space, at which point you can access that memory at will,
as long as you have the correct capabilities. Capabilities to all untyped memory in the
system are passed in the initial boot info structure to the initial task.
I'd need more information about the system you are using to give more concrete
advice, but if you are using our vspace library in seL4_libs it has many functions to
access the caps/addresses you need to access the memory.
Cheers
Anna.
________________________________
From: Devel <devel-bounces(a)sel4.systems> on behalf of Michael Neises
<neisesmichael(a)gmail.com>
Sent: Friday, 6 July 2018 4:06 AM
To: devel(a)sel4.systems
Subject: [seL4] reading thread registers
Hello,
I know there exists a function seL4_TCB_ReadRegisters, which can read the registers of a
certain thread, given a/the capability to the thread.
Ultimately, I'm interested in reading memory at runtime to determine whether the data
I expect is present.
So I'm wondering, is there in seL4 an init process, whose registers contain all the
working memory of the system?
And furthermore, how can I access a capability to a given thread in order to pass it into
the ReadRegisters function mentioned above?
Cheers,
Michael