mirror of
https://github.com/torvalds/linux.git
synced 2026-09-27 19:42:03 +02:00
KVM: selftests: Handle rflags save/restore for SVM in guest_regs
Instead of handling rflags separately, add it to guest_regs. No functional change intended. Assisted-by: Gemini:Gemini-Next Signed-off-by: Yosry Ahmed <yosry@kernel.org> Link: https://patch.msgid.link/20260728174232.2423257-5-yosry@kernel.org Signed-off-by: Sean Christopherson <seanjc@google.com>
This commit is contained in:
parent
546455d9c7
commit
9547309406
|
|
@ -413,6 +413,7 @@ struct guest_regs {
|
|||
u64 r13;
|
||||
u64 r14;
|
||||
u64 r15;
|
||||
u64 rflags;
|
||||
};
|
||||
|
||||
extern struct guest_regs guest_regs;
|
||||
|
|
@ -436,7 +437,8 @@ extern struct guest_regs guest_regs;
|
|||
GUEST_REG_OFFSET(r12), \
|
||||
GUEST_REG_OFFSET(r13), \
|
||||
GUEST_REG_OFFSET(r14), \
|
||||
GUEST_REG_OFFSET(r15)
|
||||
GUEST_REG_OFFSET(r15), \
|
||||
GUEST_REG_OFFSET(rflags)
|
||||
|
||||
#define GUEST_REG(name) "guest_regs + %c[off_" #name "]"
|
||||
|
||||
|
|
|
|||
|
|
@ -13,8 +13,6 @@
|
|||
|
||||
#define SEV_DEV_PATH "/dev/sev"
|
||||
|
||||
u64 rflags;
|
||||
|
||||
/* Allocate memory regions for nested SVM tests.
|
||||
*
|
||||
* Input Args:
|
||||
|
|
@ -161,7 +159,7 @@ void run_guest(struct vmcb *vmcb, u64 vmcb_gpa)
|
|||
{
|
||||
asm volatile (
|
||||
"vmload %[vmcb_gpa]\n\t"
|
||||
"mov rflags, %%r15\n\t"
|
||||
"mov " GUEST_REG(rflags) ", %%r15\n\t"
|
||||
"mov %%r15, %[vmcb_rflags]\n\t"
|
||||
"mov " GUEST_REG(rax) ", %%r15\n\t"
|
||||
"mov %%r15, %[vmcb_rax]\n\t"
|
||||
|
|
@ -169,7 +167,7 @@ void run_guest(struct vmcb *vmcb, u64 vmcb_gpa)
|
|||
"vmrun %[vmcb_gpa]\n\t"
|
||||
SVM_SWITCH_GPRS_ASM
|
||||
"mov %[vmcb_rflags], %%r15\n\t"
|
||||
"mov %%r15, rflags\n\t"
|
||||
"mov %%r15, " GUEST_REG(rflags) "\n\t"
|
||||
"mov %[vmcb_rax], %%r15\n\t" // rax
|
||||
"mov %%r15, " GUEST_REG(rax) "\n\t"
|
||||
"vmsave %[vmcb_gpa]\n\t"
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user