Memory write tracing/logging of an application / Watchpoints in Genode/Fiasco.OC

Stark, Josef j.stark at ...256...
Tue Dec 5 12:20:36 CET 2017


Hello Norman,

>this question reminds me on the student project of Martin Stein several
>years ago. Martin's goal was to emulate I/O devices backed by an
>on-target VHDL simulation. Both the driver and the simulated I/O device
>would be hosted on the same machine. Each time the driver accesses a
>memory-mapped I/O register, the simulated device would need to handle
>that access.

the thesis indeed seems as a good starting point.
I will try to get the original code to run under Genode 11.08,
then change the code so that instead of MMIO-accesses,
normal memory accesses within some special region are caught
and make other first adjustments for my use-case;
does this seem correct?
Or is it more feasible to leave the MMIO mechanism as-is and
then assign some emulated MMIO memory area to the target process (= the process to be monitored)?
After that, I would then try to port that to a more recent version of Genode and then implement the rest.


>Martin solved this problem on the base-hw kernel on ARM. Please refer to
>his thesis for more information.
> http://genode-labs.com/publications/mstein-device_emulation-2011.pdf

The thesis seems to implement it (albeit on an older version of) Fiasco.OC,
which is what I'm using; is there any way to access the complete source code
of the thesis or is it proprietary code? If not then I'll just try to make it work
using the code-snippets inside the document.

Also, I found the follow-up thesis here:
http://www.genode-labs.com/publications/mstein-hw-codesign-2013.pdf
which now actually went back to implement it on bare-hw and made further improvements,
but it seems that for my purposes the first thesis is more than enough
(I admit having only peeked into the second one).


Thanks a lot for the quick help!
Cheers,
Josef



More information about the users mailing list