📄 readme.eio
字号:
To use the new external I/O traces (EIO traces) and checkpointing features: make an EIO trace: sim-eio -trace FOO.eio tests/bin.little/test-fmath make an EIO trace but starting 1000000 instructions into the execution: sim-eio -fastfwd 1000000 -trace FOO.eio tests/bin.little/test-fmath run an EIO trace: sim-whatever FOO.eio create checkpoint inside an EIO trace execution (eg, @ inst # 1000): sim-eio -dump FOO.chkpt 1000: FOO.eio run an EIO trace starting at checkpoint: sim-whatever -chkpt FOO.chkpt FOO.eioThe EIO traces are self checking, if the data going into the systemcalls from registers or memory ever deviates from the traced run,you'll get a detailed error message indicating the inconsistancy.Other than the error messages, EIO executions produce no output,because they're not really interacting with the OS, just the EIOtrace and EIO module (eio.[hc]).The "-dump" option takes two arguments, a checkpoint filename anda range, see "sim-eio -h" for details on ranges. "1000:" meanstrigger the checkpoint at instruction count 1000.The EIO tracing support is implemented in eio.[hc] and in the libexodirectory (libexo reads and write EXO files, which is the I/O formatused by the EIO code). Look at the support added to sim-safe.cto support tracing: - predecode is disabled when EIO tracing, since the memory is already predecoded - when tracing is enabled, SYSCALL()'s call eio_read_trace() instead of ss_syscall()Plus, there are eio_*() calls in main.c which set up the initial memoryimage and checkpoints. That's it, its a very lightweight interface.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -