This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

Reading register values on FVP

Hello,

While executing programs on FVP (MORELLO PLATFORM MODEL target architecture is morello-purecap) with CHERIBSD OS I like to trace the register values. Any information on how to get it please.

Parents
  • Sorry I am starting up a QEMU VM running CheriBSD on top of the Morello ISA using the following command:

    $./cheribuild.py run-morello-purecap -d

    Following which I am compiling the c file named file.c to generate its corresponding executable_file with the command

    $./ccc morello-purecap -o executable_file file.c

    then transferring the generated executable_file into the VM running CHERIBSD for final execution.

    So in this process I like to trace the register values while it is finally executing in the VM running CHERIBSD .

Reply
  • Sorry I am starting up a QEMU VM running CheriBSD on top of the Morello ISA using the following command:

    $./cheribuild.py run-morello-purecap -d

    Following which I am compiling the c file named file.c to generate its corresponding executable_file with the command

    $./ccc morello-purecap -o executable_file file.c

    then transferring the generated executable_file into the VM running CHERIBSD for final execution.

    So in this process I like to trace the register values while it is finally executing in the VM running CHERIBSD .

Children
  • Ok, well my technique will only work for FVP, but your workload probably works there too. For example, you could use `run-fvp-morello-purecap` to do that, adding the extra configurations noted in my links to make tracing work.

    If you really need to use QEMU for some reason, you probably need to ask the CTSRD-CHERI team. They have a mailing list, and a public Slack channel, for example.

    If your test is small, it may be easier to simply run it under GDB (or some other debugger). You could write a GDB script to print registers periodically (or even before every instruction), for example. This approach would also work on Morello hardware.