Message ID | 1479157719-31021-9-git-send-email-drjones@redhat.com |
---|---|
State | Superseded |
Headers | show |
Hi, On 14/11/2016 22:08, 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> > Signed-off-by: Peter Xu <peterx@redhat.com> > [drew: also added SZ_64K and changed to shifts] > Signed-off-by: Andrew Jones <drjones@redhat.com> > > --- > 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 82005f5d014f..244e40a724be 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; > Reviewed-by: Eric Auger <eric.auger@redhat.com> Eric
diff --git a/lib/libcflat.h b/lib/libcflat.h index 82005f5d014f..244e40a724be 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;