svm.c (d93618da6b6d453c6a9684a3460ffd51b9b4ef2e) | svm.c (16fdc1de169ee0a4e59a8c02244414ec7acd55c3) |
---|---|
1#define pr_fmt(fmt) "SVM: " fmt 2 3#include <linux/kvm_host.h> 4 5#include "irq.h" 6#include "mmu.h" 7#include "kvm_cache_regs.h" 8#include "x86.h" --- 3916 unchanged lines hidden (view full) --- 3925 3926 /* 3927 * Use a single vmcb (vmcb01 because it's always valid) for 3928 * context switching guest state via VMLOAD/VMSAVE, that way 3929 * the state doesn't need to be copied between vmcb01 and 3930 * vmcb02 when switching vmcbs for nested virtualization. 3931 */ 3932 vmload(svm->vmcb01.pa); | 1#define pr_fmt(fmt) "SVM: " fmt 2 3#include <linux/kvm_host.h> 4 5#include "irq.h" 6#include "mmu.h" 7#include "kvm_cache_regs.h" 8#include "x86.h" --- 3916 unchanged lines hidden (view full) --- 3925 3926 /* 3927 * Use a single vmcb (vmcb01 because it's always valid) for 3928 * context switching guest state via VMLOAD/VMSAVE, that way 3929 * the state doesn't need to be copied between vmcb01 and 3930 * vmcb02 when switching vmcbs for nested virtualization. 3931 */ 3932 vmload(svm->vmcb01.pa); |
3933 __svm_vcpu_run(vmcb_pa, (unsigned long *)&vcpu->arch.regs); | 3933 __svm_vcpu_run(vmcb_pa, svm); |
3934 vmsave(svm->vmcb01.pa); 3935 3936 vmload(__sme_page_pa(sd->save_area)); 3937 } 3938 3939 guest_state_exit_irqoff(); 3940} 3941 --- 1195 unchanged lines hidden --- | 3934 vmsave(svm->vmcb01.pa); 3935 3936 vmload(__sme_page_pa(sd->save_area)); 3937 } 3938 3939 guest_state_exit_irqoff(); 3940} 3941 --- 1195 unchanged lines hidden --- |