diff --git a/src/cpu/kvm/base.cc b/src/cpu/kvm/base.cc index 64c1a5e81f..26ffe37a54 100644 --- a/src/cpu/kvm/base.cc +++ b/src/cpu/kvm/base.cc @@ -138,10 +138,6 @@ BaseKvmCPU::startup() // point. Initialize virtual CPUs here instead. vcpuFD = vm.createVCPU(vcpuID); - // Setup signal handlers. This has to be done after the vCPU is - // created since it manipulates the vCPU signal mask. - setupSignalHandler(); - // Map the KVM run structure */ vcpuMMapSize = kvm.getVCPUMMapSize(); _kvmRun = (struct kvm_run *)mmap(0, vcpuMMapSize, @@ -182,6 +178,10 @@ BaseKvmCPU::startupThread() const BaseKvmCPUParams * const p( dynamic_cast(params())); + // Setup signal handlers. This has to be done after the vCPU is + // created since it manipulates the vCPU signal mask. + setupSignalHandler(); + setupCounters(); if (p->usePerfOverflow)