KVM: VMX: Factor out is_exception_n helper
There is quite some common code in all these is_<exception>() helpers. Factor it out before adding even more of them. Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
This commit is contained in:
parent
6b6de68c63
commit
5bb16016ce
|
@ -961,25 +961,26 @@ static const u32 vmx_msr_index[] = {
|
||||||
MSR_EFER, MSR_TSC_AUX, MSR_STAR,
|
MSR_EFER, MSR_TSC_AUX, MSR_STAR,
|
||||||
};
|
};
|
||||||
|
|
||||||
static inline bool is_page_fault(u32 intr_info)
|
static inline bool is_exception_n(u32 intr_info, u8 vector)
|
||||||
{
|
{
|
||||||
return (intr_info & (INTR_INFO_INTR_TYPE_MASK | INTR_INFO_VECTOR_MASK |
|
return (intr_info & (INTR_INFO_INTR_TYPE_MASK | INTR_INFO_VECTOR_MASK |
|
||||||
INTR_INFO_VALID_MASK)) ==
|
INTR_INFO_VALID_MASK)) ==
|
||||||
(INTR_TYPE_HARD_EXCEPTION | PF_VECTOR | INTR_INFO_VALID_MASK);
|
(INTR_TYPE_HARD_EXCEPTION | vector | INTR_INFO_VALID_MASK);
|
||||||
|
}
|
||||||
|
|
||||||
|
static inline bool is_page_fault(u32 intr_info)
|
||||||
|
{
|
||||||
|
return is_exception_n(intr_info, PF_VECTOR);
|
||||||
}
|
}
|
||||||
|
|
||||||
static inline bool is_no_device(u32 intr_info)
|
static inline bool is_no_device(u32 intr_info)
|
||||||
{
|
{
|
||||||
return (intr_info & (INTR_INFO_INTR_TYPE_MASK | INTR_INFO_VECTOR_MASK |
|
return is_exception_n(intr_info, NM_VECTOR);
|
||||||
INTR_INFO_VALID_MASK)) ==
|
|
||||||
(INTR_TYPE_HARD_EXCEPTION | NM_VECTOR | INTR_INFO_VALID_MASK);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static inline bool is_invalid_opcode(u32 intr_info)
|
static inline bool is_invalid_opcode(u32 intr_info)
|
||||||
{
|
{
|
||||||
return (intr_info & (INTR_INFO_INTR_TYPE_MASK | INTR_INFO_VECTOR_MASK |
|
return is_exception_n(intr_info, UD_VECTOR);
|
||||||
INTR_INFO_VALID_MASK)) ==
|
|
||||||
(INTR_TYPE_HARD_EXCEPTION | UD_VECTOR | INTR_INFO_VALID_MASK);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static inline bool is_external_interrupt(u32 intr_info)
|
static inline bool is_external_interrupt(u32 intr_info)
|
||||||
|
|
Loading…
Reference in New Issue