# Linux Kernel Module Cheat

##### 24.22.4.8. gem5 event queue DerivO3CPU syscall emulation freestanding example analysis

Like gem5 event queue MinorCPU syscall emulation freestanding example analysis but even more complex since for the gem5 `DerivO3CPU`!

The key new debug flag is `O3CPUAll`:

    ./run \
      --arch aarch64 \
      --emulator gem5 \
      --userland userland/arch/aarch64/freestanding/linux/hello.S \
      --trace FmtFlag,Cache,Event,ExecAll,O3CPUAll \
      --trace-stdout \
      -- \
      --cpu-type DerivO3CPU \
      --caches \
    ;

The output is huge and contains about 7 thousand lines!!!

This section and children are tested at LKMC 144a552cf926ea630ef9eadbb22b79fe2468c456.

- gem5 event queue DerivO3CPU syscall emulation freestanding example analysis: hazardless

- gem5 event queue DerivO3CPU syscall emulation freestanding example analysis: hazard

- gem5 event queue DerivO3CPU syscall emulation freestanding example analysis: hazard4

- gem5 event queue DerivO3CPU syscall emulation freestanding example analysis: stall

- gem5 event queue DerivO3CPU syscall emulation freestanding example analysis: stall_gain

- gem5 event queue DerivO3CPU syscall emulation freestanding example analysis: stall_hazard4

- gem5 event queue DerivO3CPU syscall emulation freestanding example analysis: speculative