3

By default, Simics log messages only show the object that logged the message. Like these, for example:

[board.mb.sb.spi.bank.spi_regs spec-viol] Write to read-only field spi_regs.hsfsts.fdv (value written = 0x0000, contents = 0x0001).
...
[board.mb.sb.lan.bank.csr spec-viol] writing 0 to count is not allowed
...
[board.mb.cpu0.core[3][1] info] 0x585: Reading from unknown MSR. Signaling GP fault.

How do I get to see the time of the log in order to understand which logs are close in time (including hitting on the same cycle) and which are far apart?

jakobengblom2
  • 5,531
  • 2
  • 25
  • 33

1 Answers1

4

The information printed on Simics logs is controlled by the Simics log-setup command.

The standard timing information gets printed by adding the -time-stamp option to log-setup. This will print the current instruction pointer/program counter value and cycle. It is focused on understanding what software does.

To see just the virtual time of the log, without an instruction address, use the -pico-seconds option. This is useful when you are investigating models that do not run instructions in order to drive the simulation forward (like device models attached to "clock" objects).

Finally, the real time when a log message happens can be printed using the -real-time flag. This is mostly intended to be used to understand Simics performance and "hiccups" (for example, if there is a gap in log messages for a long time in real time).

All options can be used together for really long log messages.

simics> log-setup -real-time -time-stamp -pico-seconds 
...
[board.mb.sb.lan.bank.csr spec-viol] {board.mb.cpu0.core[0][0] 0xdef964fe 3536084056} [08:23:48.5902] {1768042028499 ps} writing 0 to count is not allowed

To see all options, use help log-setup (options might be added over time):

simics> help log-setup 
Command log-setup

   Synopsis
      log-setup [object] [-time-stamp] [-no-time-stamp] [-pico-seconds] [-no-pico-seconds] [-real-time] [-no-real-time]
      [-console] [-no-console] [-eclipse-console] [-no-eclipse-console] [-group] [-no-group] [-level] [-no-level]
      [-no-log-file] [-overwrite] [logfile]
      <conf_object>.log-setup [-time-stamp] [-no-time-stamp] [-pico-seconds] [-no-pico-seconds] [-real-time] [-no-real-time]
      [-console] [-no-console] [-eclipse-console] [-no-eclipse-console] [-group] [-no-group] [-level] [-no-level]
      [-no-log-file] [-overwrite] [logfile]
...
jakobengblom2
  • 5,531
  • 2
  • 25
  • 33