Lines Matching defs:vmcs12
435 struct __packed vmcs12 { struct
439 struct vmcs_hdr hdr;
440 u32 abort;
442 u32 launch_state; /* set to 0 by VMCLEAR, to 1 by VMLAUNCH */
443 u32 padding[7]; /* room for future expansion */
445 u64 io_bitmap_a;
446 u64 io_bitmap_b;
447 u64 msr_bitmap;
448 u64 vm_exit_msr_store_addr;
449 u64 vm_exit_msr_load_addr;
450 u64 vm_entry_msr_load_addr;
451 u64 tsc_offset;
452 u64 virtual_apic_page_addr;
453 u64 apic_access_addr;
454 u64 posted_intr_desc_addr;
455 u64 ept_pointer;
456 u64 eoi_exit_bitmap0;
457 u64 eoi_exit_bitmap1;
458 u64 eoi_exit_bitmap2;
459 u64 eoi_exit_bitmap3;
460 u64 xss_exit_bitmap;
461 u64 guest_physical_address;
462 u64 vmcs_link_pointer;
463 u64 guest_ia32_debugctl;
464 u64 guest_ia32_pat;
465 u64 guest_ia32_efer;
466 u64 guest_ia32_perf_global_ctrl;
467 u64 guest_pdptr0;
468 u64 guest_pdptr1;
469 u64 guest_pdptr2;
470 u64 guest_pdptr3;
471 u64 guest_bndcfgs;
472 u64 host_ia32_pat;
473 u64 host_ia32_efer;
474 u64 host_ia32_perf_global_ctrl;
475 u64 vmread_bitmap;
476 u64 vmwrite_bitmap;
477 u64 vm_function_control;
478 u64 eptp_list_address;
479 u64 pml_address;
480 u64 padding64[3]; /* room for future expansion */
487 natural_width cr0_guest_host_mask;
488 natural_width cr4_guest_host_mask;
489 natural_width cr0_read_shadow;
490 natural_width cr4_read_shadow;
491 natural_width cr3_target_value0;
492 natural_width cr3_target_value1;
493 natural_width cr3_target_value2;
494 natural_width cr3_target_value3;
495 natural_width exit_qualification;
496 natural_width guest_linear_address;
497 natural_width guest_cr0;
498 natural_width guest_cr3;
499 natural_width guest_cr4;
500 natural_width guest_es_base;
501 natural_width guest_cs_base;
502 natural_width guest_ss_base;
503 natural_width guest_ds_base;
504 natural_width guest_fs_base;
505 natural_width guest_gs_base;
506 natural_width guest_ldtr_base;
507 natural_width guest_tr_base;
508 natural_width guest_gdtr_base;
509 natural_width guest_idtr_base;
510 natural_width guest_dr7;
511 natural_width guest_rsp;
512 natural_width guest_rip;
513 natural_width guest_rflags;
514 natural_width guest_pending_dbg_exceptions;
515 natural_width guest_sysenter_esp;
516 natural_width guest_sysenter_eip;
517 natural_width host_cr0;
518 natural_width host_cr3;
519 natural_width host_cr4;
520 natural_width host_fs_base;
521 natural_width host_gs_base;
522 natural_width host_tr_base;
523 natural_width host_gdtr_base;
524 natural_width host_idtr_base;
525 natural_width host_ia32_sysenter_esp;
526 natural_width host_ia32_sysenter_eip;
527 natural_width host_rsp;
528 natural_width host_rip;
529 natural_width paddingl[8]; /* room for future expansion */
530 u32 pin_based_vm_exec_control;
531 u32 cpu_based_vm_exec_control;
532 u32 exception_bitmap;
533 u32 page_fault_error_code_mask;
534 u32 page_fault_error_code_match;
535 u32 cr3_target_count;
536 u32 vm_exit_controls;
537 u32 vm_exit_msr_store_count;
538 u32 vm_exit_msr_load_count;
539 u32 vm_entry_controls;
540 u32 vm_entry_msr_load_count;
541 u32 vm_entry_intr_info_field;
542 u32 vm_entry_exception_error_code;
543 u32 vm_entry_instruction_len;
544 u32 tpr_threshold;
545 u32 secondary_vm_exec_control;
546 u32 vm_instruction_error;
547 u32 vm_exit_reason;
548 u32 vm_exit_intr_info;
549 u32 vm_exit_intr_error_code;
550 u32 idt_vectoring_info_field;
551 u32 idt_vectoring_error_code;
552 u32 vm_exit_instruction_len;
553 u32 vmx_instruction_info;
554 u32 guest_es_limit;
555 u32 guest_cs_limit;
556 u32 guest_ss_limit;
557 u32 guest_ds_limit;
558 u32 guest_fs_limit;
559 u32 guest_gs_limit;
560 u32 guest_ldtr_limit;
561 u32 guest_tr_limit;
562 u32 guest_gdtr_limit;
563 u32 guest_idtr_limit;
564 u32 guest_es_ar_bytes;
565 u32 guest_cs_ar_bytes;
566 u32 guest_ss_ar_bytes;
567 u32 guest_ds_ar_bytes;
568 u32 guest_fs_ar_bytes;
569 u32 guest_gs_ar_bytes;
570 u32 guest_ldtr_ar_bytes;
571 u32 guest_tr_ar_bytes;
572 u32 guest_interruptibility_info;
573 u32 guest_activity_state;
574 u32 guest_sysenter_cs;
575 u32 host_ia32_sysenter_cs;
576 u32 vmx_preemption_timer_value;
600 * For save/restore compatibility, the vmcs12 field offsets must not change. argument
1974 static inline bool nested_cpu_has(struct vmcs12 *vmcs12, u32 bit) in nested_cpu_has()
1979 static inline bool nested_cpu_has2(struct vmcs12 *vmcs12, u32 bit) in nested_cpu_has2()
1986 static inline bool nested_cpu_has_preemption_timer(struct vmcs12 *vmcs12) in nested_cpu_has_preemption_timer()
1992 static inline bool nested_cpu_has_nmi_exiting(struct vmcs12 *vmcs12) in nested_cpu_has_nmi_exiting()
1997 static inline bool nested_cpu_has_virtual_nmis(struct vmcs12 *vmcs12) in nested_cpu_has_virtual_nmis()
2002 static inline int nested_cpu_has_ept(struct vmcs12 *vmcs12) in nested_cpu_has_ept()
2007 static inline bool nested_cpu_has_xsaves(struct vmcs12 *vmcs12) in nested_cpu_has_xsaves()
2012 static inline bool nested_cpu_has_pml(struct vmcs12 *vmcs12) in nested_cpu_has_pml()
2017 static inline bool nested_cpu_has_virt_x2apic_mode(struct vmcs12 *vmcs12) in nested_cpu_has_virt_x2apic_mode()
2022 static inline bool nested_cpu_has_vpid(struct vmcs12 *vmcs12) in nested_cpu_has_vpid()
2027 static inline bool nested_cpu_has_apic_reg_virt(struct vmcs12 *vmcs12) in nested_cpu_has_apic_reg_virt()
2032 static inline bool nested_cpu_has_vid(struct vmcs12 *vmcs12) in nested_cpu_has_vid()
2037 static inline bool nested_cpu_has_posted_intr(struct vmcs12 *vmcs12) in nested_cpu_has_posted_intr()
2042 static inline bool nested_cpu_has_vmfunc(struct vmcs12 *vmcs12) in nested_cpu_has_vmfunc()
2047 static inline bool nested_cpu_has_eptp_switching(struct vmcs12 *vmcs12) in nested_cpu_has_eptp_switching()
2054 static inline bool nested_cpu_has_shadow_vmcs(struct vmcs12 *vmcs12) in nested_cpu_has_shadow_vmcs()
3226 struct vmcs12 *vmcs12 = get_vmcs12(vcpu); in nested_vmx_inject_exception_vmexit() local
3253 struct vmcs12 *vmcs12 = get_vmcs12(vcpu); in nested_vmx_check_exception() local
3408 struct vmcs12 *vmcs12 = get_vmcs12(vcpu); in vmx_read_l1_tsc_offset() local
3427 struct vmcs12 *vmcs12 = get_vmcs12(vcpu); in vmx_write_l1_tsc_offset() local
5166 struct vmcs12 *vmcs12 = get_vmcs12(vcpu); in nested_guest_cr0_valid() local
5692 struct vmcs12 *vmcs12) in nested_vmx_exit_handled_io()
6104 struct vmcs12 *vmcs12 = get_vmcs12(vcpu); in nested_mark_vmcs12_pages_dirty() local
7190 struct vmcs12 *vmcs12 = get_vmcs12(vcpu); in handle_set_cr0() local
7223 struct vmcs12 *vmcs12 = get_vmcs12(vcpu); in handle_set_cr4() local
8589 static inline int vmcs12_read_any(struct vmcs12 *vmcs12, in vmcs12_read_any()
8620 static inline int vmcs12_write_any(struct vmcs12 *vmcs12, in vmcs12_write_any()
8747 struct vmcs12 *vmcs12; in handle_vmread() local
8819 struct vmcs12 *vmcs12; in handle_vmwrite() local
9310 struct vmcs12 *vmcs12) in nested_vmx_eptp_switching()
9357 struct vmcs12 *vmcs12; in handle_vmfunc() local
9472 struct vmcs12 *vmcs12 = get_vmcs12(vcpu); in nested_vmx_check_io_bitmaps() local
9509 struct vmcs12 *vmcs12, u32 exit_reason) in nested_vmx_exit_handled_msr()
9546 struct vmcs12 *vmcs12) in nested_vmx_exit_handled_cr()
9625 struct vmcs12 *vmcs12, gpa_t bitmap) in nested_vmx_exit_handled_vmcs_access()
9657 struct vmcs12 *vmcs12 = get_vmcs12(vcpu); in nested_vmx_exit_reflected() local
9845 struct vmcs12 *vmcs12 = get_vmcs12(vcpu); in nested_vmx_reflect_vmexit() local
10249 struct vmcs12 *vmcs12 = get_vmcs12(vcpu); in update_cr8_intercept() local
11379 struct vmcs12 *vmcs12 = get_vmcs12(vcpu); in nested_ept_inject_page_fault() local
11434 static bool nested_vmx_is_page_fault_vmexit(struct vmcs12 *vmcs12, in nested_vmx_is_page_fault_vmexit()
11449 struct vmcs12 *vmcs12 = get_vmcs12(vcpu); in vmx_inject_page_fault_nested() local
11470 struct vmcs12 *vmcs12 = get_vmcs12(vcpu); in nested_get_vmcs12_pages() local
11585 struct vmcs12 *vmcs12) in nested_vmx_check_io_bitmap_controls()
11598 struct vmcs12 *vmcs12) in nested_vmx_check_msr_bitmap_controls()
11610 struct vmcs12 *vmcs12) in nested_vmx_check_tpr_shadow_controls()
11637 struct vmcs12 *vmcs12) in nested_vmx_prepare_msr_bitmap()
11732 struct vmcs12 *vmcs12) in nested_cache_shadow_vmcs12()
11751 struct vmcs12 *vmcs12) in nested_flush_cached_shadow_vmcs12()
11764 struct vmcs12 *vmcs12) in nested_vmx_check_apic_access_controls()
11774 struct vmcs12 *vmcs12) in nested_vmx_check_apicv_controls()
11824 struct vmcs12 *vmcs12 = get_vmcs12(vcpu); in nested_vmx_check_msr_switch() local
11847 struct vmcs12 *vmcs12) in nested_vmx_check_msr_switch_controls()
11864 struct vmcs12 *vmcs12) in nested_vmx_check_pml_controls()
11880 struct vmcs12 *vmcs12) in nested_vmx_check_shadow_vmcs_controls()
12053 static void prepare_vmcs02_full(struct kvm_vcpu *vcpu, struct vmcs12 *vmcs12) in prepare_vmcs02_full()
12188 static int prepare_vmcs02(struct kvm_vcpu *vcpu, struct vmcs12 *vmcs12, in prepare_vmcs02()
12459 static int nested_vmx_check_nmi_controls(struct vmcs12 *vmcs12) in nested_vmx_check_nmi_controls()
12472 static int check_vmentry_prereqs(struct kvm_vcpu *vcpu, struct vmcs12 *vmcs12) in check_vmentry_prereqs()
12608 struct vmcs12 *vmcs12) in nested_vmx_check_vmcs_link_ptr()
12634 static int check_vmentry_postreqs(struct kvm_vcpu *vcpu, struct vmcs12 *vmcs12, in check_vmentry_postreqs()
12699 struct vmcs12 *vmcs12 = get_vmcs12(vcpu); in enter_vmx_non_root_mode() local
12787 struct vmcs12 *vmcs12; in nested_vmx_run() local
12925 vmcs12_guest_cr0(struct kvm_vcpu *vcpu, struct vmcs12 *vmcs12) in vmcs12_guest_cr0()
12935 vmcs12_guest_cr4(struct kvm_vcpu *vcpu, struct vmcs12 *vmcs12) in vmcs12_guest_cr4()
12945 struct vmcs12 *vmcs12) in vmcs12_save_pending_event()
13060 static void sync_vmcs12(struct kvm_vcpu *vcpu, struct vmcs12 *vmcs12) in sync_vmcs12()
13177 static void prepare_vmcs12(struct kvm_vcpu *vcpu, struct vmcs12 *vmcs12, in prepare_vmcs12()
13227 struct vmcs12 *vmcs12) in load_vmcs12_host_state()
13388 struct vmcs12 *vmcs12 = get_vmcs12(vcpu); in nested_vmx_restore_host_state() local
13507 struct vmcs12 *vmcs12 = get_vmcs12(vcpu); in nested_vmx_vmexit() local
13669 struct vmcs12 *vmcs12, in nested_vmx_entry_failure()
13683 struct vmcs12 *vmcs12 = get_vmcs12(vcpu); in vmx_check_intercept_io() local
13718 struct vmcs12 *vmcs12 = get_vmcs12(vcpu); in vmx_check_intercept() local
13853 struct vmcs12 *vmcs12; in vmx_write_pml_buffer() local
14182 struct vmcs12 *vmcs12; in vmx_get_nested_state() local
14268 struct vmcs12 *vmcs12; in vmx_set_nested_state() local