]> git.ipfire.org Git - thirdparty/open-vm-tools.git/commitdiff
Changes in shared code that don't affect open-vm-tools functionality.
authorVMware, Inc <>
Thu, 27 Oct 2011 18:46:16 +0000 (11:46 -0700)
committerMarcelo Vanzin <mvanzin@vmware.com>
Thu, 27 Oct 2011 18:46:16 +0000 (11:46 -0700)
Signed-off-by: Marcelo Vanzin <mvanzin@vmware.com>
open-vm-tools/lib/include/vm_basic_defs.h

index ca5faeae86dd48a75cf6038ca896384a6cd3af37..e2c9d3ecbc1cb35bcc18c7406711909d36deeee8 100644 (file)
@@ -160,6 +160,14 @@ Max(int a, int b)
 
 #define MASK(n)                ((1 << (n)) - 1)            /* make an n-bit mask */
 #define MASK64(n)      ((CONST64U(1) << (n)) - 1)  /* make an n-bit mask */
+/*
+ * MASKRANGE64 makes a bit vector starting at bit lo and ending at bit hi.  No
+ * checking for lo < hi is done.
+ */
+#define MASKRANGE64(hi, lo)      (MASK64((hi) - (lo) + 1) << (lo))
+
+/* SIGNEXT64 sign extends a value from bit position "pos" up to bit 63. */
+#define SIGNEXT64(val, pos)     (((int64)(val) << (63 - (pos))) >> (63 - (pos)))
 
 #define DWORD_ALIGN(x)          ((((x) + 3) >> 2) << 2)
 #define QWORD_ALIGN(x)          ((((x) + 7) >> 3) << 3)