From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jan Kiszka Subject: [PATCH 1/2] KVM: VMX: Factor out is_exception_n helper Date: Tue, 9 Feb 2016 20:14:21 +0100 Message-ID: <56BA3A8D.7020106@web.de> Mime-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="8rseDoDsMIW0Eoc77atTefCD126QAREVa" Cc: kvm To: Paolo Bonzini Return-path: Received: from mout.web.de ([212.227.17.11]:54902 "EHLO mout.web.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S932359AbcBITOf (ORCPT ); Tue, 9 Feb 2016 14:14:35 -0500 Sender: kvm-owner@vger.kernel.org List-ID: This is an OpenPGP/MIME signed message (RFC 4880 and 3156) --8rseDoDsMIW0Eoc77atTefCD126QAREVa Content-Type: text/plain; charset=iso-8859-15 Content-Transfer-Encoding: quoted-printable From: Jan Kiszka There is quite some common code in all these is_() helpers. Factor it out before adding even more of them. Signed-off-by: Jan Kiszka --- arch/x86/kvm/vmx.c | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/arch/x86/kvm/vmx.c b/arch/x86/kvm/vmx.c index 164eb9e..7852092 100644 --- a/arch/x86/kvm/vmx.c +++ b/arch/x86/kvm/vmx.c @@ -961,25 +961,26 @@ static const u32 vmx_msr_index[] =3D { MSR_EFER, MSR_TSC_AUX, MSR_STAR, }; =20 -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 |= INTR_INFO_VALID_MASK)) =3D=3D - (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); } =20 static inline bool is_no_device(u32 intr_info) { - return (intr_info & (INTR_INFO_INTR_TYPE_MASK | INTR_INFO_VECTOR_MASK |= - INTR_INFO_VALID_MASK)) =3D=3D - (INTR_TYPE_HARD_EXCEPTION | NM_VECTOR | INTR_INFO_VALID_MASK); + return is_exception_n(intr_info, NM_VECTOR); } =20 static inline bool is_invalid_opcode(u32 intr_info) { - return (intr_info & (INTR_INFO_INTR_TYPE_MASK | INTR_INFO_VECTOR_MASK |= - INTR_INFO_VALID_MASK)) =3D=3D - (INTR_TYPE_HARD_EXCEPTION | UD_VECTOR | INTR_INFO_VALID_MASK); + return is_exception_n(intr_info, UD_VECTOR); } =20 static inline bool is_external_interrupt(u32 intr_info) --=20 2.1.4 --8rseDoDsMIW0Eoc77atTefCD126QAREVa Content-Type: application/pgp-signature; name="signature.asc" Content-Description: OpenPGP digital signature Content-Disposition: attachment; filename="signature.asc" -----BEGIN PGP SIGNATURE----- Version: GnuPG v2 iEYEARECAAYFAla6Oo0ACgkQitSsb3rl5xRfQQCfY+zZcQvKEIap+8u5/Qk0azGV EaQAoIXfVah9nj9SDRasSVUZMcuxPSyx =qGGE -----END PGP SIGNATURE----- --8rseDoDsMIW0Eoc77atTefCD126QAREVa--