|
@@ -434,3 +434,32 @@ int PEVENT_PLUGIN_LOADER(struct pevent *pevent)
|
|
|
PEVENT_FUNC_ARG_VOID);
|
|
|
return 0;
|
|
|
}
|
|
|
+
|
|
|
+void PEVENT_PLUGIN_UNLOADER(struct pevent *pevent)
|
|
|
+{
|
|
|
+ pevent_unregister_event_handler(pevent, -1, "kvm", "kvm_exit",
|
|
|
+ kvm_exit_handler, NULL);
|
|
|
+
|
|
|
+ pevent_unregister_event_handler(pevent, -1, "kvm", "kvm_emulate_insn",
|
|
|
+ kvm_emulate_insn_handler, NULL);
|
|
|
+
|
|
|
+ pevent_unregister_event_handler(pevent, -1, "kvmmmu", "kvm_mmu_get_page",
|
|
|
+ kvm_mmu_get_page_handler, NULL);
|
|
|
+
|
|
|
+ pevent_unregister_event_handler(pevent, -1, "kvmmmu", "kvm_mmu_sync_page",
|
|
|
+ kvm_mmu_print_role, NULL);
|
|
|
+
|
|
|
+ pevent_unregister_event_handler(pevent, -1,
|
|
|
+ "kvmmmu", "kvm_mmu_unsync_page",
|
|
|
+ kvm_mmu_print_role, NULL);
|
|
|
+
|
|
|
+ pevent_unregister_event_handler(pevent, -1, "kvmmmu", "kvm_mmu_zap_page",
|
|
|
+ kvm_mmu_print_role, NULL);
|
|
|
+
|
|
|
+ pevent_unregister_event_handler(pevent, -1, "kvmmmu",
|
|
|
+ "kvm_mmu_prepare_zap_page", kvm_mmu_print_role,
|
|
|
+ NULL);
|
|
|
+
|
|
|
+ pevent_unregister_print_function(pevent, process_is_writable_pte,
|
|
|
+ "is_writable_pte");
|
|
|
+}
|