KVM: s390: Move hardware setup/unsetup to init/exit
authorSean Christopherson <seanjc@google.com>
Wed, 30 Nov 2022 23:08:50 +0000 (23:08 +0000)
committerPaolo Bonzini <pbonzini@redhat.com>
Thu, 29 Dec 2022 20:40:50 +0000 (15:40 -0500)
Now that kvm_arch_hardware_setup() is called immediately after
kvm_arch_init(), fold the guts of kvm_arch_hardware_(un)setup() into
kvm_arch_{init,exit}() as a step towards dropping one of the hooks.

No functional change intended.

Signed-off-by: Sean Christopherson <seanjc@google.com>
Reviewed-by: Eric Farman <farman@linux.ibm.com>
Message-Id: <20221130230934.1014142-7-seanjc@google.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
arch/s390/kvm/kvm-s390.c

index 221481a097425f66a6a040212cfcabeaca5376e3..97c7ccd189ebd5162e167b441b5a5b9695d7a9f4 100644 (file)
@@ -331,21 +331,12 @@ static struct notifier_block kvm_clock_notifier = {
 
 int kvm_arch_hardware_setup(void *opaque)
 {
-       gmap_notifier.notifier_call = kvm_gmap_notifier;
-       gmap_register_pte_notifier(&gmap_notifier);
-       vsie_gmap_notifier.notifier_call = kvm_s390_vsie_gmap_notifier;
-       gmap_register_pte_notifier(&vsie_gmap_notifier);
-       atomic_notifier_chain_register(&s390_epoch_delta_notifier,
-                                      &kvm_clock_notifier);
        return 0;
 }
 
 void kvm_arch_hardware_unsetup(void)
 {
-       gmap_unregister_pte_notifier(&gmap_notifier);
-       gmap_unregister_pte_notifier(&vsie_gmap_notifier);
-       atomic_notifier_chain_unregister(&s390_epoch_delta_notifier,
-                                        &kvm_clock_notifier);
+
 }
 
 static void allow_cpu_feat(unsigned long nr)
@@ -525,6 +516,13 @@ int kvm_arch_init(void *opaque)
        if (rc)
                goto err_gib;
 
+       gmap_notifier.notifier_call = kvm_gmap_notifier;
+       gmap_register_pte_notifier(&gmap_notifier);
+       vsie_gmap_notifier.notifier_call = kvm_s390_vsie_gmap_notifier;
+       gmap_register_pte_notifier(&vsie_gmap_notifier);
+       atomic_notifier_chain_register(&s390_epoch_delta_notifier,
+                                      &kvm_clock_notifier);
+
        return 0;
 
 err_gib:
@@ -541,6 +539,11 @@ err_kvm_uv:
 
 void kvm_arch_exit(void)
 {
+       gmap_unregister_pte_notifier(&gmap_notifier);
+       gmap_unregister_pte_notifier(&vsie_gmap_notifier);
+       atomic_notifier_chain_unregister(&s390_epoch_delta_notifier,
+                                        &kvm_clock_notifier);
+
        kvm_s390_gib_destroy();
        if (IS_ENABLED(CONFIG_VFIO_PCI_ZDEV_KVM))
                kvm_s390_pci_exit();