AW: Re: __setup_cpu_be problem

Geoff Levand geoffrey.levand at am.sony.com
Wed Feb 15 05:22:08 EST 2006


Arnd Bergmann wrote:
> On Sunday 12 February 2006 22:24, Benjamin Herrenschmidt wrote:
>> > The current firmware on the Cell blades does neither the setup of
>> > the HID6 register nor have the correct tables in the device tree.
>> > 
>> > Since I'm still currently sitting in a garden in NZ instead of the
>> > Böblingen lab, I can't find out what the HID6 power-on defaults
>> > are. We might get away with just leaving the default there, but that
>> > might prevent us from using 16M and/or 64k pages and there are 
>> > definitely some application which depend on 16M hugetlb mappings
>> > on Cell. 
>> 
>> Yes, however, how much widely distributed and "frozen" is this current
>> Cell firmware ? I mean, do we really need to add a workaround to the
>> kenrel instead of just fixing the firmware here ?
> 
> The firmware update procedure is a little tricky, so our firmware
> people decided to as few updates as possible, which means we won't
> have small 'hotfix' updates going to the customer.
> 
>> > The two problems we are facing currently are:
>> > - If HID6 defaults to disabling 16M large pages, the kernel will
>> >   get the wrong information from the CPU features and applications
>> >   that use it break. The firmware should add the setup if HID6
>> >   _now_, but we also should be prepared for users of old firmware
>> >   that want to upgrade their kernel without upgrading the firmware
>> >   at the same time.
>> 
>> Do we really need to support old/broken firmware ? It's not like we had
>> a released product all over the field...
> 
> Basically, we do want to support old firmware that went out in our
> customer shippings, but as I wrote in the other mail, we don't need
> to worry about that in this case. Also, the requirement is only to
> be able to boot with the mainline kernel, for production setup, users
> of the currently shipping hardware would also need other patches e.g.
> to work around performance errata in the CPU stepping.

Sorry about changing my mind on this Ben, but after reading the Book 4
docs on page sizes I see that each partition can have independent
page size settings.  I made the wrong assumption that all partitions
needed the same size setting.  Based on this, and on Arnd's comments,
I think in general we will need to setup page sizes in the kernel.
This is particularly true if we setup 16M + 64k pages for the spufs,
since the cpu default is 16M + 16M, which is probably what most
firmware will use.

At any rate, I don't think we need to worry about it so much now,
since those settings can be handled inside the platform code.  If
it makes sense later we can have an interface to access the page
size settings.

-Geoff



More information about the Linuxppc64-dev mailing list