Skip to content

Commit 485b7f2

Browse files
authored
Merge pull request #77 from jaysongiroux/amd_VMCB_PR
Amd vmcb
2 parents 52266a6 + b1f5b68 commit 485b7f2

31 files changed

+1564
-17
lines changed

data/amd/register/vmcb/000h.yml

Lines changed: 17 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
long_name: "000h (vector 0)"
33
purpose: |
44
"
5-
Intercept reads of CR0–15, respectively
5+
000h
66
"
77
size: 32
88
arch: amd64
@@ -17,21 +17,21 @@
1717
component: vmcb
1818

1919
fieldsets:
20-
name: latest
21-
condition: "Fieldset valid on latest version of the AMD architecture"
22-
size: 32
20+
- name: latest
21+
condition: "Fieldset valid on latest version of the AMD architecture"
22+
size: 32
2323

24-
fields:
25-
- name: "Bits 15_0"
26-
long_name: "Intercept reads of CR0–15, respectively"
27-
lsb: 0
28-
msb: 15
29-
readable: True
30-
writable: True
24+
fields:
25+
- name: "Bits 15_0"
26+
long_name: "Intercept reads of CR0–15, respectively"
27+
lsb: 0
28+
msb: 15
29+
readable: True
30+
writable: True
3131

32-
- name: "Bits 31_16"
33-
long_name: "Intercept writes of CR0–15, respectively"
34-
lsb: 16
35-
msb: 31
36-
readable: True
37-
writable: True
32+
- name: "Bits 31_16"
33+
long_name: "Intercept writes of CR0–15, respectively"
34+
lsb: 16
35+
msb: 31
36+
readable: True
37+
writable: True

data/amd/register/vmcb/004h.yml

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
- name: 004h
2+
long_name: "004h (vector 1)"
3+
purpose: |
4+
"
5+
004h
6+
"
7+
size: 32
8+
arch: amd64
9+
10+
access_mechanisms:
11+
- name: read
12+
offset: 0x004
13+
component: vmcb
14+
15+
- name: write
16+
offset: 0x004
17+
component: vmcb
18+
19+
fieldsets:
20+
- name: latest
21+
condition: "Fieldset valid on latest version of the AMD architecture"
22+
size: 32
23+
24+
fields:
25+
- name: "Bits 15_0"
26+
long_name: "Intercept reads of DR0–15, respectively"
27+
lsb: 0
28+
msb: 15
29+
readable: True
30+
writable: True
31+
32+
- name: "Bits 31_16"
33+
long_name: "Intercept writes of DR0–15, respectively"
34+
lsb: 16
35+
msb: 31
36+
readable: True
37+
writable: True

data/amd/register/vmcb/008h.yml

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
- name: 008h
2+
long_name: "008h (vector 2)"
3+
purpose: |
4+
"
5+
008h
6+
7+
Intercept exception vectors 0–31, respectively.
8+
"
9+
size: 32
10+
arch: amd64
11+
12+
access_mechanisms:
13+
- name: read
14+
offset: 0x008
15+
component: vmcb
16+
17+
- name: write
18+
offset: 0x008
19+
component: vmcb
20+
21+
fieldsets:
22+
- name: latest
23+
condition: "Fieldset valid on latest version of the AMD architecture"
24+
size: 32
25+
26+
fields:
27+
- name: "Bits 31_0"
28+
long_name: "Intercept exception vectors 0–31, respectively."
29+
lsb: 0
30+
msb: 31
31+
readable: True
32+
writable: True

data/amd/register/vmcb/00Ch.yml

Lines changed: 249 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,249 @@
1+
- name: 00Ch
2+
long_name: "00Ch (vector 3)"
3+
purpose: |
4+
"
5+
00Ch (vector 3)
6+
"
7+
size: 32
8+
arch: amd64
9+
10+
access_mechanisms:
11+
- name: read
12+
offset: 0x00C
13+
component: vmcb
14+
15+
- name: write
16+
offset: 0x00C
17+
component: vmcb
18+
19+
fieldsets:
20+
- name: latest
21+
condition: "Fieldset valid on latest version of the AMD architecture"
22+
size: 32
23+
24+
fields:
25+
- name: "Bits 0"
26+
long_name: "Intercept INTR (physical maskable interrupt)."
27+
lsb: 0
28+
msb: 0
29+
readable: True
30+
writable: True
31+
32+
- name: "Bits 1"
33+
long_name: "Intercept NMI."
34+
lsb: 1
35+
msb: 1
36+
readable: True
37+
writable: True
38+
39+
- name: "Bits 2"
40+
long_name: "Intercept SMI."
41+
lsb: 2
42+
msb: 2
43+
readable: True
44+
writable: True
45+
46+
- name: "Bits 3"
47+
long_name: "Intercept INIT."
48+
lsb: 3
49+
msb: 3
50+
readable: True
51+
writable: True
52+
53+
- name: "Bits 4"
54+
long_name: "Intercept VINTR (virtual maskable interrupt)."
55+
lsb: 4
56+
msb: 4
57+
readable: True
58+
writable:
59+
60+
- name: "Bits 5"
61+
long_name: "Intercept CR0 writes that change bits other than CR0.TS or CR0.MP."
62+
lsb: 5
63+
msb: 5
64+
readable: True
65+
writable: True
66+
67+
- name: "Bits 6"
68+
long_name: "Intercept reads of IDTR."
69+
lsb: 6
70+
msb: 6
71+
readable: True
72+
writable: True
73+
74+
- name: "Bits 7"
75+
long_name: "Intercept reads of GDTR."
76+
lsb: 7
77+
msb: 7
78+
readable: True
79+
writable: True
80+
81+
- name: "Bits 8"
82+
long_name: "Intercept reads of LDTR."
83+
lsb: 8
84+
msb: 8
85+
readable: True
86+
writable: True
87+
88+
- name: "Bits 9"
89+
long_name: "Intercept reads of TR"
90+
lsb: 9
91+
msb: 9
92+
readable: True
93+
writable: True
94+
95+
- name: "Bits 10"
96+
long_name: "Intercept writes of IDTR."
97+
lsb: 10
98+
msb: 10
99+
readable: True
100+
writable: True
101+
102+
- name: "Bits 11"
103+
long_name: "Intercept writes of GDTR."
104+
lsb: 11
105+
msb: 11
106+
readable: True
107+
writable: True
108+
109+
- name: "Bits 12"
110+
long_name: "Intercept writes of LDTR."
111+
lsb: 12
112+
msb: 12
113+
readable: True
114+
writable: True
115+
116+
- name: "Bits 13"
117+
long_name: "Intercept writes of TR."
118+
lsb: 13
119+
msb: 13
120+
readable: True
121+
writable: True
122+
123+
- name: "Bits 14"
124+
long_name: "Intercept RDTSC instruction."
125+
lsb: 14
126+
msb: 14
127+
readable: True
128+
writable: True
129+
130+
- name: "Bits 15"
131+
long_name: "Intercept RDPMC instruction."
132+
lsb: 15
133+
msb: 15
134+
readable: True
135+
writable: True
136+
137+
- name: "Bits 16"
138+
long_name: "Intercept PUSHF instruction."
139+
lsb: 16
140+
msb: 16
141+
readable: True
142+
writable: True
143+
144+
- name: "Bits 17"
145+
long_name: "Intercept POPF instruction"
146+
lsb: 17
147+
msb: 17
148+
readable: True
149+
writable: True
150+
151+
- name: "Bits 18"
152+
long_name: "Intercept CPUID instruction."
153+
lsb: 18
154+
msb: 18
155+
readable: True
156+
writable: True
157+
158+
- name: "Bits 19"
159+
long_name: "Intercept RSM instruction."
160+
lsb: 19
161+
msb: 19
162+
readable: True
163+
writable: True
164+
165+
- name: "Bits 20"
166+
long_name: "Intercept IRET instruction."
167+
lsb: 20
168+
msb: 20
169+
readable: True
170+
writable: True
171+
172+
- name: "Bits 21"
173+
long_name: "Intercept INTn instruction."
174+
lsb: 21
175+
msb: 21
176+
readable: True
177+
writable: True
178+
179+
- name: "Bits 22"
180+
long_name: "Intercept INVD instruction."
181+
lsb: 22
182+
msb: 22
183+
readable: True
184+
writable: True
185+
186+
- name: "Bits 23"
187+
long_name: "Intercept PAUSE instruction."
188+
lsb: 23
189+
msb: 23
190+
readable: True
191+
writable: True
192+
193+
- name: "Bits 24"
194+
long_name: "Intercept HLT instruction."
195+
lsb: 24
196+
msb: 24
197+
readable: True
198+
writable: True
199+
200+
- name: "Bits 25"
201+
long_name: "Intercept INVLPG instruction."
202+
lsb: 25
203+
msb: 25
204+
readable: True
205+
writable: True
206+
207+
- name: "Bits 26"
208+
long_name: "Intercept INVLPGA instruction."
209+
lsb: 26
210+
msb: 26
211+
readable: True
212+
writable: True
213+
214+
- name: "Bits 27"
215+
long_name: "IOIO_PROT—Intercept IN/OUT accesses to selected ports."
216+
lsb: 27
217+
msb: 27
218+
readable: True
219+
writable: True
220+
221+
- name: "Bits 28"
222+
long_name: "MSR_PROT—intercept RDMSR or WRMSR accesses to selected MSRs."
223+
lsb: 28
224+
msb: 28
225+
readable: True
226+
writable: True
227+
228+
- name: "Bits 29"
229+
long_name: "Intercept task switches."
230+
lsb: 29
231+
msb: 29
232+
readable: True
233+
writable: True
234+
235+
- name: "Bits 30"
236+
long_name: "FERR_FREEZE: intercept processor “freezing” during legacy FERR handling."
237+
lsb: 30
238+
msb: 30
239+
readable: True
240+
writable: True
241+
242+
- name: "Bits 31"
243+
long_name: "Intercept shutdown events."
244+
lsb: 31
245+
msb: 31
246+
readable: True
247+
writable: True
248+
249+

0 commit comments

Comments
 (0)