-
Notifications
You must be signed in to change notification settings - Fork 2
/
vbox.inc
95 lines (80 loc) · 2.38 KB
/
vbox.inc
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; ;;
;; Copyright (C) KolibriOS team 2004-2022. All rights reserved. ;;
;; Distributed under terms of the GNU General Public License ;;
;; ;;
;; Writen by Maxim Logaev (turbocat2001) ;;
;; 2022 year ;;
;; ;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
include 'inc/struct.inc'
PCI_VBOX_VENDOR_ID = 0x80EE
PCI_VBOX_DEVICE_ID = 0xCAFE
VBOX_VMMDEV_VERSION = 0x00010003
VBOX_REQUEST_HEADER_VERSION = 0x10001
VBOX_VMM_REPORT_GUEST_INFO = 50
VBOX_REQUEST_GET_DISPLAY_CHANGE = 51
VBOX_REQUEST_SET_GUEST_CAPS = 55
VBOX_REQUEST_ACK_EVENTS = 41
VBOX_VMM_EVENT_DISP = 4
struct VBOX_HEADER
size dd ?
version dd ?
request_type dd ?
rc dd ?
__reserved1 dd ?
__reserved2 dd ?
ends
struct VBOX_GUEST_INFO
header VBOX_HEADER
version dd ?
os_type dd ?
ends
struct VBOX_GUEST_CAPS
header VBOX_HEADER
caps dd ?
ends
struct VBOX_ACK_EVENTS
header VBOX_HEADER
events dd ?
ends
struct VBOX_DISPLAY_CHANGE
header VBOX_HEADER
x_res dd ?
y_res dd ?
bpp dd ?
event_ack dd ?
ends
struct VBOX_MOUSE
header VBOX_HEADER
features dd ?
x dd ?
y dd ?
ends
struct VBOX_RTRECT
x_left dd ?
y_top dd ?
x_right dd ?
y_bottom dd ?
ends
struct VBOX_VISIBLE_REGION
header VBOX_HEADER
count dd ?
rect VBOX_HEADER 1
ends
struct VBOX_POINTER_SHAPE
header VBOX_HEADER
flags dd ?
x_hot dd ?
y_hot dd ?
width dd ?
height dd ?
data rb 1
ends
; in: eax - pack phys addr
; corrupt: edx
macro vbox_send_pack
{
mov dx, [vbox_device.port]
out dx, eax
}