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

Aron Xu happyaron.xu at gmail.com
Fri Mar 1 19:24:55 UTC 2013


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).
>>
>> --
>> 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.

-- 
Regards,
Aron Xu



More information about the Soc-coordination mailing list