qemu-arm
[Top][All Lists]
Advanced

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

[Qemu-arm] [PATCH kvm-unit-tests v8 07/10] libcflat: add IS_ALIGNED() ma


From: Andrew Jones
Subject: [Qemu-arm] [PATCH kvm-unit-tests v8 07/10] libcflat: add IS_ALIGNED() macro, and page sizes
Date: Thu, 8 Dec 2016 18:50:27 +0100

From: Peter Xu <address@hidden>

These macros will be useful to do page alignment checks.

Reviewed-by: Andre Przywara <address@hidden>
Reviewed-by: Eric Auger <address@hidden>
Signed-off-by: Peter Xu <address@hidden>
[drew: also added SZ_64K and changed to shifts]
Signed-off-by: Andrew Jones <address@hidden>

---
v6: change to shifts [Alex]
---
 lib/libcflat.h | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/lib/libcflat.h b/lib/libcflat.h
index 15dbcadc6c7a..e636705e12b3 100644
--- a/lib/libcflat.h
+++ b/lib/libcflat.h
@@ -33,6 +33,12 @@
 #define __ALIGN_MASK(x, mask)  (((x) + (mask)) & ~(mask))
 #define __ALIGN(x, a)          __ALIGN_MASK(x, (typeof(x))(a) - 1)
 #define ALIGN(x, a)            __ALIGN((x), (a))
+#define IS_ALIGNED(x, a)       (((x) & ((typeof(x))(a) - 1)) == 0)
+
+#define SZ_4K                  (1 << 12)
+#define SZ_64K                 (1 << 16)
+#define SZ_2M                  (1 << 21)
+#define SZ_1G                  (1 << 30)
 
 typedef uint8_t                u8;
 typedef int8_t         s8;
-- 
2.9.3




reply via email to

[Prev in Thread] Current Thread [Next in Thread]