[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 
b/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 
*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
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel


 


Rackspace

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