[PATCH 11/16] ps3: fix interrupt bmp
Geoff Levand
geoffrey.levand at am.sony.com
Sat Jan 27 14:08:16 EST 2007
Add a comment and a preprocessor macro to help clearify the alignment
needs of the PS3 interrupt bitmap.
Signed-off-by: Geoff Levand <geoffrey.levand at am.sony.com>
---
arch/powerpc/platforms/ps3/interrupt.c | 7 ++++++-
1 files changed, 6 insertions(+), 1 deletion(-)
--- ps3-linux-dev.orig/arch/powerpc/platforms/ps3/interrupt.c
+++ ps3-linux-dev/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;
};
More information about the Linuxppc-dev
mailing list