Как мне получить отметки времени в сообщениях журнала Simics?
По умолчанию сообщения журнала Simics показывают только объект, который зарегистрировал сообщение. Вот такие, например:
[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.
Как мне увидеть время журнала, чтобы понять, какие журналы близки по времени (включая попадания в один и тот же цикл), а какие далеко друг от друга?
1 ответ
Информация, напечатанная в журналах Simics, контролируется Simics.
log-setup
команда.
Стандартная информация о времени распечатывается путем добавления
-time-stamp
возможность лог-настройки. Это напечатает текущий указатель команд / значение счетчика программ и цикл. Он ориентирован на понимание того, что делает программное обеспечение.
Чтобы увидеть только виртуальное время журнала без адреса инструкции, используйте
-pico-seconds
вариант. Это полезно, когда вы исследуете модели, которые не запускают инструкции, чтобы продвигать симуляцию (например, модели устройств, прикрепленные к "
clock
" объекты).
Наконец, в реальном времени, когда происходит сообщение журнала, можно распечатать, используя
-real-time
флаг. Это в основном предназначено для использования для понимания производительности Simics и "икоты" (например, если в сообщениях журнала есть пауза в течение длительного времени в реальном времени).
Все параметры можно использовать вместе для действительно длинных сообщений журнала.
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
Чтобы увидеть все варианты, используйте
help log-setup
(варианты могут быть добавлены со временем):
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]
...