VBoxGuest driver and control
This commit is contained in:
27
vmmdev/capabilities.inc
Normal file
27
vmmdev/capabilities.inc
Normal file
@@ -0,0 +1,27 @@
|
||||
; =============================================================================
|
||||
; Модуль : VMMDev Guest Capabilities
|
||||
; Назначение : Настройка возможностей гостя (REQ 56)
|
||||
; Файл : vmmdev/capabilities.inc
|
||||
; =============================================================================
|
||||
|
||||
; vmmdev_update_capabilities — Обновить caps по runtime-маске из dispatcher
|
||||
proc vmmdev_update_capabilities
|
||||
mov edi, [vbox_device.caps_virt]
|
||||
test edi, edi
|
||||
jz .bad
|
||||
|
||||
; Обновить or_mask в пакете
|
||||
mov [edi + VMMDEV_SET_GUEST_CAPABILITIES2.or_mask], eax
|
||||
mov dword [edi + VMMDEV_SET_GUEST_CAPABILITIES2.header.rc], 0
|
||||
|
||||
DEBUGF 2, "[VBoxGuest] [Caps] Updating capabilities: or_mask=0x%x\n", eax
|
||||
|
||||
mov ebx, [vbox_device.caps_phys]
|
||||
stdcall vmmdev_send_request, ebx
|
||||
|
||||
mov eax, [edi + VMMDEV_SET_GUEST_CAPABILITIES2.header.rc]
|
||||
ret
|
||||
.bad:
|
||||
mov eax, VERR_INVALID_POINTER
|
||||
ret
|
||||
endp
|
||||
Reference in New Issue
Block a user