diff mbox

[kvm-unit-tests,v4,08/11] libcflat: add IS_ALIGNED() macro, and page sizes

Message ID 1478636499-14339-9-git-send-email-drjones@redhat.com
State Superseded
Headers show

Commit Message

Andrew Jones Nov. 8, 2016, 8:21 p.m. UTC
From: Peter Xu <peterx@redhat.com>


These macros will be useful to do page alignment checks.

Signed-off-by: Peter Xu <peterx@redhat.com>

[drew: also added SZ_64K]
Signed-off-by: Andrew Jones <drjones@redhat.com>

---
 lib/libcflat.h | 6 ++++++
 1 file changed, 6 insertions(+)

-- 
2.7.4

Comments

Andre Przywara Nov. 9, 2016, 2:59 p.m. UTC | #1
Hi,

On 08/11/16 20:21, Andrew Jones wrote:
> From: Peter Xu <peterx@redhat.com>

> 

> These macros will be useful to do page alignment checks.


Reviewed-by: Andre Przywara <andre.przywara@arm.com>


Cheers,
Andre.

> Signed-off-by: Peter Xu <peterx@redhat.com>

> [drew: also added SZ_64K]

> Signed-off-by: Andrew Jones <drjones@redhat.com>

> ---

>  lib/libcflat.h | 6 ++++++

>  1 file changed, 6 insertions(+)

> 

> diff --git a/lib/libcflat.h b/lib/libcflat.h

> index 82005f5d014f..143fc53061fe 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			(0x1000)

> +#define SZ_64K			(0x10000)

> +#define SZ_2M			(0x200000)

> +#define SZ_1G			(0x40000000)

>  

>  typedef uint8_t		u8;

>  typedef int8_t		s8;

>
Peter Xu Nov. 9, 2016, 3:07 p.m. UTC | #2
On Tue, Nov 08, 2016 at 09:21:36PM +0100, Andrew Jones wrote:
> From: Peter Xu <peterx@redhat.com>

> 

> These macros will be useful to do page alignment checks.

> 

> Signed-off-by: Peter Xu <peterx@redhat.com>

> [drew: also added SZ_64K]

> Signed-off-by: Andrew Jones <drjones@redhat.com>


Reviewed-by: Peter Xu <peterx@redhat.com>
diff mbox

Patch

diff --git a/lib/libcflat.h b/lib/libcflat.h
index 82005f5d014f..143fc53061fe 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			(0x1000)
+#define SZ_64K			(0x10000)
+#define SZ_2M			(0x200000)
+#define SZ_1G			(0x40000000)
 
 typedef uint8_t		u8;
 typedef int8_t		s8;