; ============================================================================= ; Модуль : Инициализация драйвера 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