[Dev] Loongson 3A port

Michał Masłowski mtjm at mtjm.eu
Sun Jan 27 15:34:23 GMT 2013


> well, building with cpu-specific flags was always odd, since the other arches
> are optimized for architecture... maybe the difference isn't noticeable? it's
> not the same as building for o32 anyway.

I think the x86 instruction sets are much more standarized, with useful
SIMD available by default in x86_64, and per-device builds are more
common in typical uses of MIPS.  I know theoretic advantages of some
non-MIPS3 instructions and I don't know if it's noticeable for programs
other than the few specific multimedia packages that need them.

So building all packages for MIPS3 and some known to benefit from it
also for 2F or 3A might be a good solution.

> so the steps would be to bootstrap a mips3 [core] on a loongson2f and boot the
> loongson3a? maybe port the kernel first :P

Hopefully some packages like gcc will work and won't need building on
2F.

IMO the kernel can wait: having an otherwise working Parabola system on
3A will make the build much quicker and can help update other 2F
packages.

These could be the steps:

0/ Update pacman with new CFLAGS (-march=mips3; keep
   Wl,-mfix-loongson2f-nop).

1@ Download all mips64el packages and scan them for Loongson 2F-specific
   instructions, make a list of packages to rebuild with mips3.

   Should be very easy to do without a MIPS machine; needs the Loongson
   2F documentation (both English and Chinese are available).

2/ Build the packages needed to build rest.  Some can wait (the script
   might detect code that won't be run for step 3).

3# Build other packages, go to 2 in case of build dependency cycles.

4# Port a kernel.  IMO we don't need it stable and secure now, we could
   just deblob the LOonux 3.5 kernel and use something else (plain
   Linux-libre) after 3.9 is released (or later depending on when the
   patches are merged).

   (We need separate 2F and 3A binaries.)

5# All the X and Radeon driver problems.

6. Check what useful changes Lemote has made to LOonux packages:

   deb{,-src} http://mirror.lemote.com/LOonux3/debian squeeze main

   deb{,-src} http://mirror.lemote.com/LOonux3/debian shields main systemd xorg gnome2.32 misc

   We might need some of these.

7# Documentation and release media.

Symbols: . any machine, @ fast machine (not 2F YeeLoong), # 3A, / 2F.

How technically will we handle packages with 2F and 3A variants in
abslibre and repos?  (E.g. to avoid nonworking packages, bad dependency
resolution and code duplication in PKGBUILDs.)

All steps not marked with # can be done without a 3A machine.

I have to study for my exams, I should be able to start this after this
week.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 835 bytes
Desc: not available
URL: <https://lists.parabola.nu/pipermail/dev/attachments/20130127/a9e4ce55/attachment.sig>


More information about the Dev mailing list