From: Geoff Levand Date: Sat, 27 Jan 2007 03:08:16 +0000 (-0800) Subject: [POWERPC] ps3: fix interrupt bmp X-Git-Tag: v2.6.21-rc1~92^2~23^2~59 X-Git-Url: https://err.no/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=577157659fb0ace3b88dd75e2c6cb1af84b3040d;p=linux-2.6 [POWERPC] ps3: fix interrupt bmp Add a comment and a preprocessor macro to help clearify the alignment needs of the PS3 interrupt bitmap. Signed-off-by: Geoff Levand Acked-by: Arnd Bergmann Signed-off-by: Paul Mackerras --- diff --git a/arch/powerpc/platforms/ps3/interrupt.c b/arch/powerpc/platforms/ps3/interrupt.c index 3735cd14f6..95b128ba90 100644 --- a/arch/powerpc/platforms/ps3/interrupt.c +++ b/arch/powerpc/platforms/ps3/interrupt.c @@ -48,6 +48,9 @@ * behalf of the guest. These mappings are implemented as 256 bit guest * supplied bitmaps indexed by plug number. The addresses of the bitmaps * are registered with the HV through lv1_configure_irq_state_bitmap(). + * The HV requires that the 512 bits of status + mask not cross a page + * boundary. PS3_BMP_MINALIGN is used to define this minimal 64 byte + * alignment. * * The HV supports 256 plugs per thread, assigned as {0..255}, for a total * of 512 plugs supported on a processor. To simplify the logic this @@ -59,6 +62,8 @@ * can acquire. */ +#define PS3_BMP_MINALIGN 64 + struct ps3_bmp { struct { u64 status; @@ -78,7 +83,7 @@ struct ps3_bmp { */ struct ps3_private { - struct ps3_bmp bmp __attribute__ ((aligned (64))); + struct ps3_bmp bmp __attribute__ ((aligned (PS3_BMP_MINALIGN))); u64 node; unsigned int cpu; };