Files
kolibrios/drivers/vboxguest/data/core/constants.inc
lex ab59015ded
Some checks failed
Build system / Check kernel codestyle (pull_request) Has been cancelled
Build system / Build (pull_request) Has been cancelled
Add VBoxGuest driver code
2026-03-04 21:16:17 +03:00

136 lines
5.7 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
; =============================================================================
; Модуль : VBoxGuest Core Constants
; Файл : data/core/constants.inc
; Назначение : VMMDev константы и определения (PCI, версия, маски событий)
; =============================================================================
; PCI
VBOX_VENDOR_ID equ 0x80EE
VBOX_DEVICE_ID equ 0xCAFE
; VMMDev протокол v1_04
VMMDEV_VERSION_MAJOR equ 1
VMMDEV_VERSION_MINOR equ 4
VMMDEV_VERSION equ (VMMDEV_VERSION_MAJOR shl 16) or VMMDEV_VERSION_MINOR
VMMDEV_REQUEST_HEADER_VERSION equ 0x00010001
VMMDEV_HF_FAST_IRQ_ACK equ 0x00000001
VMMDEV_MEMORY_VERSION equ 1
VMMDEV_MEMORY_SIZE equ 0x00400000
VMMDEV_PORT_OFF_REQUEST equ 0
VMMDEV_PORT_OFF_REQUEST_FAST equ 8
VMMDEV_MAX_HGCM_PARMS equ 32
VMMDEV_MAX_HGCM_DATA_SIZE equ 128 ; MB
; VMMDev Request Types
VMMDEV_REQ_GET_HOST_VERSION equ 4
VMMDEV_REQ_ACKNOWLEDGE_EVENTS equ 41
VMMDEV_REQ_CTL_GUEST_FILTER_MASK equ 42
VMMDEV_REQ_REPORT_GUEST_INFO equ 50
VMMDEV_REQ_GET_DISPLAY_CHANGE_2 equ 54
VMMDEV_REPORT_GUEST_CAPS equ 55
VMMDEV_SET_GUEST_CAPS equ 56
VMMDEV_REQ_REPORT_GUEST_INFO2 equ 58
VMMDEV_HGCM_CONNECT equ 60
VMMDEV_HGCM_DISCONNECT equ 61
VMMDEV_HGCM_CALL32 equ 62
VMMDEV_HGCM_CALL64 equ 63
VBOXGSTINFO2_F_REQUESTOR_INFO equ 0x00000001
; Guest capabilities
VMMDEV_GUEST_SUPPORTS_SEAMLESS equ 0x00000001
VMMDEV_GUEST_SUPPORTS_GHW_MAPPING equ 0x00000002
VMMDEV_GUEST_SUPPORTS_GRAPHICS equ 0x00000004
VMMDEV_GUEST_SUPPORTS_VRDP equ 0x00000010
VMMDEV_GUEST_SUPPORTS_HGCM equ 0x00000020
VMMDEV_GUEST_SUPPORTS_ACPI equ 0x00000040
VMMDEV_GUEST_SUPPORTS_SHCL equ 0x00000080
VMMDEV_GUEST_SUPPORTS_VRDP_RESIZE equ 0x00000100
VMMDEV_GUEST_SUPPORTS_DRAG_AND_DROP equ 0x00000200
VMMDEV_GUEST_SUPPORTS_CR3_MONITORING equ 0x00000400
VMMDEV_GUEST_SUPPORTS_TIMER_NS equ 0x00000800
VMMDEV_GUEST_SUPPORTS_GUEST_HEARTBEAT equ 0x00001000
VMMDEV_GUEST_SUPPORTS_HOST_DISPLAY_TOPOLOGY equ 0x00002000
VMMDEV_GUEST_SUPPORTS_REQUESTOR equ 0x00004000
VMMDEV_GUEST_SUPPORTS_VBVA equ 0x00008000
VMMDEV_GUEST_SUPPORTS_SET_GUEST_CAPABILITIES equ 0x00010000
VMMDEV_GUEST_SUPPORTS_MOUSE equ 0x00020000
VMMDEV_GUEST_SUPPORTS_SHARED_FOLDERS equ 0x00040000
VMMDEV_GUEST_SUPPORTS_VIDEO_ACCEL equ 0x00080000
VMMDEV_GUEST_SUPPORTS_AUDIO equ 0x00100000
VMMDEV_GUEST_SUPPORTS_TSC_EMULATION equ 0x00200000
; VMMDev события (биты)
VMMDEV_EVENT_MOUSE_CAPABILITIES_CHANGED equ 0x00000001 ; bit 0
VMMDEV_EVENT_HGCM equ 0x00000002 ; bit 1
VMMDEV_EVENT_DISPLAY_CHANGE_REQUEST equ 0x00000004 ; bit 2
VMMDEV_EVENT_JUDGE_CREDENTIALS equ 0x00000008 ; bit 3
VMMDEV_EVENT_RESTORED equ 0x00000010 ; bit 4
VMMDEV_EVENT_SEAMLESS_MODE_CHANGE equ 0x00000020 ; bit 5
VMMDEV_EVENT_BALLOON_CHANGE_REQUEST equ 0x00000040 ; bit 6
VMMDEV_EVENT_STATISTICS_INTERVAL_CHANGE equ 0x00000080 ; bit 7
VMMDEV_EVENT_VRDP equ 0x00000100 ; bit 8
VMMDEV_EVENT_MOUSE_POSITION_CHANGED equ 0x00000200 ; bit 9
VMMDEV_EVENT_CPU_HOTPLUG equ 0x00000400 ; bit 10
VMMDEV_EVENT_VALID_EVENT_MASK equ 0x000007FF ; bits 0-10
VMMDEV_EVENT_GUEST_HEARTBEAT equ 0x00040000
VMMDEV_EVENT_GUEST_HEARTBEAT_TIMEOUT equ 0x00080000
VMMDEV_EVENT_HGCM_ASYNC_CALL equ 0x00100000
; Накопительные маски событий и capabilities (сервисы добавляют через OR)
VBOXGUEST_EVENTS_OR_MASK equ 0
VBOXGUEST_EVENTS_NOT_MASK equ 0
VBOXGUEST_GUEST_CAPS_OR_MASK equ 0
VBOXGUEST_GUEST_CAPS_NOT_MASK equ 0
; Маска «шумных» событий — НЕ логировать
DISPATCHER_NOISY_EVENTS equ (VMMDEV_EVENT_MOUSE_CAPABILITIES_CHANGED or VMMDEV_EVENT_MOUSE_POSITION_CHANGED)
; OS Type
VBOXOSTYPE_KOLIBRIOS equ 0x00090000
; HGCM размеры пакетов
HGCM_CALL_HEADER_SIZE equ 32
HGCM_CALL_BASE_SIZE equ 44
HGCM_PARAM_SIZE equ 12
; Host Features
VMMDEV_HVF_MMIO equ 0x00000002
; Memory Balloon
VMMDEV_MEMORY_BALLOON_CHUNK_SIZE equ 0x00100000
VMMDEV_MEMORY_BALLOON_CHUNK_PAGES equ 0x100
; Guest Facility Types
VBoxGuestFacilityType_VBoxGuestDriver equ 0
VBoxGuestFacilityType_VBoxService equ 1
VBoxGuestFacilityType_VBoxTrayClient equ 2
VBoxGuestFacilityType_Seamless equ 3
VBoxGuestFacilityType_Graphics equ 4
; Guest Facility Status
VBoxGuestFacilityStatus_Inactive equ 0
VBoxGuestFacilityStatus_Active equ 1
; Requestor flags
VMMDEV_REQUESTOR_USR_NOT_GIVEN equ 0x00000000
VMMDEV_REQUESTOR_USR_DRV equ 0x00000001
VMMDEV_REQUESTOR_USR_DRV_OTHER equ 0x00000002
VMMDEV_REQUESTOR_USR_ROOT equ 0x00000003
VMMDEV_REQUESTOR_USR_USER equ 0x00000006
VMMDEV_REQUESTOR_KERNEL equ 0x00000000
VMMDEV_REQUESTOR_USERMODE equ 0x00000008
VMMDEV_REQUESTOR_CON_DONT_KNOW equ 0x00000000
VMMDEV_REQUESTOR_CON_NO equ 0x00000010
VMMDEV_REQUESTOR_CON_YES equ 0x00000020
VMMDEV_REQUESTOR_GRP_VBOX equ 0x00000080
VMMDEV_REQUESTOR_TRUST_NOT_GIVEN equ 0x00000000
VMMDEV_REQUESTOR_VBOXGUEST equ (VMMDEV_REQUESTOR_USR_DRV or VMMDEV_REQUESTOR_GRP_VBOX)
; MMIO смещения
VMMDEV_MEMORY_HAVE_EVENTS_V1_04 equ 0x14
VMMDEV_MEMORY_HAVE_EVENTS_V1_03 equ 0x0C