Palacios Public Git Repository

To checkout Palacios execute

  git clone http://v3vee.org/palacios/palacios.web/palacios.git
This will give you the master branch. You probably want the devel branch or one of the release branches. To switch to the devel branch, simply execute
  cd palacios
  git checkout --track -b devel origin/devel
The other branches are similar.


split the vmm from the internal geekos
[palacios.git] / palacios / include / geekos / vmcs_gen.h
1 #ifndef vmcs_gen
2 #define vmcs_gen
3 #include <geekos/vmcs.h>
4 #include <geekos/vmm.h>
5
6 void    Set_VMCS_GUEST_ES_SELECTOR(uint_t val);
7 uint_t  Get_VMCS_GUEST_ES_SELECTOR();
8
9 void    PrintTrace_VMCS_GUEST_ES_SELECTOR();
10
11
12 void    Set_VMCS_GUEST_CS_SELECTOR(uint_t val);
13 uint_t  Get_VMCS_GUEST_CS_SELECTOR();
14
15 void    PrintTrace_VMCS_GUEST_CS_SELECTOR();
16
17
18 void    Set_VMCS_GUEST_SS_SELECTOR(uint_t val);
19 uint_t  Get_VMCS_GUEST_SS_SELECTOR();
20
21 void    PrintTrace_VMCS_GUEST_SS_SELECTOR();
22
23
24 void    Set_VMCS_GUEST_DS_SELECTOR(uint_t val);
25 uint_t  Get_VMCS_GUEST_DS_SELECTOR();
26
27 void    PrintTrace_VMCS_GUEST_DS_SELECTOR();
28
29
30 void    Set_VMCS_GUEST_FS_SELECTOR(uint_t val);
31 uint_t  Get_VMCS_GUEST_FS_SELECTOR();
32
33 void    PrintTrace_VMCS_GUEST_FS_SELECTOR();
34
35
36 void    Set_VMCS_GUEST_GS_SELECTOR(uint_t val);
37 uint_t  Get_VMCS_GUEST_GS_SELECTOR();
38
39 void    PrintTrace_VMCS_GUEST_GS_SELECTOR();
40
41
42 void    Set_VMCS_GUEST_LDTR_SELECTOR(uint_t val);
43 uint_t  Get_VMCS_GUEST_LDTR_SELECTOR();
44
45 void    PrintTrace_VMCS_GUEST_LDTR_SELECTOR();
46
47
48 void    Set_VMCS_GUEST_TR_SELECTOR(uint_t val);
49 uint_t  Get_VMCS_GUEST_TR_SELECTOR();
50
51 void    PrintTrace_VMCS_GUEST_TR_SELECTOR();
52
53
54 void    Set_VMCS_HOST_ES_SELECTOR(uint_t val);
55 uint_t  Get_VMCS_HOST_ES_SELECTOR();
56
57 void    PrintTrace_VMCS_HOST_ES_SELECTOR();
58
59
60 void    Set_VMCS_HOST_CS_SELECTOR(uint_t val);
61 uint_t  Get_VMCS_HOST_CS_SELECTOR();
62
63 void    PrintTrace_VMCS_HOST_CS_SELECTOR();
64
65
66 void    Set_VMCS_HOST_SS_SELECTOR(uint_t val);
67 uint_t  Get_VMCS_HOST_SS_SELECTOR();
68
69 void    PrintTrace_VMCS_HOST_SS_SELECTOR();
70
71
72 void    Set_VMCS_HOST_DS_SELECTOR(uint_t val);
73 uint_t  Get_VMCS_HOST_DS_SELECTOR();
74
75 void    PrintTrace_VMCS_HOST_DS_SELECTOR();
76
77
78 void    Set_VMCS_HOST_FS_SELECTOR(uint_t val);
79 uint_t  Get_VMCS_HOST_FS_SELECTOR();
80
81 void    PrintTrace_VMCS_HOST_FS_SELECTOR();
82
83
84 void    Set_VMCS_HOST_GS_SELECTOR(uint_t val);
85 uint_t  Get_VMCS_HOST_GS_SELECTOR();
86
87 void    PrintTrace_VMCS_HOST_GS_SELECTOR();
88
89
90 void    Set_VMCS_HOST_TR_SELECTOR(uint_t val);
91 uint_t  Get_VMCS_HOST_TR_SELECTOR();
92
93 void    PrintTrace_VMCS_HOST_TR_SELECTOR();
94
95
96 void    Set_IO_BITMAP_A_ADDR(uint_t val);
97 uint_t  Get_IO_BITMAP_A_ADDR();
98
99 void    PrintTrace_IO_BITMAP_A_ADDR();
100
101
102 void    Set_IO_BITMAP_A_ADDR_HIGH(uint_t val);
103 uint_t  Get_IO_BITMAP_A_ADDR_HIGH();
104
105 void    PrintTrace_IO_BITMAP_A_ADDR_HIGH();
106
107
108 void    Set_IO_BITMAP_B_ADDR(uint_t val);
109 uint_t  Get_IO_BITMAP_B_ADDR();
110
111 void    PrintTrace_IO_BITMAP_B_ADDR();
112
113
114 void    Set_IO_BITMAP_B_ADDR_HIGH(uint_t val);
115 uint_t  Get_IO_BITMAP_B_ADDR_HIGH();
116
117 void    PrintTrace_IO_BITMAP_B_ADDR_HIGH();
118
119
120 void    Set_MSR_BITMAPS(uint_t val);
121 uint_t  Get_MSR_BITMAPS();
122
123 void    PrintTrace_MSR_BITMAPS();
124
125
126 void    Set_MSR_BITMAPS_HIGH(uint_t val);
127 uint_t  Get_MSR_BITMAPS_HIGH();
128
129 void    PrintTrace_MSR_BITMAPS_HIGH();
130
131
132 void    Set_VM_EXIT_MSR_STORE_ADDR(uint_t val);
133 uint_t  Get_VM_EXIT_MSR_STORE_ADDR();
134
135 void    PrintTrace_VM_EXIT_MSR_STORE_ADDR();
136
137
138 void    Set_VM_EXIT_MSR_STORE_ADDR_HIGH(uint_t val);
139 uint_t  Get_VM_EXIT_MSR_STORE_ADDR_HIGH();
140
141 void    PrintTrace_VM_EXIT_MSR_STORE_ADDR_HIGH();
142
143
144 void    Set_VM_EXIT_MSR_LOAD_ADDR(uint_t val);
145 uint_t  Get_VM_EXIT_MSR_LOAD_ADDR();
146
147 void    PrintTrace_VM_EXIT_MSR_LOAD_ADDR();
148
149
150 void    Set_VM_EXIT_MSR_LOAD_ADDR_HIGH(uint_t val);
151 uint_t  Get_VM_EXIT_MSR_LOAD_ADDR_HIGH();
152
153 void    PrintTrace_VM_EXIT_MSR_LOAD_ADDR_HIGH();
154
155
156 void    Set_VM_ENTRY_MSR_LOAD_ADDR(uint_t val);
157 uint_t  Get_VM_ENTRY_MSR_LOAD_ADDR();
158
159 void    PrintTrace_VM_ENTRY_MSR_LOAD_ADDR();
160
161
162 void    Set_VM_ENTRY_MSR_LOAD_ADDR_HIGH(uint_t val);
163 uint_t  Get_VM_ENTRY_MSR_LOAD_ADDR_HIGH();
164
165 void    PrintTrace_VM_ENTRY_MSR_LOAD_ADDR_HIGH();
166
167
168 void    Set_VMCS_EXEC_PTR(uint_t val);
169 uint_t  Get_VMCS_EXEC_PTR();
170
171 void    PrintTrace_VMCS_EXEC_PTR();
172
173
174 void    Set_VMCS_EXEC_PTR_HIGH(uint_t val);
175 uint_t  Get_VMCS_EXEC_PTR_HIGH();
176
177 void    PrintTrace_VMCS_EXEC_PTR_HIGH();
178
179
180 void    Set_TSC_OFFSET(uint_t val);
181 uint_t  Get_TSC_OFFSET();
182
183 void    PrintTrace_TSC_OFFSET();
184
185
186 void    Set_TSC_OFFSET_HIGH(uint_t val);
187 uint_t  Get_TSC_OFFSET_HIGH();
188
189 void    PrintTrace_TSC_OFFSET_HIGH();
190
191
192 void    Set_VIRT_APIC_PAGE_ADDR(uint_t val);
193 uint_t  Get_VIRT_APIC_PAGE_ADDR();
194
195 void    PrintTrace_VIRT_APIC_PAGE_ADDR();
196
197
198 void    Set_VIRT_APIC_PAGE_ADDR_HIGH(uint_t val);
199 uint_t  Get_VIRT_APIC_PAGE_ADDR_HIGH();
200
201 void    PrintTrace_VIRT_APIC_PAGE_ADDR_HIGH();
202
203
204 void    Set_VMCS_LINK_PTR(uint_t val);
205 uint_t  Get_VMCS_LINK_PTR();
206
207 void    PrintTrace_VMCS_LINK_PTR();
208
209
210 void    Set_VMCS_LINK_PTR_HIGH(uint_t val);
211 uint_t  Get_VMCS_LINK_PTR_HIGH();
212
213 void    PrintTrace_VMCS_LINK_PTR_HIGH();
214
215
216 void    Set_GUEST_IA32_DEBUGCTL(uint_t val);
217 uint_t  Get_GUEST_IA32_DEBUGCTL();
218
219 void    PrintTrace_GUEST_IA32_DEBUGCTL();
220
221
222 void    Set_GUEST_IA32_DEBUGCTL_HIGH(uint_t val);
223 uint_t  Get_GUEST_IA32_DEBUGCTL_HIGH();
224
225 void    PrintTrace_GUEST_IA32_DEBUGCTL_HIGH();
226
227
228 void    Set_PIN_VM_EXEC_CTRLS(uint_t val);
229 uint_t  Get_PIN_VM_EXEC_CTRLS();
230
231 void    PrintTrace_PIN_VM_EXEC_CTRLS();
232
233
234 void    Set_PROC_VM_EXEC_CTRLS(uint_t val);
235 uint_t  Get_PROC_VM_EXEC_CTRLS();
236
237 void    PrintTrace_PROC_VM_EXEC_CTRLS();
238
239
240 void    Set_EXCEPTION_BITMAP(uint_t val);
241 uint_t  Get_EXCEPTION_BITMAP();
242
243 void    PrintTrace_EXCEPTION_BITMAP();
244
245
246 void    Set_PAGE_FAULT_ERROR_MASK(uint_t val);
247 uint_t  Get_PAGE_FAULT_ERROR_MASK();
248
249 void    PrintTrace_PAGE_FAULT_ERROR_MASK();
250
251
252 void    Set_PAGE_FAULT_ERROR_MATCH(uint_t val);
253 uint_t  Get_PAGE_FAULT_ERROR_MATCH();
254
255 void    PrintTrace_PAGE_FAULT_ERROR_MATCH();
256
257
258 void    Set_CR3_TARGET_COUNT(uint_t val);
259 uint_t  Get_CR3_TARGET_COUNT();
260
261 void    PrintTrace_CR3_TARGET_COUNT();
262
263
264 void    Set_VM_EXIT_CTRLS(uint_t val);
265 uint_t  Get_VM_EXIT_CTRLS();
266
267 void    PrintTrace_VM_EXIT_CTRLS();
268
269
270 void    Set_VM_EXIT_MSR_STORE_COUNT(uint_t val);
271 uint_t  Get_VM_EXIT_MSR_STORE_COUNT();
272
273 void    PrintTrace_VM_EXIT_MSR_STORE_COUNT();
274
275
276 void    Set_VM_EXIT_MSR_LOAD_COUNT(uint_t val);
277 uint_t  Get_VM_EXIT_MSR_LOAD_COUNT();
278
279 void    PrintTrace_VM_EXIT_MSR_LOAD_COUNT();
280
281
282 void    Set_VM_ENTRY_CTRLS(uint_t val);
283 uint_t  Get_VM_ENTRY_CTRLS();
284
285 void    PrintTrace_VM_ENTRY_CTRLS();
286
287
288 void    Set_VM_ENTRY_MSR_LOAD_COUNT(uint_t val);
289 uint_t  Get_VM_ENTRY_MSR_LOAD_COUNT();
290
291 void    PrintTrace_VM_ENTRY_MSR_LOAD_COUNT();
292
293
294 void    Set_VM_ENTRY_INT_INFO_FIELD(uint_t val);
295 uint_t  Get_VM_ENTRY_INT_INFO_FIELD();
296
297 void    PrintTrace_VM_ENTRY_INT_INFO_FIELD();
298
299
300 void    Set_VM_ENTRY_EXCEPTION_ERROR(uint_t val);
301 uint_t  Get_VM_ENTRY_EXCEPTION_ERROR();
302
303 void    PrintTrace_VM_ENTRY_EXCEPTION_ERROR();
304
305
306 void    Set_VM_ENTRY_INSTR_LENGTH(uint_t val);
307 uint_t  Get_VM_ENTRY_INSTR_LENGTH();
308
309 void    PrintTrace_VM_ENTRY_INSTR_LENGTH();
310
311
312 void    Set_TPR_THRESHOLD(uint_t val);
313 uint_t  Get_TPR_THRESHOLD();
314
315 void    PrintTrace_TPR_THRESHOLD();
316
317
318 void    Set_VM_INSTR_ERROR(uint_t val);
319 uint_t  Get_VM_INSTR_ERROR();
320
321 void    PrintTrace_VM_INSTR_ERROR();
322
323
324 void    Set_EXIT_REASON(uint_t val);
325 uint_t  Get_EXIT_REASON();
326
327 void    PrintTrace_EXIT_REASON();
328
329
330 void    Set_VM_EXIT_INT_INFO(uint_t val);
331 uint_t  Get_VM_EXIT_INT_INFO();
332
333 void    PrintTrace_VM_EXIT_INT_INFO();
334
335
336 void    Set_VM_EXIT_INT_ERROR(uint_t val);
337 uint_t  Get_VM_EXIT_INT_ERROR();
338
339 void    PrintTrace_VM_EXIT_INT_ERROR();
340
341
342 void    Set_IDT_VECTOR_INFO(uint_t val);
343 uint_t  Get_IDT_VECTOR_INFO();
344
345 void    PrintTrace_IDT_VECTOR_INFO();
346
347
348 void    Set_IDT_VECTOR_ERROR(uint_t val);
349 uint_t  Get_IDT_VECTOR_ERROR();
350
351 void    PrintTrace_IDT_VECTOR_ERROR();
352
353
354 void    Set_VM_EXIT_INSTR_LENGTH(uint_t val);
355 uint_t  Get_VM_EXIT_INSTR_LENGTH();
356
357 void    PrintTrace_VM_EXIT_INSTR_LENGTH();
358
359
360 void    Set_VMX_INSTR_INFO(uint_t val);
361 uint_t  Get_VMX_INSTR_INFO();
362
363 void    PrintTrace_VMX_INSTR_INFO();
364
365
366 void    Set_GUEST_ES_LIMIT(uint_t val);
367 uint_t  Get_GUEST_ES_LIMIT();
368
369 void    PrintTrace_GUEST_ES_LIMIT();
370
371
372 void    Set_GUEST_CS_LIMIT(uint_t val);
373 uint_t  Get_GUEST_CS_LIMIT();
374
375 void    PrintTrace_GUEST_CS_LIMIT();
376
377
378 void    Set_GUEST_SS_LIMIT(uint_t val);
379 uint_t  Get_GUEST_SS_LIMIT();
380
381 void    PrintTrace_GUEST_SS_LIMIT();
382
383
384 void    Set_GUEST_DS_LIMIT(uint_t val);
385 uint_t  Get_GUEST_DS_LIMIT();
386
387 void    PrintTrace_GUEST_DS_LIMIT();
388
389
390 void    Set_GUEST_FS_LIMIT(uint_t val);
391 uint_t  Get_GUEST_FS_LIMIT();
392
393 void    PrintTrace_GUEST_FS_LIMIT();
394
395
396 void    Set_GUEST_GS_LIMIT(uint_t val);
397 uint_t  Get_GUEST_GS_LIMIT();
398
399 void    PrintTrace_GUEST_GS_LIMIT();
400
401
402 void    Set_GUEST_LDTR_LIMIT(uint_t val);
403 uint_t  Get_GUEST_LDTR_LIMIT();
404
405 void    PrintTrace_GUEST_LDTR_LIMIT();
406
407
408 void    Set_GUEST_TR_LIMIT(uint_t val);
409 uint_t  Get_GUEST_TR_LIMIT();
410
411 void    PrintTrace_GUEST_TR_LIMIT();
412
413
414 void    Set_GUEST_GDTR_LIMIT(uint_t val);
415 uint_t  Get_GUEST_GDTR_LIMIT();
416
417 void    PrintTrace_GUEST_GDTR_LIMIT();
418
419
420 void    Set_GUEST_IDTR_LIMIT(uint_t val);
421 uint_t  Get_GUEST_IDTR_LIMIT();
422
423 void    PrintTrace_GUEST_IDTR_LIMIT();
424
425
426 void    Set_GUEST_ES_ACCESS(uint_t val);
427 uint_t  Get_GUEST_ES_ACCESS();
428
429 void    PrintTrace_GUEST_ES_ACCESS();
430
431
432 void    Set_GUEST_CS_ACCESS(uint_t val);
433 uint_t  Get_GUEST_CS_ACCESS();
434
435 void    PrintTrace_GUEST_CS_ACCESS();
436
437
438 void    Set_GUEST_SS_ACCESS(uint_t val);
439 uint_t  Get_GUEST_SS_ACCESS();
440
441 void    PrintTrace_GUEST_SS_ACCESS();
442
443
444 void    Set_GUEST_DS_ACCESS(uint_t val);
445 uint_t  Get_GUEST_DS_ACCESS();
446
447 void    PrintTrace_GUEST_DS_ACCESS();
448
449
450 void    Set_GUEST_FS_ACCESS(uint_t val);
451 uint_t  Get_GUEST_FS_ACCESS();
452
453 void    PrintTrace_GUEST_FS_ACCESS();
454
455
456 void    Set_GUEST_GS_ACCESS(uint_t val);
457 uint_t  Get_GUEST_GS_ACCESS();
458
459 void    PrintTrace_GUEST_GS_ACCESS();
460
461
462 void    Set_GUEST_LDTR_ACCESS(uint_t val);
463 uint_t  Get_GUEST_LDTR_ACCESS();
464
465 void    PrintTrace_GUEST_LDTR_ACCESS();
466
467
468 void    Set_GUEST_TR_ACCESS(uint_t val);
469 uint_t  Get_GUEST_TR_ACCESS();
470
471 void    PrintTrace_GUEST_TR_ACCESS();
472
473
474 void    Set_GUEST_INT_STATE(uint_t val);
475 uint_t  Get_GUEST_INT_STATE();
476
477 void    PrintTrace_GUEST_INT_STATE();
478
479
480 void    Set_GUEST_ACTIVITY_STATE(uint_t val);
481 uint_t  Get_GUEST_ACTIVITY_STATE();
482
483 void    PrintTrace_GUEST_ACTIVITY_STATE();
484
485
486 void    Set_GUEST_SMBASE(uint_t val);
487 uint_t  Get_GUEST_SMBASE();
488
489 void    PrintTrace_GUEST_SMBASE();
490
491
492 void    Set_GUEST_IA32_SYSENTER_CS(uint_t val);
493 uint_t  Get_GUEST_IA32_SYSENTER_CS();
494
495 void    PrintTrace_GUEST_IA32_SYSENTER_CS();
496
497
498 void    Set_HOST_IA32_SYSENTER_CS(uint_t val);
499 uint_t  Get_HOST_IA32_SYSENTER_CS();
500
501 void    PrintTrace_HOST_IA32_SYSENTER_CS();
502
503
504 void    Set_CR0_GUEST_HOST_MASK(uint_t val);
505 uint_t  Get_CR0_GUEST_HOST_MASK();
506
507 void    PrintTrace_CR0_GUEST_HOST_MASK();
508
509
510 void    Set_CR4_GUEST_HOST_MASK(uint_t val);
511 uint_t  Get_CR4_GUEST_HOST_MASK();
512
513 void    PrintTrace_CR4_GUEST_HOST_MASK();
514
515
516 void    Set_CR0_READ_SHADOW(uint_t val);
517 uint_t  Get_CR0_READ_SHADOW();
518
519 void    PrintTrace_CR0_READ_SHADOW();
520
521
522 void    Set_CR4_READ_SHADOW(uint_t val);
523 uint_t  Get_CR4_READ_SHADOW();
524
525 void    PrintTrace_CR4_READ_SHADOW();
526
527
528 void    Set_CR3_TARGET_VALUE_0(uint_t val);
529 uint_t  Get_CR3_TARGET_VALUE_0();
530
531 void    PrintTrace_CR3_TARGET_VALUE_0();
532
533
534 void    Set_CR3_TARGET_VALUE_1(uint_t val);
535 uint_t  Get_CR3_TARGET_VALUE_1();
536
537 void    PrintTrace_CR3_TARGET_VALUE_1();
538
539
540 void    Set_CR3_TARGET_VALUE_2(uint_t val);
541 uint_t  Get_CR3_TARGET_VALUE_2();
542
543 void    PrintTrace_CR3_TARGET_VALUE_2();
544
545
546 void    Set_CR3_TARGET_VALUE_3(uint_t val);
547 uint_t  Get_CR3_TARGET_VALUE_3();
548
549 void    PrintTrace_CR3_TARGET_VALUE_3();
550
551
552 void    Set_EXIT_QUALIFICATION(uint_t val);
553 uint_t  Get_EXIT_QUALIFICATION();
554
555 void    PrintTrace_EXIT_QUALIFICATION();
556
557
558 void    Set_IO_RCX(uint_t val);
559 uint_t  Get_IO_RCX();
560
561 void    PrintTrace_IO_RCX();
562
563
564 void    Set_IO_RSI(uint_t val);
565 uint_t  Get_IO_RSI();
566
567 void    PrintTrace_IO_RSI();
568
569
570 void    Set_IO_RDI(uint_t val);
571 uint_t  Get_IO_RDI();
572
573 void    PrintTrace_IO_RDI();
574
575
576 void    Set_IO_RIP(uint_t val);
577 uint_t  Get_IO_RIP();
578
579 void    PrintTrace_IO_RIP();
580
581
582 void    Set_GUEST_LINEAR_ADDR(uint_t val);
583 uint_t  Get_GUEST_LINEAR_ADDR();
584
585 void    PrintTrace_GUEST_LINEAR_ADDR();
586
587
588 void    Set_GUEST_CR0(uint_t val);
589 uint_t  Get_GUEST_CR0();
590
591 void    PrintTrace_GUEST_CR0();
592
593
594 void    Set_GUEST_CR3(uint_t val);
595 uint_t  Get_GUEST_CR3();
596
597 void    PrintTrace_GUEST_CR3();
598
599
600 void    Set_GUEST_CR4(uint_t val);
601 uint_t  Get_GUEST_CR4();
602
603 void    PrintTrace_GUEST_CR4();
604
605
606 void    Set_GUEST_ES_BASE(uint_t val);
607 uint_t  Get_GUEST_ES_BASE();
608
609 void    PrintTrace_GUEST_ES_BASE();
610
611
612 void    Set_GUEST_CS_BASE(uint_t val);
613 uint_t  Get_GUEST_CS_BASE();
614
615 void    PrintTrace_GUEST_CS_BASE();
616
617
618 void    Set_GUEST_SS_BASE(uint_t val);
619 uint_t  Get_GUEST_SS_BASE();
620
621 void    PrintTrace_GUEST_SS_BASE();
622
623
624 void    Set_GUEST_DS_BASE(uint_t val);
625 uint_t  Get_GUEST_DS_BASE();
626
627 void    PrintTrace_GUEST_DS_BASE();
628
629
630 void    Set_GUEST_FS_BASE(uint_t val);
631 uint_t  Get_GUEST_FS_BASE();
632
633 void    PrintTrace_GUEST_FS_BASE();
634
635
636 void    Set_GUEST_GS_BASE(uint_t val);
637 uint_t  Get_GUEST_GS_BASE();
638
639 void    PrintTrace_GUEST_GS_BASE();
640
641
642 void    Set_GUEST_LDTR_BASE(uint_t val);
643 uint_t  Get_GUEST_LDTR_BASE();
644
645 void    PrintTrace_GUEST_LDTR_BASE();
646
647
648 void    Set_GUEST_TR_BASE(uint_t val);
649 uint_t  Get_GUEST_TR_BASE();
650
651 void    PrintTrace_GUEST_TR_BASE();
652
653
654 void    Set_GUEST_GDTR_BASE(uint_t val);
655 uint_t  Get_GUEST_GDTR_BASE();
656
657 void    PrintTrace_GUEST_GDTR_BASE();
658
659
660 void    Set_GUEST_IDTR_BASE(uint_t val);
661 uint_t  Get_GUEST_IDTR_BASE();
662
663 void    PrintTrace_GUEST_IDTR_BASE();
664
665
666 void    Set_GUEST_DR7(uint_t val);
667 uint_t  Get_GUEST_DR7();
668
669 void    PrintTrace_GUEST_DR7();
670
671
672 void    Set_GUEST_RSP(uint_t val);
673 uint_t  Get_GUEST_RSP();
674
675 void    PrintTrace_GUEST_RSP();
676
677
678 void    Set_GUEST_RIP(uint_t val);
679 uint_t  Get_GUEST_RIP();
680
681 void    PrintTrace_GUEST_RIP();
682
683
684 void    Set_GUEST_RFLAGS(uint_t val);
685 uint_t  Get_GUEST_RFLAGS();
686
687 void    PrintTrace_GUEST_RFLAGS();
688
689
690 void    Set_GUEST_PENDING_DEBUG_EXCS(uint_t val);
691 uint_t  Get_GUEST_PENDING_DEBUG_EXCS();
692
693 void    PrintTrace_GUEST_PENDING_DEBUG_EXCS();
694
695
696 void    Set_GUEST_IA32_SYSENTER_ESP(uint_t val);
697 uint_t  Get_GUEST_IA32_SYSENTER_ESP();
698
699 void    PrintTrace_GUEST_IA32_SYSENTER_ESP();
700
701
702 void    Set_GUEST_IA32_SYSENTER_EIP(uint_t val);
703 uint_t  Get_GUEST_IA32_SYSENTER_EIP();
704
705 void    PrintTrace_GUEST_IA32_SYSENTER_EIP();
706
707
708 void    Set_HOST_CR0(uint_t val);
709 uint_t  Get_HOST_CR0();
710
711 void    PrintTrace_HOST_CR0();
712
713
714 void    Set_HOST_CR3(uint_t val);
715 uint_t  Get_HOST_CR3();
716
717 void    PrintTrace_HOST_CR3();
718
719
720 void    Set_HOST_CR4(uint_t val);
721 uint_t  Get_HOST_CR4();
722
723 void    PrintTrace_HOST_CR4();
724
725
726 void    Set_HOST_FS_BASE(uint_t val);
727 uint_t  Get_HOST_FS_BASE();
728
729 void    PrintTrace_HOST_FS_BASE();
730
731
732 void    Set_HOST_GS_BASE(uint_t val);
733 uint_t  Get_HOST_GS_BASE();
734
735 void    PrintTrace_HOST_GS_BASE();
736
737
738 void    Set_HOST_TR_BASE(uint_t val);
739 uint_t  Get_HOST_TR_BASE();
740
741 void    PrintTrace_HOST_TR_BASE();
742
743
744 void    Set_HOST_GDTR_BASE(uint_t val);
745 uint_t  Get_HOST_GDTR_BASE();
746
747 void    PrintTrace_HOST_GDTR_BASE();
748
749
750 void    Set_HOST_IDTR_BASE(uint_t val);
751 uint_t  Get_HOST_IDTR_BASE();
752
753 void    PrintTrace_HOST_IDTR_BASE();
754
755
756 void    Set_HOST_IA32_SYSENTER_ESP(uint_t val);
757 uint_t  Get_HOST_IA32_SYSENTER_ESP();
758
759 void    PrintTrace_HOST_IA32_SYSENTER_ESP();
760
761
762 void    Set_HOST_IA32_SYSENTER_EIP(uint_t val);
763 uint_t  Get_HOST_IA32_SYSENTER_EIP();
764
765 void    PrintTrace_HOST_IA32_SYSENTER_EIP();
766
767
768 void    Set_HOST_RSP(uint_t val);
769 uint_t  Get_HOST_RSP();
770
771 void    PrintTrace_HOST_RSP();
772
773
774 void    Set_HOST_RIP(uint_t val);
775 uint_t  Get_HOST_RIP();
776
777 void    PrintTrace_HOST_RIP();
778
779 void PrintTrace_VMCS_ALL();
780 #endif