gem5にはデバッグ用の多くのオプションがあり、非常に細粒度にログを出力することができる。gem5の--debug-help
でオプション一覧を表示することができる。
gem5.opt --debug-help
出力は以下のようになった。いくつかのオプションをまとめて指定することができる。
例えば、--debug-flags=ExecAll
は、--debug-flags=ExecEnable, ExecCPSeq, ExecEffAddr, ExecFaulting, ExecFetchSeq,...
を意味する。
Compound Flags: AnnotateAll: All Annotation flags Annotate, AnnotateQ, AnnotateVerbose CacheAll: Cache, CacheComp, CachePort, CacheRepl, CacheVerbose, HWPrefetch, MSHR DiskImageAll: DiskImageRead, DiskImageWrite EthernetAll: Ethernet, EthernetPIO, EthernetDMA, EthernetData, EthernetDesc, EthernetIntr, EthernetSM, EthernetCksum, EthernetEEPROM EthernetNoData: Ethernet, EthernetPIO, EthernetDesc, EthernetIntr, EthernetSM, EthernetCksum Exec: ExecEnable, ExecOpClass, ExecThread, ExecEffAddr, ExecResult, ExecSymbol, ExecMicro, ExecMacro, ExecFaulting, ExecUser, ExecKernel ExecAll: ExecEnable, ExecCPSeq, ExecEffAddr, ExecFaulting, ExecFetchSeq, ExecOpClass, ExecRegDelta, ExecResult, ExecSymbol, ExecThread, ExecMicro, ExecMacro, ExecUser, ExecKernel, ExecAsid, ExecFlags ExecNoTicks: Exec, FmtTicksOff GDBAll: All Remote debugging flags GDBMisc, GDBAcc, GDBRead, GDBWrite, GDBSend, GDBRecv, GDBExtra IdeAll: IdeCtrl, IdeDisk Minor: MinorCPU, MinorExecute, MinorInterrupt, MinorMem, MinorScoreboard O3CPUAll: Fetch, Decode, Rename, IEW, Commit, IQ, ROB, FreeList, LSQ, LSQUnit, StoreSet, MemDepUnit, DynInst, O3CPU, Activity, Scoreboard, Writeback Registers: IntRegs, FloatRegs, VecRegs, VecPredRegs, CCRegs, MiscRegs Ruby: RubyQueue, RubyNetwork, RubyTester, RubyGenerated, RubySlicc, RubySystem, RubyCache, RubyDma, RubyPort, RubySequencer, RubyCacheTrace, RubyPrefetcher, RubyProtocol SyscallAll: SyscallBase, SyscallVerbose XBar: BaseXBar, CoherentXBar, NoncoherentXBar, SnoopFilter