[Soc-coordination] Possible GSoC idea: MIPS N32 ABI Port

David Daney ddaney.cavm at gmail.com
Fri Mar 1 23:07:41 UTC 2013


On 03/01/2013 11:24 AM, Aron Xu wrote:
> Hi,
>
> On Sat, Mar 2, 2013 at 3:01 AM, Matt Turner <mattst88 at gmail.com> wrote:
>> On Fri, Mar 1, 2013 at 10:35 AM, Aron Xu <happyaron.xu at gmail.com> wrote:
>>> This was a project in GSoC 2009, however the project wasn't completed
>>> due to various reasons. I'm raising it here again because there are
>>> interests of doing it around us again.
>>>
>>> Original description from the GSoC2009 project:
>>> This project first focuses on creating a new MIPS N32 ABI port for
>>> Debian. Different from O32 and N64, N32 is an address model which has
>>> most 64-bit capabilities but using 32-bit data structures to save
>>> space and process time. A second focus will be given on making such a
>>> “mipsn32el” arch fully optimized for the Loongson 2F CPU which gains
>>> more and more popularity in subnotebooks/netbooks in many countries.
>>>
>>> Multiarch support is almost landed in Debian, and Multiarch cross
>>> build is on its way, so we are in a position to make use of such
>>> technology during bootstrap (still not working that well, though) and
>>> daily use. A user can run an n64 kernel + mixed n32/n64 userland, so
>>> that he/she can take advantage of the performance and large memory as
>>> needed (like i386/amd64 in some degree).
>>>


I am not a Debian developer either, however I am a user.

If the project is accepted, and if it would help, We (Cavium, Inc.) can 
supply a machine for you to use for development.  This would be a Cavium 
OCTEON based system (MIPS64r2 x 12 CPU SMP w/ 4GB RAM and 1TB SATA disk).

I am also quite familiar with n32 and can answer most questions about 
this ABI.

David Daney


>>> --
>>> Regards,
>>> Aron Xu
>>
>> Disclaimer: I'm not a Debian developer or even a user.
>>
>> I am, however, a Gentoo/MIPS developer who completed our n32 port.
>> There were some annoying bits, like packages that hardcode 'lib', but
>> overall it's not a difficult task. Other distributions are already
>> n32, so there's not much if any package porting to do.
>>
>> The scope of this project would be entirely within Debian, getting
>> Debian's infrastructure going for n32. I don't personally think that's
>> a SoC project, but I don't know. Maybe a Debian/n32 port involves lots
>> of work I don't know about, but for Gentoo it was mostly recompile a
>> bunch of stuff and fix things that break. IIRC, I was *terribly*
>> unimpressed with the 2009 Port Debian to N32 project. It was just a
>> recompile everything and see what breaks endeavor, which is what other
>> people have done with much more success (see: Gentoo, Parabola).
>>
>
> I think the scope of this project is bootstrapping the port for
> Debian, which is mostly to properly bootstrap a sbuild and get the
> base chroot (build-essential) running. If the project can go further,
> then pushing the port to debian-ports.org will be good.
>
> Rebuilding packages cost mostly just some time, while I think
> bootstrapping a Debian port is a candidate for SoC, so it's not for
> porting applications, but bring n32/n64 to Debian users.
>
>> As far as an 'mipsn32el' port for Loongson 2F hardware goes: what does
>> this entail? Recompiling everything with -march=loongson2f? Gentoo
>> (and I think Parabola?) already do this. Besides questionable
>> usefulness, since the hardware is sort of obsoleted by new Loongson 3A
>> hardware, the actual work to do involves getting code upstream that
>> Lemote was too lazy to upstream. This is a whole other project by
>> itself, again, of questionable usefulness and too nebulous to be a SoC
>> project.
>>
>> If you do this project, a suggestion: Ship gcc as an n64 binary. n32
>> has a virtual memory limit of 2G, so a n32 gcc binary would be unable
>> to build large projects like webkit.
>
> As mentioned about the availability of Multiarch support in my initial
> email, the project itself should not be limited to N32. It's worthy to
> discuss further on details of this idea.
>




More information about the Soc-coordination mailing list