# Linux Kernel Module Cheat

##### 24.22.8.1. gem5 THE_ISA

Generated code at: `build/<ISA>/config/the_isa.hh` which e.g. for ARM contains:

    #ifndef __CONFIG_THE_ISA_HH__
    #define __CONFIG_THE_ISA_HH__

    #define ARM_ISA 1
    #define MIPS_ISA 2
    #define NULL_ISA 3
    #define POWER_ISA 4
    #define RISCV_ISA 5
    #define SPARC_ISA 6
    #define X86_ISA 7

    enum class Arch {
      ArmISA = ARM_ISA,
      MipsISA = MIPS_ISA,
      NullISA = NULL_ISA,
      PowerISA = POWER_ISA,
      RiscvISA = RISCV_ISA,
      SparcISA = SPARC_ISA,
      X86ISA = X86_ISA
    };

    #define THE_ISA ARM_ISA
    #define TheISA ArmISA
    #define THE_ISA_STR "arm"

    #endif // __CONFIG_THE_ISA_HH__

Generation code: `src/SConscript` at `def makeTheISA`.

Tested on gem5 b1623cb2087873f64197e503ab8894b5e4d4c7b4.

Bibliography: https://www.mail-archive.com/gem5-users@gem5.org/msg16989.html