exception_type() function was moved for upcoming sanity check in emulation code. exceptions_class() function is not supposed to be used right now, but it was moved as well to keep things together. Cc: Denis Lunev <den@xxxxxxxxxxxxx> Cc: Roman Kagan <rkagan@xxxxxxxxxxxxx> Cc: Denis Plotnikov <dplotnikov@xxxxxxxxxxxxx> Signed-off-by: Jan Dakinevich <jan.dakinevich@xxxxxxxxxxxxx> --- arch/x86/kvm/x86.c | 46 ---------------------------------------------- arch/x86/kvm/x86.h | 46 ++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 46 insertions(+), 46 deletions(-) diff --git a/arch/x86/kvm/x86.c b/arch/x86/kvm/x86.c index 903fb7c..2b69ae0 100644 --- a/arch/x86/kvm/x86.c +++ b/arch/x86/kvm/x86.c @@ -364,52 +364,6 @@ asmlinkage __visible void kvm_spurious_fault(void) } EXPORT_SYMBOL_GPL(kvm_spurious_fault); -#define EXCPT_BENIGN 0 -#define EXCPT_CONTRIBUTORY 1 -#define EXCPT_PF 2 - -static int exception_class(int vector) -{ - switch (vector) { - case PF_VECTOR: - return EXCPT_PF; - case DE_VECTOR: - case TS_VECTOR: - case NP_VECTOR: - case SS_VECTOR: - case GP_VECTOR: - return EXCPT_CONTRIBUTORY; - default: - break; - } - return EXCPT_BENIGN; -} - -#define EXCPT_FAULT 0 -#define EXCPT_TRAP 1 -#define EXCPT_ABORT 2 -#define EXCPT_INTERRUPT 3 - -static int exception_type(int vector) -{ - unsigned int mask; - - if (WARN_ON(vector > 31 || vector == NMI_VECTOR)) - return EXCPT_INTERRUPT; - - mask = 1 << vector; - - /* #DB is trap, as instruction watchpoints are handled elsewhere */ - if (mask & ((1 << DB_VECTOR) | (1 << BP_VECTOR) | (1 << OF_VECTOR))) - return EXCPT_TRAP; - - if (mask & ((1 << DF_VECTOR) | (1 << MC_VECTOR))) - return EXCPT_ABORT; - - /* Reserved exceptions will result in fault */ - return EXCPT_FAULT; -} - void kvm_deliver_exception_payload(struct kvm_vcpu *vcpu) { unsigned nr = vcpu->arch.exception.nr; diff --git a/arch/x86/kvm/x86.h b/arch/x86/kvm/x86.h index b5274e2..2b66347 100644 --- a/arch/x86/kvm/x86.h +++ b/arch/x86/kvm/x86.h @@ -369,4 +369,50 @@ static inline bool kvm_pat_valid(u64 data) void kvm_load_guest_xcr0(struct kvm_vcpu *vcpu); void kvm_put_guest_xcr0(struct kvm_vcpu *vcpu); +#define EXCPT_BENIGN 0 +#define EXCPT_CONTRIBUTORY 1 +#define EXCPT_PF 2 + +static inline int exception_class(int vector) +{ + switch (vector) { + case PF_VECTOR: + return EXCPT_PF; + case DE_VECTOR: + case TS_VECTOR: + case NP_VECTOR: + case SS_VECTOR: + case GP_VECTOR: + return EXCPT_CONTRIBUTORY; + default: + break; + } + return EXCPT_BENIGN; +} + +#define EXCPT_FAULT 0 +#define EXCPT_TRAP 1 +#define EXCPT_ABORT 2 +#define EXCPT_INTERRUPT 3 + +static inline int exception_type(int vector) +{ + unsigned int mask; + + if (WARN_ON(vector > 31 || vector == NMI_VECTOR)) + return EXCPT_INTERRUPT; + + mask = 1 << vector; + + /* #DB is trap, as instruction watchpoints are handled elsewhere */ + if (mask & ((1 << DB_VECTOR) | (1 << BP_VECTOR) | (1 << OF_VECTOR))) + return EXCPT_TRAP; + + if (mask & ((1 << DF_VECTOR) | (1 << MC_VECTOR))) + return EXCPT_ABORT; + + /* Reserved exceptions will result in fault */ + return EXCPT_FAULT; +} + #endif -- 2.1.4