[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PULL 03/39] include/qemu/osdep.h: Add macros for pointer a
From: |
Richard Henderson |
Subject: |
[Qemu-devel] [PULL 03/39] include/qemu/osdep.h: Add macros for pointer alignment |
Date: |
Thu, 12 May 2016 14:13:04 -1000 |
From: Sergey Fedorov <address@hidden>
These macros provide a convenient way to n-byte align pointers up and
down and check if a pointer is n-byte aligned.
Signed-off-by: Sergey Fedorov <address@hidden>
Signed-off-by: Sergey Fedorov <address@hidden>
Message-Id: <address@hidden>
Signed-off-by: Richard Henderson <address@hidden>
---
include/qemu/osdep.h | 11 +++++++++++
1 file changed, 11 insertions(+)
diff --git a/include/qemu/osdep.h b/include/qemu/osdep.h
index e3bc50b..1e3221c 100644
--- a/include/qemu/osdep.h
+++ b/include/qemu/osdep.h
@@ -161,6 +161,17 @@ extern int daemon(int, int);
/* Check if n is a multiple of m */
#define QEMU_IS_ALIGNED(n, m) (((n) % (m)) == 0)
+/* n-byte align pointer down */
+#define QEMU_ALIGN_PTR_DOWN(p, n) \
+ ((typeof(p))QEMU_ALIGN_DOWN((uintptr_t)(p), (n)))
+
+/* n-byte align pointer up */
+#define QEMU_ALIGN_PTR_UP(p, n) \
+ ((typeof(p))QEMU_ALIGN_UP((uintptr_t)(p), (n)))
+
+/* Check if pointer p is n-bytes aligned */
+#define QEMU_PTR_IS_ALIGNED(p, n) QEMU_IS_ALIGNED((uintptr_t)(p), (n))
+
#ifndef ROUND_UP
#define ROUND_UP(n,d) (((n) + (d) - 1) & -(d))
#endif
--
2.5.5
- [Qemu-devel] [PULL 00/39] tcg-next patch queue, Richard Henderson, 2016/05/12
- [Qemu-devel] [PULL 02/39] include/qemu/osdep.h: Add a macro to check for alignment, Richard Henderson, 2016/05/12
- [Qemu-devel] [PULL 03/39] include/qemu/osdep.h: Add macros for pointer alignment,
Richard Henderson <=
- [Qemu-devel] [PULL 01/39] tb: consistently use uint32_t for tb->flags, Richard Henderson, 2016/05/12
- [Qemu-devel] [PULL 04/39] tci: Make direct jump patching thread-safe, Richard Henderson, 2016/05/12
- [Qemu-devel] [PULL 06/39] tcg/i386: Make direct jump patching thread-safe, Richard Henderson, 2016/05/12
- [Qemu-devel] [PULL 08/39] tcg/arm: Make direct jump patching thread-safe, Richard Henderson, 2016/05/12
- [Qemu-devel] [PULL 10/39] tcg/sparc: Make direct jump patching thread-safe, Richard Henderson, 2016/05/12
- [Qemu-devel] [PULL 05/39] tcg/ppc: Make direct jump patching thread-safe, Richard Henderson, 2016/05/12
- [Qemu-devel] [PULL 07/39] tcg/s390: Make direct jump patching thread-safe, Richard Henderson, 2016/05/12
- [Qemu-devel] [PULL 09/39] tcg/aarch64: Make direct jump patching thread-safe, Richard Henderson, 2016/05/12
- [Qemu-devel] [PULL 11/39] tcg/mips: Make direct jump patching thread-safe, Richard Henderson, 2016/05/12
- [Qemu-devel] [PULL 12/39] tcg: Note requirement on atomic direct jump patching, Richard Henderson, 2016/05/12