patch-2.4.23 linux-2.4.23/include/asm-sh64/processor.h

Next file: linux-2.4.23/include/asm-sh64/registers.h
Previous file: linux-2.4.23/include/asm-sh64/pci.h
Back to the patch index
Back to the overall index

diff -urN linux-2.4.22/include/asm-sh64/processor.h linux-2.4.23/include/asm-sh64/processor.h
@@ -113,11 +113,12 @@
 #ifndef __ASSEMBLY__
 
 /*
- * FPU structure and data
+ * FPU structure and data : require 8-byte alignment as we need to access it
+   with fld.p, fst.p
  */
 
 struct sh_fpu_hard_struct {
-	unsigned long long fp_regs[32];
+	unsigned long fp_regs[64];
 	unsigned int fpscr;
 	/* long status; * software status information */
 };
@@ -135,6 +136,9 @@
 union sh_fpu_union {
 	struct sh_fpu_hard_struct hard;
 	// struct sh_fpu_soft_struct soft;
+	/* 'hard' itself only produces 32 bit alignment, yet we need
+	   to access it using 64 bit load/store as well. */
+	unsigned long long alignment_dummy;
 };
 
 struct thread_struct {

FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)