|
[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 |