[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] [PATCH V3] Use #defines instead of magic constants in vmx.c
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. Signed-off-by: Razvan Cojocaru <rcojocaru@xxxxxxxxxxxxxxx> --- xen/arch/x86/hvm/vmx/vmx.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/xen/arch/x86/hvm/vmx/vmx.c b/xen/arch/x86/hvm/vmx/vmx.c index 2caa04a..700f0e3 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); @@ -2513,7 +2514,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, -- 1.7.9.5 _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |