KVM - Fix hypercall arguments
PATCH 2/3 KVM - Fix hypercall arguments
It looks like kvm_hypercall is trying to match the system call convention and mixed up the call number and first argument in the 32-bit case.
--
drivers/kvm/kvm_main.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)
drivers/kvm/kvm_main.c +2 -2
@@ -1351,8 +1351,8 @@ int kvm_hypercall(struct kvm_vcpu *vcpu, } else#endif { - nr = vcpu->regs[VCPU_REGS_RBX ] &-1u ; - a0 = vcpu->regs[VCPU_REGS_RAX ] &-1u ; + nr = vcpu->regs[VCPU_REGS_RAX ] &-1u ; + a0 = vcpu->regs[VCPU_REGS_RBX ] &-1u ; a1 = vcpu->regs[VCPU_REGS_RCX ] &-1u ; a2 = vcpu->regs[VCPU_REGS_RDX ] &-1u ; a3 = vcpu->regs[VCPU_REGS_RSI ] &-1u ;
-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
Quoted 15 lines · Jeff Dike
It looks like
kvm_hypercallis trying to match the system call convention and mixed up the call number and first argument in the 32-bit case.Signed-off-by Jeff Dike <jdike-VuQAYsv1563Yd54FQh9/[email protected]>--
drivers/kvm/kvm_main.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)Index:
kvm/drivers/kvm/kvm_main.c
===================================================================
drivers/kvm/kvm_main.c int kvm_hypercall(struct kvm_vcpu *vcpu, · line 1358
Quoted 10 lines
drivers/kvm/kvm_main.c +2
-2@@ -1351,8 +1351,8 @@ int kvm_hypercall(struct kvm_vcpu *vcpu, } else#endif { - nr = vcpu->regs[VCPU_REGS_RBX ] &-1u ; - a0 = vcpu->regs[VCPU_REGS_RAX ] &-1u ; + nr = vcpu->regs[VCPU_REGS_RAX ] &-1u ; + a0 = vcpu->regs[VCPU_REGS_RBX ] &-1u ; a1 = vcpu->regs[VCPU_REGS_RCX ] &-1u ; a2 = vcpu->regs[VCPU_REGS_RDX ] &-1u ; a3 = vcpu->regs[VCPU_REGS_RSI ] &-1u ;
Anthony? I think you were hacking this area?
Signature · 8 lines
error compiling committee.c: too many arguments to function ------------------------------------------------------------------------- This SF.net email is sponsored by DB2 Express Download DB2 Express C - the FREE version of DB2 express and take control of your XML. No limits. Just data. Click to get it now. http://sourceforge.net/powerbar/db2/
Quoted 22 lines · Avi Kivity
Quoted 20 lines · Jeff Dike
It looks like
kvm_hypercallis trying to match the system call convention and mixed up the call number and first argument in the 32-bit case.Signed-off-by Jeff Dike <jdike-VuQAYsv1563Yd54FQh9/[email protected]>--
drivers/kvm/kvm_main.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)Index:
kvm/drivers/kvm/kvm_main.c
===================================================================drivers/kvm/kvm_main.c +1
-2@@ -1351,8 +1351,8 @@ int kvm_hypercall(struct kvm_vcpu *vcpu, } else#endif { - nr = vcpu->regs[VCPU_REGS_RBX ] &-1u ; - a0 = vcpu->regs[VCPU_REGS_RAX ] &-1u ; + nr = vcpu->regs[VCPU_REGS_RAX ] &-1u ;
Quoted 9 lines
drivers/kvm/kvm_main.c int kvm_hypercall(struct kvm_vcpu *vcpu, · line 1358
Quoted 6 lines
drivers/kvm/kvm_main.c +1
-0+ a0 = vcpu->regs[VCPU_REGS_RBX ] &-1u ; a1 = vcpu->regs[VCPU_REGS_RCX ] &-1u ; a2 = vcpu->regs[VCPU_REGS_RDX ] &-1u ; a3 = vcpu->regs[VCPU_REGS_RSI ] &-1u ;Anthony? I think you were hacking this area?
I make a similar change in my series.
Regards,
Anthony Liguori
-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/