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 ---