Warning, cross-references for /kernel/include/vm/vmx-defs.h need to be fixed.
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017
0018 #ifndef _VMX_DEFS_H_
0019 #define _VMX_DEFS_H_
0020
0021
0022
0023
0024
0025 #define VMXENC_VPID 0x00000000
0026
0027
0028
0029 #define VMXENC_GUEST_ES_SEL 0x00000800
0030 #define VMXENC_GUEST_CS_SEL 0x00000802
0031 #define VMXENC_GUEST_SS_SEL 0x00000804
0032 #define VMXENC_GUEST_DS_SEL 0x00000806
0033 #define VMXENC_GUEST_FS_SEL 0x00000808
0034 #define VMXENC_GUEST_GS_SEL 0x0000080A
0035 #define VMXENC_GUEST_LDTR_SEL 0x0000080C
0036 #define VMXENC_GUEST_TR_SEL 0x0000080E
0037
0038
0039
0040 #define VMXENC_HOST_ES_SEL 0x00000C00
0041 #define VMXENC_HOST_CS_SEL 0x00000C02
0042 #define VMXENC_HOST_SS_SEL 0x00000C04
0043 #define VMXENC_HOST_DS_SEL 0x00000C06
0044 #define VMXENC_HOST_FS_SEL 0x00000C08
0045 #define VMXENC_HOST_GS_SEL 0x00000C0A
0046 #define VMXENC_HOST_TR_SEL 0x00000C0C
0047
0048
0049
0050
0051
0052 #define VMXENC_IO_BITMAP_A 0x00002000
0053
0054
0055 #define VMXENC_IO_BITMAP_A_HI 0x00002001
0056
0057
0058 #define VMXENC_IO_BITMAP_B 0x00002002
0059
0060
0061 #define VMXENC_IO_BITMAP_B_HI 0x00002003
0062
0063
0064 #define VMXENC_MSR_BITMAPS 0x00002004
0065
0066
0067 #define VMXENC_MSR_BITMAPS_HI 0x00002005
0068
0069
0070 #define VMXENC_VM_EXIT_MSR_STORE_ADDR 0x00002006
0071
0072
0073 #define VMXENC_VM_EXIT_MSR_STORE_ADDR_HI 0x00002007
0074
0075
0076 #define VMXENC_VM_EXIT_MSR_LOAD_ADDR 0x00002008
0077
0078
0079 #define VMXENC_VM_EXIT_MSR_LOAD_ADDR_HI 0x00002009
0080
0081
0082 #define VMXENC_VM_ENTRY_MSR_LOAD_ADDR 0x0000200A
0083
0084
0085 #define VMXENC_VM_ENTRY_MSR_LOAD_ADDR_HI 0x0000200B
0086
0087
0088 #define VMXENC_EXECUTIVE_VMCS_PTR 0x0000200C
0089
0090
0091 #define VMXENC_EXECUTIVE_VMCS_PTR_HI 0x0000200D
0092
0093
0094 #define VMXENC_TSC_OFFSET 0x00002010
0095
0096
0097 #define VMXENC_TSC_OFFSET_HI 0x00002011
0098
0099
0100 #define VMXENC_VIRTUAL_APIC_ADDR 0x00002012
0101
0102
0103 #define VMXENC_VIRTUAL_APIC_ADDR_HI 0x00002013
0104
0105
0106 #define VMXENC_APIC_ACCESS_ADDR 0x00002014
0107
0108
0109 #define VMXENC_APIC_ACCESS_ADDR_HI 0x00002015
0110
0111
0112 #define VMXENC_EPT_PTR 0x0000201A
0113
0114
0115 #define VMXENC_EPT_PTR_HI 0x0000201B
0116
0117
0118
0119 #define VMXENC_GUEST_PHYS_ADDR 0x00002400
0120 #define VMXENC_GUEST_PHYS_ADDR_HI 0x00002401
0121
0122
0123
0124
0125
0126 #define VMXENC_VMCS_LINK_PTR 0x00002800
0127
0128
0129 #define VMXENC_VMCS_LINK_PTR_HI 0x00002801
0130
0131
0132 #define VMXENC_GUEST_IA32_DEBUGCTL 0x00002802
0133
0134
0135 #define VMXENC_GUEST_IA32_DEBUGCTL_HI 0x00002803
0136
0137
0138 #define VMXENC_GUEST_IA32_PAT 0x00002804
0139
0140
0141 #define VMXENC_GUEST_IA32_PAT_HI 0x00002805
0142
0143
0144 #define VMXENC_GUEST_IA32_EFER 0x00002806
0145
0146
0147 #define VMXENC_GUEST_IA32_EFER_HI 0x00002807
0148
0149
0150 #define VMXENC_GUEST_IA32_GLOBAL_CTRL 0x00002808
0151
0152
0153 #define VMXENC_GUEST_IA32_GLOBAL_CTRL_HI 0x00002809
0154
0155
0156 #define VMXENC_GUEST_PDPTE0 0x0000280A
0157
0158
0159 #define VMXENC_GUEST_PDPTE0_HI 0x0000280B
0160
0161
0162 #define VMXENC_GUEST_PDPTE1 0x0000280C
0163
0164
0165 #define VMXENC_GUEST_PDPTE1_HI 0x0000280D
0166
0167
0168 #define VMXENC_GUEST_PDPTE2 0x0000280E
0169
0170
0171 #define VMXENC_GUEST_PDPTE2_HI 0x0000280F
0172
0173
0174 #define VMXENC_GUEST_PDPTE3 0x00002810
0175
0176
0177 #define VMXENC_GUEST_PDPTE3_HI 0x00002811
0178
0179
0180
0181
0182
0183 #define VMXENC_HOST_IA32_PAT 0x00002C00
0184
0185
0186 #define VMXENC_HOST_IA32_PAT_HI 0x00002C01
0187
0188
0189 #define VMXENC_HOST_IA32_EFER 0x00002C02
0190
0191
0192 #define VMXENC_HOST_IA32_EFER_HI 0x00002C03
0193
0194
0195 #define VMXENC_HOST_IA32_GLOBAL_CTRL 0x00002C04
0196
0197
0198
0199
0200
0201
0202 #define VMXENC_HOST_IA32_GLOBAL_CTRL_HI 0x00002C05
0203
0204
0205 #define VMXENC_PINBASED_VM_EXEC_CTRLS 0x00004000
0206
0207
0208 #define VMXENC_PROCBASED_VM_EXEC_CTRLS 0x00004002
0209
0210
0211 #define VMXENC_EXCEPTION_BITMAP 0x00004004
0212
0213
0214 #define VMXENC_PAGE_FAULT_ERRCODE_MASK 0x00004006
0215
0216
0217 #define VMXENC_PAGE_FAULT_ERRCODE_MATCH 0x00004008
0218
0219
0220 #define VMXENC_CR3_TARGET_COUNT 0x0000400A
0221
0222
0223 #define VMXENC_VM_EXIT_CTRLS 0x0000400C
0224
0225
0226 #define VMXENC_VM_EXIT_MSR_STORE_COUNT 0x0000400E
0227
0228
0229 #define VMXENC_VM_EXIT_MSR_LOAD_COUNT 0x00004010
0230
0231
0232 #define VMXENC_VM_ENTRY_CTRLS 0x00004012
0233
0234
0235 #define VMXENC_VM_ENTRY_MSR_LOAD_COUNT 0x00004014
0236
0237
0238 #define VMXENC_VM_ENTRY_INTERRUPT_INFO 0x00004016
0239
0240
0241 #define VMXENC_VM_ENTRY_EXCEPTION_ERRCODE 0x00004018
0242
0243
0244 #define VMXENC_VM_ENTRY_INSTR_LEN 0x0000401A
0245
0246
0247 #define VMXENC_TPR_THRESHOLD 0x0000401C
0248
0249
0250 #define VMXENC_PROCBASED_VM_EXEC_CTRLS2 0x0000401E
0251
0252
0253
0254
0255
0256 #define VMXENC_VM_INSTR_ERROR 0x00004400
0257
0258
0259 #define VMXENC_EXIT_REASON 0x00004402
0260
0261
0262 #define VMXENC_VM_EXIT_INTERRUPT_INFO 0x00004404
0263
0264
0265 #define VMXENC_VM_EXIT_INTERRUPT_ERRCODE 0x00004406
0266
0267
0268 #define VMXENC_IDT_VECTORING_INFO 0x00004408
0269
0270
0271 #define VMXENC_IDT_VECTORING_ERRCODE 0x0000440A
0272
0273
0274 #define VMXENC_VM_EXIT_INSTR_LEN 0x0000440C
0275
0276
0277 #define VMXENC_VM_EXIT_INSTR_INFO 0x0000440E
0278
0279
0280
0281
0282
0283 #define VMXENC_GUEST_ES_LIMIT 0x00004800
0284
0285
0286 #define VMXENC_GUEST_CS_LIMIT 0x00004802
0287
0288
0289 #define VMXENC_GUEST_SS_LIMIT 0x00004804
0290
0291
0292 #define VMXENC_GUEST_DS_LIMIT 0x00004806
0293
0294
0295 #define VMXENC_GUEST_FS_LIMIT 0x00004808
0296
0297
0298 #define VMXENC_GUEST_GS_LIMIT 0x0000480A
0299
0300
0301 #define VMXENC_GUEST_LDTR_LIMIT 0x0000480C
0302
0303
0304 #define VMXENC_GUEST_TR_LIMIT 0x0000480E
0305
0306
0307 #define VMXENC_GUEST_GDTR_LIMIT 0x00004810
0308
0309
0310 #define VMXENC_GUEST_IDTR_LIMIT 0x00004812
0311
0312
0313 #define VMXENC_GUEST_ES_ACCESS 0x00004814
0314
0315
0316 #define VMXENC_GUEST_CS_ACCESS 0x00004816
0317
0318
0319 #define VMXENC_GUEST_SS_ACCESS 0x00004818
0320
0321
0322 #define VMXENC_GUEST_DS_ACCESS 0x0000481A
0323
0324
0325 #define VMXENC_GUEST_FS_ACCESS 0x0000481C
0326
0327
0328 #define VMXENC_GUEST_GS_ACCESS 0x0000481E
0329
0330
0331 #define VMXENC_GUEST_LDTR_ACCESS 0x00004820
0332
0333
0334 #define VMXENC_GUEST_TR_ACCESS 0x00004822
0335
0336
0337 #define VMXENC_GUEST_INTERRUPTIBILITY 0x00004824
0338
0339
0340 #define VMXENC_GUEST_ACTIVITY 0x00004826
0341
0342
0343 #define VMXENC_GUEST_SMBASE 0x00004828
0344
0345
0346 #define VMXENC_GUEST_IA32_SYSENTER_CS 0x0000482A
0347
0348
0349 #define VMXENC_VMX_PREEMPT_TIMER_VAL 0x0000482E
0350
0351
0352
0353
0354
0355 #define VMXENC_HOST_IA32_SYSENTER_CS 0x00004C00
0356
0357
0358
0359
0360
0361 #define VMXENC_CR0_GUEST_HOST_MASK 0x00006000
0362
0363
0364 #define VMXENC_CR4_GUEST_HOST_MASK 0x00006002
0365
0366
0367 #define VMXENC_CR0_READ_SHADOW 0x00006004
0368
0369
0370 #define VMXENC_CR4_READ_SHADOW 0x00006006
0371
0372
0373 #define VMXENC_CR3_TARGET_VAL0 0x00006008
0374
0375
0376 #define VMXENC_CR3_TARGET_VAL1 0x0000600A
0377
0378
0379 #define VMXENC_CR3_TARGET_VAL2 0x0000600C
0380
0381
0382 #define VMXENC_CR3_TARGET_VAL3 0x0000600E
0383
0384
0385
0386
0387
0388 #define VMXENC_EXIT_QUAL 0x00006400
0389
0390
0391 #define VMXENC_IO_RCX 0x00006402
0392
0393
0394 #define VMXENC_IO_RSI 0x00006404
0395
0396
0397 #define VMXENC_IO_RDI 0x00006406
0398
0399
0400 #define VMXENC_IO_RIP 0x00006408
0401
0402
0403 #define VMXENC_GUEST_LINEAR_ADDR 0x0000640A
0404
0405
0406
0407
0408
0409 #define VMXENC_GUEST_CR0 0x00006800
0410
0411
0412 #define VMXENC_GUEST_CR3 0x00006802
0413
0414
0415 #define VMXENC_GUEST_CR4 0x00006804
0416
0417
0418 #define VMXENC_GUEST_ES_BASE 0x00006806
0419
0420
0421 #define VMXENC_GUEST_CS_BASE 0x00006808
0422
0423
0424 #define VMXENC_GUEST_SS_BASE 0x0000680A
0425
0426
0427 #define VMXENC_GUEST_DS_BASE 0x0000680C
0428
0429
0430 #define VMXENC_GUEST_FS_BASE 0x0000680E
0431
0432
0433 #define VMXENC_GUEST_GS_BASE 0x00006810
0434
0435
0436 #define VMXENC_GUEST_LDTR_BASE 0x00006812
0437
0438
0439 #define VMXENC_GUEST_TR_BASE 0x00006814
0440
0441
0442 #define VMXENC_GUEST_GDTR_BASE 0x00006816
0443
0444
0445 #define VMXENC_GUEST_IDTR_BASE 0x00006818
0446
0447
0448 #define VMXENC_GUEST_DR7 0x0000681A
0449
0450
0451 #define VMXENC_GUEST_RSP 0x0000681C
0452
0453
0454 #define VMXENC_GUEST_RIP 0x0000681E
0455
0456
0457 #define VMXENC_GUEST_RFLAGS 0x00006820
0458
0459
0460 #define VMXENC_GUEST_PENDING_DEBUG_EXCEPTIONS 0x00006822
0461
0462
0463 #define VMXENC_GUEST_IA32_SYSENTER_ESP 0x00006824
0464
0465
0466 #define VMXENC_GUEST_IA32_SYSENTER_EIP 0x00006826
0467
0468
0469
0470
0471
0472 #define VMXENC_HOST_CR0 0x00006C00
0473
0474
0475 #define VMXENC_HOST_CR3 0x00006C02
0476
0477
0478 #define VMXENC_HOST_CR4 0x00006C04
0479
0480
0481 #define VMXENC_HOST_FS_BASE 0x00006C06
0482
0483
0484 #define VMXENC_HOST_GS_BASE 0x00006C08
0485
0486
0487 #define VMXENC_HOST_TR_BASE 0x00006C0A
0488
0489
0490 #define VMXENC_HOST_GDTR_BASE 0x00006C0C
0491
0492
0493 #define VMXENC_HOST_IDTR_BASE 0x00006C0E
0494
0495
0496 #define VMXENC_HOST_IA32_SYSENTER_ESP 0x00006C10
0497
0498
0499 #define VMXENC_HOST_IA32_SYSENTER_EIP 0x00006C12
0500
0501
0502 #define VMXENC_HOST_RSP 0x00006C14
0503
0504
0505 #define VMXENC_HOST_RIP 0x00006C16
0506
0507
0508 #endif
0509
0510
0511
0512
0513
0514
0515
0516
0517
0518
0519