[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] [RFC v1 04/15] vmx: Add some helper functions for Posted-Interrupts

On 25/03/15 12:31, Feng Wu wrote:
This patch adds some helper functions to manipulate the
Posted-Interrupts Descriptor.

Signed-off-by: Feng Wu <feng.wu@xxxxxxxxx>
  xen/include/asm-x86/hvm/vmx/vmx.h | 21 +++++++++++++++++++++
  1 file changed, 21 insertions(+)

diff --git a/xen/include/asm-x86/hvm/vmx/vmx.h 
index 91c5e18..ecc5e17 100644
--- a/xen/include/asm-x86/hvm/vmx/vmx.h
+++ b/xen/include/asm-x86/hvm/vmx/vmx.h
@@ -100,6 +100,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);
@@ -120,6 +121,26 @@ static inline int pi_test_and_clear_on(struct pi_desc 
      return test_and_clear_bit(POSTED_INTR_ON, &pi_desc->control);
+static inline int pi_test_on(struct pi_desc *pi_desc)

static inline bool_t pi_test_on(const struct pi_desc *pi_desc) please. Similar for test_sn below.

Is it important that these operations are properly atomic? A custory glance at the rest of your series suggests not. If not, please use the non-locked variants of test/clear/set_bit.

Otherwise, Reviewed-by: Andrew Cooper <andrew.cooper3@xxxxxxxxxx>

+    return test_bit(POSTED_INTR_ON, &pi_desc->control);
+static inline void pi_set_sn(struct pi_desc *pi_desc)
+    set_bit(POSTED_INTR_SN, &pi_desc->control);
+static inline int pi_test_sn(struct pi_desc *pi_desc)
+    return test_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);
  static inline unsigned long pi_get_pir(struct pi_desc *pi_desc, int group)
      return xchg(&pi_desc->pir[group], 0);

Xen-devel mailing list



Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.