All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] ppc/ppc64: Compile purgatory code with gcc option -msoft-float
@ 2012-06-08 13:43 Vivek Goyal
       [not found] ` <20120608134801.GZ24904@tucnak.redhat.com>
  0 siblings, 1 reply; 5+ messages in thread
From: Vivek Goyal @ 2012-06-08 13:43 UTC (permalink / raw)
  To: kexec, Simon Horman; +Cc: Jakub Jelinek, Suzuki K. Poulose, Lingzhu Xiang

Recently we faced an issue on power7 machine where kernel hanged in purgatory.
Some investigation revealed that gcc is generating hardware FPU instructions.
I have been told we can't use it at this point of time and as kernel is
compiled with -msoft-float for ppc/ppc64, so should be purgatory (as it runs
inside kernel context).

Thanks to Jakub Jelinek and Lingzhu Xiang for debugging and coming up with
a fix for this issue.

Signed-off-by: Vivek Goyal <vgoyal@redhat.com>
Tested-by: Lingzhu Xiang <lxiang@redhat.com>
Tested-by: Suzuki K. Poulose <suzuki@in.ibm.com> 
---
 purgatory/arch/ppc/Makefile   |    2 ++
 purgatory/arch/ppc64/Makefile |    2 +-
 2 files changed, 3 insertions(+), 1 deletion(-)

Index: kexec-tools/purgatory/arch/ppc64/Makefile
===================================================================
--- kexec-tools.orig/purgatory/arch/ppc64/Makefile	2012-02-20 14:45:25.000000000 -0500
+++ kexec-tools/purgatory/arch/ppc64/Makefile	2012-06-06 16:19:09.000696306 -0400
@@ -9,7 +9,7 @@ ppc64_PURGATORY_SRCS += purgatory/arch/p
 ppc64_PURGATORY_SRCS += purgatory/arch/ppc64/crashdump_backup.c
 ppc64_PURGATORY_SRCS += purgatory/arch/ppc64/misc.S
 
-ppc64_PURGATORY_EXTRA_CFLAGS += -m64 -mcall-aixdesc
+ppc64_PURGATORY_EXTRA_CFLAGS += -m64 -mcall-aixdesc -msoft-float
 ppc64_PURGATORY_EXTRA_ASFLAGS += -m64 -mcall-aixdesc
 ppc64_PURGATORY_EXTRA_LDFLAGS += -melf64ppc
 
Index: kexec-tools/purgatory/arch/ppc/Makefile
===================================================================
--- kexec-tools.orig/purgatory/arch/ppc/Makefile	2011-03-18 17:09:38.000000000 -0400
+++ kexec-tools/purgatory/arch/ppc/Makefile	2012-06-06 16:33:50.444406235 -0400
@@ -7,6 +7,8 @@ ppc_PURGATORY_SRCS += purgatory/arch/ppc
 ppc_PURGATORY_SRCS += purgatory/arch/ppc/purgatory-ppc.c
 ppc_PURGATORY_SRCS += purgatory/arch/ppc/console-ppc.c
 
+ppc_PURGATORY_EXTRA_CFLAGS += -msoft-float
+
 dist += purgatory/arch/ppc/Makefile $(ppc_PURGATORY_SRCS)		\
 	purgatory/arch/ppc/purgatory-ppc.h purgatory/arch/ppc/ppc_asm.h
 

_______________________________________________
kexec mailing list
kexec@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/kexec

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2012-06-11  1:43 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-06-08 13:43 [PATCH] ppc/ppc64: Compile purgatory code with gcc option -msoft-float Vivek Goyal
     [not found] ` <20120608134801.GZ24904@tucnak.redhat.com>
2012-06-08 14:39   ` Vivek Goyal
     [not found]     ` <20120608145113.GB24904@tucnak.redhat.com>
2012-06-08 15:19       ` Vivek Goyal
2012-06-08 17:36         ` Eric W. Biederman
2012-06-11  1:43         ` Simon Horman

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.