mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git
synced 2025-01-12 08:48:48 +00:00
KVM: x86: Simplify kvm_x86_ops->queue_exception parameter list
This patch removes all arguments except the first in kvm_x86_ops->queue_exception since they can extract the arguments from vcpu->arch.exception themselves. Cc: Paolo Bonzini <pbonzini@redhat.com> Cc: Radim Krčmář <rkrcmar@redhat.com> Signed-off-by: Wanpeng Li <wanpeng.li@hotmail.com> Signed-off-by: Radim Krčmář <rkrcmar@redhat.com>
This commit is contained in:
parent
efc479e690
commit
cfcd20e5ca
@ -954,9 +954,7 @@ struct kvm_x86_ops {
|
|||||||
unsigned char *hypercall_addr);
|
unsigned char *hypercall_addr);
|
||||||
void (*set_irq)(struct kvm_vcpu *vcpu);
|
void (*set_irq)(struct kvm_vcpu *vcpu);
|
||||||
void (*set_nmi)(struct kvm_vcpu *vcpu);
|
void (*set_nmi)(struct kvm_vcpu *vcpu);
|
||||||
void (*queue_exception)(struct kvm_vcpu *vcpu, unsigned nr,
|
void (*queue_exception)(struct kvm_vcpu *vcpu);
|
||||||
bool has_error_code, u32 error_code,
|
|
||||||
bool reinject);
|
|
||||||
void (*cancel_injection)(struct kvm_vcpu *vcpu);
|
void (*cancel_injection)(struct kvm_vcpu *vcpu);
|
||||||
int (*interrupt_allowed)(struct kvm_vcpu *vcpu);
|
int (*interrupt_allowed)(struct kvm_vcpu *vcpu);
|
||||||
int (*nmi_allowed)(struct kvm_vcpu *vcpu);
|
int (*nmi_allowed)(struct kvm_vcpu *vcpu);
|
||||||
|
@ -637,11 +637,13 @@ static void skip_emulated_instruction(struct kvm_vcpu *vcpu)
|
|||||||
svm_set_interrupt_shadow(vcpu, 0);
|
svm_set_interrupt_shadow(vcpu, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void svm_queue_exception(struct kvm_vcpu *vcpu, unsigned nr,
|
static void svm_queue_exception(struct kvm_vcpu *vcpu)
|
||||||
bool has_error_code, u32 error_code,
|
|
||||||
bool reinject)
|
|
||||||
{
|
{
|
||||||
struct vcpu_svm *svm = to_svm(vcpu);
|
struct vcpu_svm *svm = to_svm(vcpu);
|
||||||
|
unsigned nr = vcpu->arch.exception.nr;
|
||||||
|
bool has_error_code = vcpu->arch.exception.has_error_code;
|
||||||
|
bool reinject = vcpu->arch.exception.reinject;
|
||||||
|
u32 error_code = vcpu->arch.exception.error_code;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* If we are within a nested VM we'd better #VMEXIT and let the guest
|
* If we are within a nested VM we'd better #VMEXIT and let the guest
|
||||||
|
@ -2435,11 +2435,13 @@ static int nested_vmx_check_exception(struct kvm_vcpu *vcpu, unsigned nr)
|
|||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void vmx_queue_exception(struct kvm_vcpu *vcpu, unsigned nr,
|
static void vmx_queue_exception(struct kvm_vcpu *vcpu)
|
||||||
bool has_error_code, u32 error_code,
|
|
||||||
bool reinject)
|
|
||||||
{
|
{
|
||||||
struct vcpu_vmx *vmx = to_vmx(vcpu);
|
struct vcpu_vmx *vmx = to_vmx(vcpu);
|
||||||
|
unsigned nr = vcpu->arch.exception.nr;
|
||||||
|
bool has_error_code = vcpu->arch.exception.has_error_code;
|
||||||
|
bool reinject = vcpu->arch.exception.reinject;
|
||||||
|
u32 error_code = vcpu->arch.exception.error_code;
|
||||||
u32 intr_info = nr | INTR_INFO_VALID_MASK;
|
u32 intr_info = nr | INTR_INFO_VALID_MASK;
|
||||||
|
|
||||||
if (!reinject && is_guest_mode(vcpu) &&
|
if (!reinject && is_guest_mode(vcpu) &&
|
||||||
|
@ -6356,10 +6356,7 @@ static int inject_pending_event(struct kvm_vcpu *vcpu, bool req_int_win)
|
|||||||
kvm_update_dr7(vcpu);
|
kvm_update_dr7(vcpu);
|
||||||
}
|
}
|
||||||
|
|
||||||
kvm_x86_ops->queue_exception(vcpu, vcpu->arch.exception.nr,
|
kvm_x86_ops->queue_exception(vcpu);
|
||||||
vcpu->arch.exception.has_error_code,
|
|
||||||
vcpu->arch.exception.error_code,
|
|
||||||
vcpu->arch.exception.reinject);
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user