From: Feng Wu Date: Tue, 24 Nov 2015 11:11:00 +0000 (+0100) Subject: vmx: add some helper functions for Posted-Interrupts X-Git-Tag: archive/raspbian/4.8.0-1+rpi1~1^2~2231 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=03523ab0d338f8b017775f044377baf0b79a44d1;p=xen.git vmx: add some helper functions for Posted-Interrupts This patch adds some helper functions to manipulate the Posted-Interrupts Descriptor. Signed-off-by: Feng Wu Reviewed-by: Konrad Rzeszutek Wilk Acked-by: Kevin Tian --- diff --git a/xen/include/asm-x86/hvm/vmx/vmx.h b/xen/include/asm-x86/hvm/vmx/vmx.h index f16a306331..dd3a135913 100644 --- a/xen/include/asm-x86/hvm/vmx/vmx.h +++ b/xen/include/asm-x86/hvm/vmx/vmx.h @@ -101,6 +101,7 @@ void vmx_update_cpu_exec_control(struct vcpu *v); void vmx_update_secondary_exec_control(struct vcpu *v); #define POSTED_INTR_ON 0 +#define POSTED_INTR_SN 1 static inline int pi_test_and_set_pir(int vector, struct pi_desc *pi_desc) { return test_and_set_bit(vector, pi_desc->pir); @@ -121,11 +122,31 @@ static inline int pi_test_and_clear_on(struct pi_desc *pi_desc) return test_and_clear_bit(POSTED_INTR_ON, &pi_desc->control); } +static inline int pi_test_on(struct pi_desc *pi_desc) +{ + return pi_desc->on; +} + static inline unsigned long pi_get_pir(struct pi_desc *pi_desc, int group) { return xchg(&pi_desc->pir[group], 0); } +static inline int pi_test_sn(struct pi_desc *pi_desc) +{ + return pi_desc->sn; +} + +static inline void pi_set_sn(struct pi_desc *pi_desc) +{ + set_bit(POSTED_INTR_SN, &pi_desc->control); +} + +static inline void pi_clear_sn(struct pi_desc *pi_desc) +{ + clear_bit(POSTED_INTR_SN, &pi_desc->control); +} + /* * Exit Reasons */