From: Razvan Cojocaru Date: Tue, 26 Aug 2014 15:54:34 +0000 (+0200) Subject: VMX: use #defines instead of magic constants X-Git-Tag: archive/raspbian/4.8.0-1+rpi1~1^2~4512 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=9eb95c3c82221969539b9958ae6de6c3bd58ce51;p=xen.git VMX: use #defines instead of magic constants Now using a combination of INTR_INFO_VECTOR_MASK, INTR_INFO_INTR_TYPE_MASK and MASK_EXTR() to replace the old "(ev >> 8) & 7, ev & 0xff" magic constant code in vmx.c. Changes since V1: - Fixed indentation. Changes since V2: - Fixed vmx_idtv_reinject() also. Sugested-off-by: Jan Beulich Signed-off-by: Razvan Cojocaru --- diff --git a/xen/arch/x86/hvm/vmx/vmx.c b/xen/arch/x86/hvm/vmx/vmx.c index dc18a7268b..039e336270 100644 --- a/xen/arch/x86/hvm/vmx/vmx.c +++ b/xen/arch/x86/hvm/vmx/vmx.c @@ -434,7 +434,8 @@ static void vmx_vmcs_save(struct vcpu *v, struct hvm_hw_cpu *c) c->error_code = 0; __vmread(VM_ENTRY_INTR_INFO, &ev); if ( (ev & INTR_INFO_VALID_MASK) && - hvm_event_needs_reinjection((ev >> 8) & 7, ev & 0xff) ) + hvm_event_needs_reinjection(MASK_EXTR(ev, INTR_INFO_INTR_TYPE_MASK), + ev & INTR_INFO_VECTOR_MASK) ) { c->pending_event = ev; __vmread(VM_ENTRY_EXCEPTION_ERROR_CODE, &ev); @@ -2511,7 +2512,9 @@ static void vmx_idtv_reinject(unsigned long idtv_info) /* Event delivery caused this intercept? Queue for redelivery. */ if ( unlikely(idtv_info & INTR_INFO_VALID_MASK) ) { - if ( hvm_event_needs_reinjection((idtv_info>>8)&7, idtv_info&0xff) ) + if ( hvm_event_needs_reinjection(MASK_EXTR(idtv_info, + INTR_INFO_INTR_TYPE_MASK), + idtv_info & INTR_INFO_VECTOR_MASK) ) { /* See SDM 3B 25.7.1.1 and .2 for info about masking resvd bits. */ __vmwrite(VM_ENTRY_INTR_INFO,