aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--arch/powerpc/platforms/ps3/interrupt.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/arch/powerpc/platforms/ps3/interrupt.c b/arch/powerpc/platforms/ps3/interrupt.c
index 3735cd14f614..95b128ba9087 100644
--- a/arch/powerpc/platforms/ps3/interrupt.c
+++ b/arch/powerpc/platforms/ps3/interrupt.c
@@ -48,6 +48,9 @@
48 * behalf of the guest. These mappings are implemented as 256 bit guest 48 * behalf of the guest. These mappings are implemented as 256 bit guest
49 * supplied bitmaps indexed by plug number. The addresses of the bitmaps 49 * supplied bitmaps indexed by plug number. The addresses of the bitmaps
50 * are registered with the HV through lv1_configure_irq_state_bitmap(). 50 * are registered with the HV through lv1_configure_irq_state_bitmap().
51 * The HV requires that the 512 bits of status + mask not cross a page
52 * boundary. PS3_BMP_MINALIGN is used to define this minimal 64 byte
53 * alignment.
51 * 54 *
52 * The HV supports 256 plugs per thread, assigned as {0..255}, for a total 55 * The HV supports 256 plugs per thread, assigned as {0..255}, for a total
53 * of 512 plugs supported on a processor. To simplify the logic this 56 * of 512 plugs supported on a processor. To simplify the logic this
@@ -59,6 +62,8 @@
59 * can acquire. 62 * can acquire.
60 */ 63 */
61 64
65#define PS3_BMP_MINALIGN 64
66
62struct ps3_bmp { 67struct ps3_bmp {
63 struct { 68 struct {
64 u64 status; 69 u64 status;
@@ -78,7 +83,7 @@ struct ps3_bmp {
78 */ 83 */
79 84
80struct ps3_private { 85struct ps3_private {
81 struct ps3_bmp bmp __attribute__ ((aligned (64))); 86 struct ps3_bmp bmp __attribute__ ((aligned (PS3_BMP_MINALIGN)));
82 u64 node; 87 u64 node;
83 unsigned int cpu; 88 unsigned int cpu;
84}; 89};