grub-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH] Add flags for powerpc in order to avoid exceptions


From: Paulo Flabiano Smorigo
Subject: Re: [PATCH] Add flags for powerpc in order to avoid exceptions
Date: Wed, 8 Oct 2014 20:38:29 -0300
User-agent: Mutt/1.5.22.1 (2013-10-16)

Mon, Sep 29, 2014 at 10:30:16PM +0400, Andrei Borzenkov wrote:
> В Sat, 27 Sep 2014 09:06:53 +0400
> Andrei Borzenkov <address@hidden> пишет:
> 
> > В Fri, 26 Sep 2014 16:29:40 -0300
> > Paulo Flabiano Smorigo <address@hidden> пишет:
> > 
> > > * conf/Makefile.common [COND_powerpc_ieee1275] (CFLAGS_PLATFORM): Add
> > > -msoft-float -mno-vsx -mno-altivec.
> > > 
> > > Also-By: Adhemerval Zanella <address@hidden>
> > > ---
> > >  ChangeLog            | 7 +++++++
> > >  conf/Makefile.common | 3 +++
> > >  2 files changed, 10 insertions(+)
> > > 
> > > diff --git a/ChangeLog b/ChangeLog
> > > index 192e8bc..40eb90c 100644
> > > --- a/ChangeLog
> > > +++ b/ChangeLog
> > > @@ -1,3 +1,10 @@
> > > +2014-09-26  Paulo Flabiano Smorigo  <address@hidden>
> > > +
> > > + Add flags for powerpc in order to avoid exceptions
> > > +
> > > + * conf/Makefile.common [COND_powerpc_ieee1275] (CFLAGS_PLATFORM): Add
> > > + -msoft-float -mno-vsx -mno-altivec.
> > > +
> > >  2014-09-25  Colin Watson  <address@hidden>
> > >  
> > >   Fix in-tree --platform=none
> > > diff --git a/conf/Makefile.common b/conf/Makefile.common
> > > index 51fbaf9..57c491a 100644
> > > --- a/conf/Makefile.common
> > > +++ b/conf/Makefile.common
> > > @@ -22,6 +22,9 @@ endif
> > >  if COND_arm64
> > >    CFLAGS_PLATFORM += -mcmodel=large
> > >  endif
> > > +if COND_powerpc_ieee1275
> > > +  CFLAGS_PLATFORM += -msoft-float -mno-vsx -mno-altivec
> > > +endif
> > >  
> > >  #FIXME: discover and check XEN headers
> > >  CPPFLAGS_XEN = -I/usr/include
> > 
> > Thank you! I confirm that this patch works and does not break grub on
> > earlier CPU :)
> > 
> > There are still differences in generated code, so we probably need to
> > tune some more flags.
> 
> I looked at compiler options for PowerPC and I think instead of trying
> to catch individual flags which may change with every release we should
> simply force the most common platform by
> 
> +if COND_powerpc_ieee1275
> +  CFLAGS_PLATFORM += -mcpu=powerpc -mtune=powerpc
> +endif
> 
> 
> This makes sure result is identical on every platform and provides most
> generic code that is expected to run on every(?) system.
> 
> WDYT?

Hi Andrei,

Sorry to take so long to answer your question.

After an internal discussion with some toolchain experts we found out
that your approach is good. It works and it's more generic but we think
that we should change it a little bit:

 * skip -mtune, not really necessary
 * add "-msoft-float" to be completly safe.

Something like:

+if COND_powerpc_ieee1275
+  CFLAGS_PLATFORM += -mcpu=powerpc -msoft-float
+endif

This approach is similar to what the linux kernel do.

In addition, they recomend to set FP MSR value to zero as well.

Andrei, Vladimir, agree?

> 
> _______________________________________________
> Grub-devel mailing list
> address@hidden
> https://lists.gnu.org/mailman/listinfo/grub-devel

-- 
Paulo Flabiano Smorigo
IBM Linux Technology Center




reply via email to

[Prev in Thread] Current Thread [Next in Thread]