Searched refs:nested_vmcb (Results 1 - 1 of 1) sorted by relevance

/linux-4.4.14/arch/x86/kvm/
H A Dsvm.c2228 struct vmcb *nested_vmcb; nested_svm_vmexit() local
2240 nested_vmcb = nested_svm_map(svm, svm->nested.vmcb, &page); nested_svm_vmexit()
2241 if (!nested_vmcb) nested_svm_vmexit()
2251 nested_vmcb->save.es = vmcb->save.es; nested_svm_vmexit()
2252 nested_vmcb->save.cs = vmcb->save.cs; nested_svm_vmexit()
2253 nested_vmcb->save.ss = vmcb->save.ss; nested_svm_vmexit()
2254 nested_vmcb->save.ds = vmcb->save.ds; nested_svm_vmexit()
2255 nested_vmcb->save.gdtr = vmcb->save.gdtr; nested_svm_vmexit()
2256 nested_vmcb->save.idtr = vmcb->save.idtr; nested_svm_vmexit()
2257 nested_vmcb->save.efer = svm->vcpu.arch.efer; nested_svm_vmexit()
2258 nested_vmcb->save.cr0 = kvm_read_cr0(&svm->vcpu); nested_svm_vmexit()
2259 nested_vmcb->save.cr3 = kvm_read_cr3(&svm->vcpu); nested_svm_vmexit()
2260 nested_vmcb->save.cr2 = vmcb->save.cr2; nested_svm_vmexit()
2261 nested_vmcb->save.cr4 = svm->vcpu.arch.cr4; nested_svm_vmexit()
2262 nested_vmcb->save.rflags = kvm_get_rflags(&svm->vcpu); nested_svm_vmexit()
2263 nested_vmcb->save.rip = vmcb->save.rip; nested_svm_vmexit()
2264 nested_vmcb->save.rsp = vmcb->save.rsp; nested_svm_vmexit()
2265 nested_vmcb->save.rax = vmcb->save.rax; nested_svm_vmexit()
2266 nested_vmcb->save.dr7 = vmcb->save.dr7; nested_svm_vmexit()
2267 nested_vmcb->save.dr6 = vmcb->save.dr6; nested_svm_vmexit()
2268 nested_vmcb->save.cpl = vmcb->save.cpl; nested_svm_vmexit()
2270 nested_vmcb->control.int_ctl = vmcb->control.int_ctl; nested_svm_vmexit()
2271 nested_vmcb->control.int_vector = vmcb->control.int_vector; nested_svm_vmexit()
2272 nested_vmcb->control.int_state = vmcb->control.int_state; nested_svm_vmexit()
2273 nested_vmcb->control.exit_code = vmcb->control.exit_code; nested_svm_vmexit()
2274 nested_vmcb->control.exit_code_hi = vmcb->control.exit_code_hi; nested_svm_vmexit()
2275 nested_vmcb->control.exit_info_1 = vmcb->control.exit_info_1; nested_svm_vmexit()
2276 nested_vmcb->control.exit_info_2 = vmcb->control.exit_info_2; nested_svm_vmexit()
2277 nested_vmcb->control.exit_int_info = vmcb->control.exit_int_info; nested_svm_vmexit()
2278 nested_vmcb->control.exit_int_info_err = vmcb->control.exit_int_info_err; nested_svm_vmexit()
2281 nested_vmcb->control.next_rip = vmcb->control.next_rip; nested_svm_vmexit()
2292 struct vmcb_control_area *nc = &nested_vmcb->control; nested_svm_vmexit()
2298 nested_vmcb->control.tlb_ctl = 0; nested_svm_vmexit()
2299 nested_vmcb->control.event_inj = 0; nested_svm_vmexit()
2300 nested_vmcb->control.event_inj_err = 0; nested_svm_vmexit()
2304 nested_vmcb->control.int_ctl &= ~V_INTR_MASKING_MASK; nested_svm_vmexit()
2398 struct vmcb *nested_vmcb; nested_svm_vmrun() local
2406 nested_vmcb = nested_svm_map(svm, svm->vmcb->save.rax, &page); nested_svm_vmrun()
2407 if (!nested_vmcb) nested_svm_vmrun()
2410 if (!nested_vmcb_checks(nested_vmcb)) { nested_svm_vmrun()
2411 nested_vmcb->control.exit_code = SVM_EXIT_ERR; nested_svm_vmrun()
2412 nested_vmcb->control.exit_code_hi = 0; nested_svm_vmrun()
2413 nested_vmcb->control.exit_info_1 = 0; nested_svm_vmrun()
2414 nested_vmcb->control.exit_info_2 = 0; nested_svm_vmrun()
2422 nested_vmcb->save.rip, nested_svm_vmrun()
2423 nested_vmcb->control.int_ctl, nested_svm_vmrun()
2424 nested_vmcb->control.event_inj, nested_svm_vmrun()
2425 nested_vmcb->control.nested_ctl); nested_svm_vmrun()
2427 trace_kvm_nested_intercepts(nested_vmcb->control.intercept_cr & 0xffff, nested_svm_vmrun()
2428 nested_vmcb->control.intercept_cr >> 16, nested_svm_vmrun()
2429 nested_vmcb->control.intercept_exceptions, nested_svm_vmrun()
2430 nested_vmcb->control.intercept); nested_svm_vmrun()
2465 if (nested_vmcb->control.nested_ctl) { nested_svm_vmrun()
2467 svm->nested.nested_cr3 = nested_vmcb->control.nested_cr3; nested_svm_vmrun()
2472 svm->vmcb->save.es = nested_vmcb->save.es; nested_svm_vmrun()
2473 svm->vmcb->save.cs = nested_vmcb->save.cs; nested_svm_vmrun()
2474 svm->vmcb->save.ss = nested_vmcb->save.ss; nested_svm_vmrun()
2475 svm->vmcb->save.ds = nested_vmcb->save.ds; nested_svm_vmrun()
2476 svm->vmcb->save.gdtr = nested_vmcb->save.gdtr; nested_svm_vmrun()
2477 svm->vmcb->save.idtr = nested_vmcb->save.idtr; nested_svm_vmrun()
2478 kvm_set_rflags(&svm->vcpu, nested_vmcb->save.rflags); nested_svm_vmrun()
2479 svm_set_efer(&svm->vcpu, nested_vmcb->save.efer); nested_svm_vmrun()
2480 svm_set_cr0(&svm->vcpu, nested_vmcb->save.cr0); nested_svm_vmrun()
2481 svm_set_cr4(&svm->vcpu, nested_vmcb->save.cr4); nested_svm_vmrun()
2483 svm->vmcb->save.cr3 = nested_vmcb->save.cr3; nested_svm_vmrun()
2484 svm->vcpu.arch.cr3 = nested_vmcb->save.cr3; nested_svm_vmrun()
2486 (void)kvm_set_cr3(&svm->vcpu, nested_vmcb->save.cr3); nested_svm_vmrun()
2491 svm->vmcb->save.cr2 = svm->vcpu.arch.cr2 = nested_vmcb->save.cr2; nested_svm_vmrun()
2492 kvm_register_write(&svm->vcpu, VCPU_REGS_RAX, nested_vmcb->save.rax); nested_svm_vmrun()
2493 kvm_register_write(&svm->vcpu, VCPU_REGS_RSP, nested_vmcb->save.rsp); nested_svm_vmrun()
2494 kvm_register_write(&svm->vcpu, VCPU_REGS_RIP, nested_vmcb->save.rip); nested_svm_vmrun()
2497 svm->vmcb->save.rax = nested_vmcb->save.rax; nested_svm_vmrun()
2498 svm->vmcb->save.rsp = nested_vmcb->save.rsp; nested_svm_vmrun()
2499 svm->vmcb->save.rip = nested_vmcb->save.rip; nested_svm_vmrun()
2500 svm->vmcb->save.dr7 = nested_vmcb->save.dr7; nested_svm_vmrun()
2501 svm->vmcb->save.dr6 = nested_vmcb->save.dr6; nested_svm_vmrun()
2502 svm->vmcb->save.cpl = nested_vmcb->save.cpl; nested_svm_vmrun()
2504 svm->nested.vmcb_msrpm = nested_vmcb->control.msrpm_base_pa & ~0x0fffULL; nested_svm_vmrun()
2505 svm->nested.vmcb_iopm = nested_vmcb->control.iopm_base_pa & ~0x0fffULL; nested_svm_vmrun()
2508 svm->nested.intercept_cr = nested_vmcb->control.intercept_cr; nested_svm_vmrun()
2509 svm->nested.intercept_dr = nested_vmcb->control.intercept_dr; nested_svm_vmrun()
2510 svm->nested.intercept_exceptions = nested_vmcb->control.intercept_exceptions; nested_svm_vmrun()
2511 svm->nested.intercept = nested_vmcb->control.intercept; nested_svm_vmrun()
2514 svm->vmcb->control.int_ctl = nested_vmcb->control.int_ctl | V_INTR_MASKING_MASK; nested_svm_vmrun()
2515 if (nested_vmcb->control.int_ctl & V_INTR_MASKING_MASK) nested_svm_vmrun()
2529 svm->vmcb->control.lbr_ctl = nested_vmcb->control.lbr_ctl; nested_svm_vmrun()
2530 svm->vmcb->control.int_vector = nested_vmcb->control.int_vector; nested_svm_vmrun()
2531 svm->vmcb->control.int_state = nested_vmcb->control.int_state; nested_svm_vmrun()
2532 svm->vmcb->control.tsc_offset += nested_vmcb->control.tsc_offset; nested_svm_vmrun()
2533 svm->vmcb->control.event_inj = nested_vmcb->control.event_inj; nested_svm_vmrun()
2534 svm->vmcb->control.event_inj_err = nested_vmcb->control.event_inj_err; nested_svm_vmrun()
2574 struct vmcb *nested_vmcb; vmload_interception() local
2580 nested_vmcb = nested_svm_map(svm, svm->vmcb->save.rax, &page); vmload_interception()
2581 if (!nested_vmcb) vmload_interception()
2587 nested_svm_vmloadsave(nested_vmcb, svm->vmcb); vmload_interception()
2595 struct vmcb *nested_vmcb; vmsave_interception() local
2601 nested_vmcb = nested_svm_map(svm, svm->vmcb->save.rax, &page); vmsave_interception()
2602 if (!nested_vmcb) vmsave_interception()
2608 nested_svm_vmloadsave(svm->vmcb, nested_vmcb); vmsave_interception()

Completed in 81 milliseconds