ps3: fix interrupt bmp
Subsystems (2)
PATCH 11/16 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 <[email protected]>
--- arch/powerpc/platforms/ps3/interrupt.c | 7 ++++++- 1 files changed, 6 insertions(+), 1 deletion(-)
arch/powerpc/platforms/ps3/interrupt.c +6 -1
@@ -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; };
Quoted 4 lines · Geoff Levand
Add a comment and a preprocessor macro to help clearify the alignment needs of the PS3 interrupt bitmap.
Signed-off-by Geoff Levand <[email protected]>
Acked-by Arnd Bergmann <[email protected]>