goto out;
  
        kvm_perf_init();
 -      kvm_coproc_table_init();
 +      kvm_sys_reg_table_init();
  
  out:
-       on_each_cpu(_kvm_arch_hardware_disable, NULL, 1);
+       if (err || !is_protected_kvm_enabled())
+               on_each_cpu(_kvm_arch_hardware_disable, NULL, 1);
  
        return err;
  }
 
  asflags-y := -D__KVM_NVHE_HYPERVISOR__
  ccflags-y := -D__KVM_NVHE_HYPERVISOR__
  
- obj-y := timer-sr.o sysreg-sr.o debug-sr.o switch.o tlb.o hyp-init.o host.o hyp-main.o
+ obj-y := timer-sr.o sysreg-sr.o debug-sr.o switch.o tlb.o hyp-init.o host.o \
+        hyp-main.o hyp-smp.o psci-relay.o
  obj-y += ../vgic-v3-sr.o ../aarch32.o ../vgic-v2-cpuif-proxy.o ../entry.o \
 -       ../fpsimd.o ../hyp-entry.o
 +       ../fpsimd.o ../hyp-entry.o ../exception.o
  
  ##
  ## Build rules for compiling nVHE hyp code