[U-Boot] Whose responsibility is it to enable FPU?

gnemas at gmail.com gnemas at gmail.com
Tue Jun 15 20:12:40 CEST 2010


On Jun 14, 2010 5:08pm, gnemas at gmail.com wrote:
> On Jun 14, 2010 4:30pm, Wolfgang Denk wd at denx.de> wrote:

> >
> > U-Boot does not need nor use the FPU, so enabling it would not help
> > you in any way.
> >

> It may not need it, but enabling it in u-boot did actually fix the  
> problem. I just called the fpu_enable function in the u-boot post code.

> >
> > Linux will do it's own settings, so this is where you need to look for
> > your incorrect configuration settings (incorrect CPU description in
> > the DT?).
> >

> Okay, thanks. I'll try to find out more about how Linux sets this up.

> By the way, my dts file has

> cpu at 0 {
> device_type = "cpu";
> model = "PowerPC,440EPx";

I discovered what was causing the FPU problem. Maybe this might help  
someone.

I noticed that my processor was being recognized by Linux as a 440GRX  
(which does not have FPU) rather than the correct 440EPx. It seems that  
these two processors have the same PVR value. The kernel differentiates  
these based on the value of the CPU model in the device tree.

Even though I had the correct entries in my device tree source, the kernel  
was not finding the correct model entry.

The problem was that I was using the device tree compiler from

git://git.kernel.org/pub/scm/linux/kernel/git/galak/dtc.git

instead of the one included with the kernel source. When I started working  
on this, it did not occur to me that the dtc was included in the kernel  
tree, so I had searched for it online and discovered that git repository.  
The galak dtc reports version 1.1.0, whereas the kernel dtc reports versio  
1.2.0.

So it all works correctly now.

Thanks for the DT pointer.

Gregg


More information about the U-Boot mailing list