Files
VBoxGuest/sys/init.inc
2026-03-04 22:03:47 +03:00

70 lines
1.8 KiB
HTML

; =============================================================================
; Модуль : Инициализация драйвера VBoxGuest
; Назначение : Инициализация всех подсистем драйвера, подключение к VMMDev,
; настройка сервисов, установка обработчиков
; Файл : sys/init.inc
; =============================================================================
; Полная инициализация драйвера VBoxGuest
proc sys_init
call vmmdev_probe
test eax, eax
jnz .fail
call mmio_map_vmmdev
test eax, eax
jnz .fail
call ports_init ; чекалка
test eax, eax
jnz .fail
call vmmdev_init_packets
test eax, eax
jnz .fail
call vmmdev_check_version ; получить версию хоста (для guest_info2)
call vmmdev_init_protocol ; guest_info + caps + event_filter
test eax, eax
jnz .fail
call hgcm_init ; подготовка пакетов/таймаутов
test eax, eax
jnz .fail
call timer_init
test eax, eax
jnz .fail
call vmmdev_irq_install
test eax, eax
jnz .fail
call dispatcher_init_all
call dispatcher_enable_autostart
call dispatcher_get_active_events
call vmmdev_update_event_filter
test eax, eax
jnz .fail_event_filter
call dispatcher_get_active_caps
call vmmdev_update_capabilities
test eax, eax
jnz .fail_caps
xor eax, eax
ret
.fail_event_filter:
DEBUGF 2, "[VBoxGuest] [Init] Event filter setup failed: 0x%x\n", eax
ret
.fail_caps:
DEBUGF 2, "[VBoxGuest] [Init] Guest capabilities setup failed: 0x%x\n", eax
ret
.fail:
ret
endp