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

Martin Stein martin.stein at ...1...
Fri Dec 8 01:18:36 CET 2017


Hi Josef,

Am 07.12.2017 um 21:57 schrieb Stark, Josef:
> ...
> Program core/pbxa9/core
>     COMPILE  environ.o
>     COMPILE  err.o
>     COMPILE  file.o
> In file included from /home/josef/git/ptc_hdl_env/os/src/drivers/timer/hw/pbxa9/../platform_timer.h:21:0,
>                  from /home/josef/git/ptc_hdl_env/os/src/drivers/timer/hw/pbxa9/../../nova/timer_session_component.h:23,
>                  from /home/josef/git/ptc_hdl_env/os/src/drivers/timer/hw/pbxa9/../../nova/timer_root.h:24,
>                  from /home/josef/git/ptc_hdl_env/os/src/drivers/timer/hw/pbxa9/../../main.cc:19:
> /home/josef/git/ptc_hdl_env/os/src/drivers/timer/hw/pbxa9/platform_timer_base.h:27:28: error: ‘SP804_CLOCK’ is not a member of ‘Genode::Board_base’
> /home/josef/git/ptc_hdl_env/os/src/drivers/timer/hw/pbxa9/platform_timer_base.h:27:28: error: ‘SP804_CLOCK’ is not a member of ‘Genode::Board_base’
> /home/josef/git/ptc_hdl_env/os/src/drivers/timer/hw/pbxa9/platform_timer_base.h:27:59: error: template argument 1 is invalid
> /home/josef/git/ptc_hdl_env/os/src/drivers/timer/hw/pbxa9/platform_timer_base.h: In constructor ‘Platform_timer_base::Platform_timer_base()’:
> /home/josef/git/ptc_hdl_env/os/src/drivers/timer/hw/pbxa9/platform_timer_base.h:38:22: error: ‘SP804_MMIO_SIZE’ is not a member of ‘Genode::Board_base’
> /home/josef/git/ptc_hdl_env/os/src/drivers/timer/hw/pbxa9/platform_timer_base.h:40:4: error: class ‘Platform_timer_base’ does not have any field named ‘Sp804_base’
> In file included from /home/josef/git/ptc_hdl_env/os/src/drivers/timer/hw/pbxa9/../../nova/timer_session_component.h:23:0,
>                  from /home/josef/git/ptc_hdl_env/os/src/drivers/timer/hw/pbxa9/../../nova/timer_root.h:24,
>                  from /home/josef/git/ptc_hdl_env/os/src/drivers/timer/hw/pbxa9/../../main.cc:19:
> /home/josef/git/ptc_hdl_env/os/src/drivers/timer/hw/pbxa9/../platform_timer.h: In constructor ‘Platform_timer::Platform_timer()’:
> /home/josef/git/ptc_hdl_env/os/src/drivers/timer/hw/pbxa9/../platform_timer.h:44:59: error: ‘max_value’ was not declared in this scope
> /home/josef/git/ptc_hdl_env/os/src/drivers/timer/hw/pbxa9/../platform_timer.h:44:60: error: ‘tics_to_us’ was not declared in this scope
> /home/josef/git/ptc_hdl_env/os/src/drivers/timer/hw/pbxa9/../platform_timer.h: In member function ‘long unsigned int Platform_timer::curr_time()’:
> /home/josef/git/ptc_hdl_env/os/src/drivers/timer/hw/pbxa9/../platform_timer.h:61:41: error: ‘value’ was not declared in this scope
> /home/josef/git/ptc_hdl_env/os/src/drivers/timer/hw/pbxa9/../platform_timer.h:63:55: error: ‘max_value’ was not declared in this scope
> /home/josef/git/ptc_hdl_env/os/src/drivers/timer/hw/pbxa9/../platform_timer.h:70:43: error: ‘tics_to_us’ was not declared in this scope
> /home/josef/git/ptc_hdl_env/os/src/drivers/timer/hw/pbxa9/../platform_timer.h: In member function ‘void Platform_timer::schedule_timeout(long unsigned int)’:
> /home/josef/git/ptc_hdl_env/os/src/drivers/timer/hw/pbxa9/../platform_timer.h:99:39: error: ‘us_to_tics’ was not declared in this scope
> /home/josef/git/ptc_hdl_env/os/src/drivers/timer/hw/pbxa9/../platform_timer.h:100:28: error: ‘run_and_wrap’ was not declared in this scope
>     COMPILE  ldso_types.o
>     COMPILE  lock.o
> /home/josef/git/ptc_hdl_env/base/mk/generic.mk:46: recipe for target 'main.o' failed
> make[3]: *** [main.o] Error 1
> var/libdeps:261: recipe for target 'timer.prg' failed
> make[2]: *** [timer.prg] Error 2
> make[2]: *** Waiting for unfinished jobs....
>     COMPILE  main.o
> ...
>     MERGE    ld.lib.so
>     LINK     init
> Makefile:206: recipe for target 'gen_deps_and_build_targets' failed
> make[1]: *** [gen_deps_and_build_targets] Error 2
> make[1]: Leaving directory '/home/josef/git/ptc_hdl_env/build'
> Error: Genode build failed
> Makefile:237: recipe for target 'run/ptc_hdl_env' failed
> make: *** [run/ptc_hdl_env] Error 252
> ===============================================
> 
> It seems that base-hw is borrowing a few header-files from nova, 
> and grep showed that SP804_CLOCK is declared inside
> base/include/platform/vea9x4/drivers/board_base.h
> (which looks like another board), so maybe that's
> about where things go wrong.
> Can someone help me out?

I just pushed a fix [1] that solves the problem.
I also had a compile error like:

  Program test/ptc_hdl_env/ptc/test-ptc_hdl_env-ptc
    COMPILE  integration.o
genode-arm-g++: error: integration.cc: No such file or directory
genode-arm-g++: fatal error: no input files

But it disappeated when I ran "make run/ptc_hdl_env" a second time so it
seems to be a sporadic problem with the build system. Apart from that,
the PTC worked fine for me.

Martin

[1]
https://github.com/m-stein/genode_hdl_env/commit/b3714bfb81e9e9c37cc068e640fe2091fbf67867




More information about the users mailing list