From: Feng Wu Date: Tue, 24 Nov 2015 11:10:36 +0000 (+0100) Subject: vmx: extend struct pi_desc to support VT-d Posted-Interrupts X-Git-Tag: archive/raspbian/4.8.0-1+rpi1~1^2~2232 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=30e3f328a5cc3747d9e038f2a80f39363dd65ea0;p=xen.git vmx: extend struct pi_desc to support VT-d Posted-Interrupts Extend struct pi_desc according to VT-d Posted-Interrupts Spec. Signed-off-by: Feng Wu Reviewed-by: Andrew Cooper Acked-by: Kevin Tian Reviewed-by: Konrad Rzeszutek Wilk --- diff --git a/xen/include/asm-x86/hvm/vmx/vmcs.h b/xen/include/asm-x86/hvm/vmx/vmcs.h index f873523f47..0a69a4411a 100644 --- a/xen/include/asm-x86/hvm/vmx/vmcs.h +++ b/xen/include/asm-x86/hvm/vmx/vmcs.h @@ -80,8 +80,18 @@ struct vmx_domain { struct pi_desc { DECLARE_BITMAP(pir, NR_VECTORS); - u32 control; - u32 rsvd[7]; + union { + struct { + u16 on : 1, /* bit 256 - Outstanding Notification */ + sn : 1, /* bit 257 - Suppress Notification */ + rsvd_1 : 14; /* bit 271:258 - Reserved */ + u8 nv; /* bit 279:272 - Notification Vector */ + u8 rsvd_2; /* bit 287:280 - Reserved */ + u32 ndst; /* bit 319:288 - Notification Destination */ + }; + u64 control; + }; + u32 rsvd[6]; } __attribute__ ((aligned (64))); #define ept_get_wl(ept) ((ept)->ept_wl)