Lines Matching refs:nested_vmcb

2311 	struct vmcb *nested_vmcb;  in nested_svm_vmexit()  local
2323 nested_vmcb = nested_svm_map(svm, svm->nested.vmcb, &page); in nested_svm_vmexit()
2324 if (!nested_vmcb) in nested_svm_vmexit()
2334 nested_vmcb->save.es = vmcb->save.es; in nested_svm_vmexit()
2335 nested_vmcb->save.cs = vmcb->save.cs; in nested_svm_vmexit()
2336 nested_vmcb->save.ss = vmcb->save.ss; in nested_svm_vmexit()
2337 nested_vmcb->save.ds = vmcb->save.ds; in nested_svm_vmexit()
2338 nested_vmcb->save.gdtr = vmcb->save.gdtr; in nested_svm_vmexit()
2339 nested_vmcb->save.idtr = vmcb->save.idtr; in nested_svm_vmexit()
2340 nested_vmcb->save.efer = svm->vcpu.arch.efer; in nested_svm_vmexit()
2341 nested_vmcb->save.cr0 = kvm_read_cr0(&svm->vcpu); in nested_svm_vmexit()
2342 nested_vmcb->save.cr3 = kvm_read_cr3(&svm->vcpu); in nested_svm_vmexit()
2343 nested_vmcb->save.cr2 = vmcb->save.cr2; in nested_svm_vmexit()
2344 nested_vmcb->save.cr4 = svm->vcpu.arch.cr4; in nested_svm_vmexit()
2345 nested_vmcb->save.rflags = kvm_get_rflags(&svm->vcpu); in nested_svm_vmexit()
2346 nested_vmcb->save.rip = vmcb->save.rip; in nested_svm_vmexit()
2347 nested_vmcb->save.rsp = vmcb->save.rsp; in nested_svm_vmexit()
2348 nested_vmcb->save.rax = vmcb->save.rax; in nested_svm_vmexit()
2349 nested_vmcb->save.dr7 = vmcb->save.dr7; in nested_svm_vmexit()
2350 nested_vmcb->save.dr6 = vmcb->save.dr6; in nested_svm_vmexit()
2351 nested_vmcb->save.cpl = vmcb->save.cpl; in nested_svm_vmexit()
2353 nested_vmcb->control.int_ctl = vmcb->control.int_ctl; in nested_svm_vmexit()
2354 nested_vmcb->control.int_vector = vmcb->control.int_vector; in nested_svm_vmexit()
2355 nested_vmcb->control.int_state = vmcb->control.int_state; in nested_svm_vmexit()
2356 nested_vmcb->control.exit_code = vmcb->control.exit_code; in nested_svm_vmexit()
2357 nested_vmcb->control.exit_code_hi = vmcb->control.exit_code_hi; in nested_svm_vmexit()
2358 nested_vmcb->control.exit_info_1 = vmcb->control.exit_info_1; in nested_svm_vmexit()
2359 nested_vmcb->control.exit_info_2 = vmcb->control.exit_info_2; in nested_svm_vmexit()
2360 nested_vmcb->control.exit_int_info = vmcb->control.exit_int_info; in nested_svm_vmexit()
2361 nested_vmcb->control.exit_int_info_err = vmcb->control.exit_int_info_err; in nested_svm_vmexit()
2362 nested_vmcb->control.next_rip = vmcb->control.next_rip; in nested_svm_vmexit()
2373 struct vmcb_control_area *nc = &nested_vmcb->control; in nested_svm_vmexit()
2379 nested_vmcb->control.tlb_ctl = 0; in nested_svm_vmexit()
2380 nested_vmcb->control.event_inj = 0; in nested_svm_vmexit()
2381 nested_vmcb->control.event_inj_err = 0; in nested_svm_vmexit()
2385 nested_vmcb->control.int_ctl &= ~V_INTR_MASKING_MASK; in nested_svm_vmexit()
2479 struct vmcb *nested_vmcb; in nested_svm_vmrun() local
2487 nested_vmcb = nested_svm_map(svm, svm->vmcb->save.rax, &page); in nested_svm_vmrun()
2488 if (!nested_vmcb) in nested_svm_vmrun()
2491 if (!nested_vmcb_checks(nested_vmcb)) { in nested_svm_vmrun()
2492 nested_vmcb->control.exit_code = SVM_EXIT_ERR; in nested_svm_vmrun()
2493 nested_vmcb->control.exit_code_hi = 0; in nested_svm_vmrun()
2494 nested_vmcb->control.exit_info_1 = 0; in nested_svm_vmrun()
2495 nested_vmcb->control.exit_info_2 = 0; in nested_svm_vmrun()
2503 nested_vmcb->save.rip, in nested_svm_vmrun()
2504 nested_vmcb->control.int_ctl, in nested_svm_vmrun()
2505 nested_vmcb->control.event_inj, in nested_svm_vmrun()
2506 nested_vmcb->control.nested_ctl); in nested_svm_vmrun()
2508 trace_kvm_nested_intercepts(nested_vmcb->control.intercept_cr & 0xffff, in nested_svm_vmrun()
2509 nested_vmcb->control.intercept_cr >> 16, in nested_svm_vmrun()
2510 nested_vmcb->control.intercept_exceptions, in nested_svm_vmrun()
2511 nested_vmcb->control.intercept); in nested_svm_vmrun()
2546 if (nested_vmcb->control.nested_ctl) { in nested_svm_vmrun()
2548 svm->nested.nested_cr3 = nested_vmcb->control.nested_cr3; in nested_svm_vmrun()
2553 svm->vmcb->save.es = nested_vmcb->save.es; in nested_svm_vmrun()
2554 svm->vmcb->save.cs = nested_vmcb->save.cs; in nested_svm_vmrun()
2555 svm->vmcb->save.ss = nested_vmcb->save.ss; in nested_svm_vmrun()
2556 svm->vmcb->save.ds = nested_vmcb->save.ds; in nested_svm_vmrun()
2557 svm->vmcb->save.gdtr = nested_vmcb->save.gdtr; in nested_svm_vmrun()
2558 svm->vmcb->save.idtr = nested_vmcb->save.idtr; in nested_svm_vmrun()
2559 kvm_set_rflags(&svm->vcpu, nested_vmcb->save.rflags); in nested_svm_vmrun()
2560 svm_set_efer(&svm->vcpu, nested_vmcb->save.efer); in nested_svm_vmrun()
2561 svm_set_cr0(&svm->vcpu, nested_vmcb->save.cr0); in nested_svm_vmrun()
2562 svm_set_cr4(&svm->vcpu, nested_vmcb->save.cr4); in nested_svm_vmrun()
2564 svm->vmcb->save.cr3 = nested_vmcb->save.cr3; in nested_svm_vmrun()
2565 svm->vcpu.arch.cr3 = nested_vmcb->save.cr3; in nested_svm_vmrun()
2567 (void)kvm_set_cr3(&svm->vcpu, nested_vmcb->save.cr3); in nested_svm_vmrun()
2572 svm->vmcb->save.cr2 = svm->vcpu.arch.cr2 = nested_vmcb->save.cr2; in nested_svm_vmrun()
2573 kvm_register_write(&svm->vcpu, VCPU_REGS_RAX, nested_vmcb->save.rax); in nested_svm_vmrun()
2574 kvm_register_write(&svm->vcpu, VCPU_REGS_RSP, nested_vmcb->save.rsp); in nested_svm_vmrun()
2575 kvm_register_write(&svm->vcpu, VCPU_REGS_RIP, nested_vmcb->save.rip); in nested_svm_vmrun()
2578 svm->vmcb->save.rax = nested_vmcb->save.rax; in nested_svm_vmrun()
2579 svm->vmcb->save.rsp = nested_vmcb->save.rsp; in nested_svm_vmrun()
2580 svm->vmcb->save.rip = nested_vmcb->save.rip; in nested_svm_vmrun()
2581 svm->vmcb->save.dr7 = nested_vmcb->save.dr7; in nested_svm_vmrun()
2582 svm->vmcb->save.dr6 = nested_vmcb->save.dr6; in nested_svm_vmrun()
2583 svm->vmcb->save.cpl = nested_vmcb->save.cpl; in nested_svm_vmrun()
2585 svm->nested.vmcb_msrpm = nested_vmcb->control.msrpm_base_pa & ~0x0fffULL; in nested_svm_vmrun()
2586 svm->nested.vmcb_iopm = nested_vmcb->control.iopm_base_pa & ~0x0fffULL; in nested_svm_vmrun()
2589 svm->nested.intercept_cr = nested_vmcb->control.intercept_cr; in nested_svm_vmrun()
2590 svm->nested.intercept_dr = nested_vmcb->control.intercept_dr; in nested_svm_vmrun()
2591 svm->nested.intercept_exceptions = nested_vmcb->control.intercept_exceptions; in nested_svm_vmrun()
2592 svm->nested.intercept = nested_vmcb->control.intercept; in nested_svm_vmrun()
2595 svm->vmcb->control.int_ctl = nested_vmcb->control.int_ctl | V_INTR_MASKING_MASK; in nested_svm_vmrun()
2596 if (nested_vmcb->control.int_ctl & V_INTR_MASKING_MASK) in nested_svm_vmrun()
2610 svm->vmcb->control.lbr_ctl = nested_vmcb->control.lbr_ctl; in nested_svm_vmrun()
2611 svm->vmcb->control.int_vector = nested_vmcb->control.int_vector; in nested_svm_vmrun()
2612 svm->vmcb->control.int_state = nested_vmcb->control.int_state; in nested_svm_vmrun()
2613 svm->vmcb->control.tsc_offset += nested_vmcb->control.tsc_offset; in nested_svm_vmrun()
2614 svm->vmcb->control.event_inj = nested_vmcb->control.event_inj; in nested_svm_vmrun()
2615 svm->vmcb->control.event_inj_err = nested_vmcb->control.event_inj_err; in nested_svm_vmrun()
2655 struct vmcb *nested_vmcb; in vmload_interception() local
2661 nested_vmcb = nested_svm_map(svm, svm->vmcb->save.rax, &page); in vmload_interception()
2662 if (!nested_vmcb) in vmload_interception()
2668 nested_svm_vmloadsave(nested_vmcb, svm->vmcb); in vmload_interception()
2676 struct vmcb *nested_vmcb; in vmsave_interception() local
2682 nested_vmcb = nested_svm_map(svm, svm->vmcb->save.rax, &page); in vmsave_interception()
2683 if (!nested_vmcb) in vmsave_interception()
2689 nested_svm_vmloadsave(svm->vmcb, nested_vmcb); in vmsave_interception()