LibVMI

libmicrovmi can replace the low-level layer of LibVMI drivers:

libvmi_libmicrovmi

API Compatibility Status

LibVMI driver layer could be replaced by libmicrovmi.

The API is used in the following files:

APISupportedObservations
driver_init_mode()🟠
driver_init()🟠
driver_init_vmi()🟠
driver_domainwatch_init()
driver_destroy()✅
driver_get_id_from_name()
driver_get_name_from_id()
driver_get_id_from_uuid()
driver_get_id()
driver_set_id()
driver_check_id()
driver_get_name()
driver_set_name()
driver_get_xsave_info()
driver_get_memsize()
driver_request_page_fault()
driver_get_tsc_info()
driver_get_vcpumtrr()
driver_get_vcpureg()✅
driver_get_vcpuregs()
driver_set_vcpureg()
driver_set_vcpuregs()
driver_mmap_guest()
driver_write()
driver_is_pv()
driver_pause_vm()✅
driver_resume_vm()✅
driver_events_listen()
driver_are_events_pending()
driver_set_reg_access()
driver_set_intr_access()
driver_set_mem_access()
driver_start_single_step()
driver_stop_single_step()
driver_shutdown_single_step()
driver_set_guest_requested()
driver_set_cpuid_event()
driver_set_debug_event()
driver_set_privcall_event()
driver_set_desc_access_event()
driver_set_failed_emulation_event()
driver_set_domain_watch_event()
driver_slat_get_domain_state()
driver_slat_set_domain_state()
driver_slat_create()
driver_slat_destroy()
driver_slat_switch()
driver_slat_change_gfn()
driver_set_access_required()
get_data()✅
release_data()✅