121c121
< BaseCPU::BaseCPU(Params *p)
---
> BaseCPU::BaseCPU(Params *p, bool is_checker)
222,225d221
< // Check if CPU model has interrupts connected. The CheckerCPU
< // cannot take interrupts directly for example.
< if (interrupts)
< interrupts->setCPU(this);
226a223,233
> // The interrupts should always be present unless this CPU is
> // switched in later or in case it is a checker CPU
> if (!params()->defer_registration && !is_checker) {
> if (interrupts) {
> interrupts->setCPU(this);
> } else {
> fatal("CPU %s has no interrupt controller.\n"
> "Ensure createInterruptController() is called.\n", name());
> }
> }
>