public inbox for gentoo-mips@lists.gentoo.org
 help / color / mirror / Atom feed
From: Joshua Kinard <kumba@gentoo.org>
To: gentoo-mips@lists.gentoo.org, Matt Turner <mattst88@gentoo.org>,
	gentoo-dev@lists.gentoo.org
Cc: mips@gentoo.org
Subject: Re: [gentoo-mips] Monthly mips@ project status for April 2018
Date: Mon, 2 Apr 2018 03:37:10 -0400	[thread overview]
Message-ID: <d8637bf1-4bd6-d5c8-c8f4-46ceca362eb9@gentoo.org> (raw)
In-Reply-To: <20180402034037.GB21189@ivybridge.mattst88.com>

On 4/1/2018 11:40 PM, Matt Turner wrote:
> I'd like to start giving ~monthly updates on the status of mips@ in
> Gentoo.
> 
> Recently I received a Loongson 3A system (quad-core 1.35GHz, 16GB RAM,
> AMD graphics) which is significantly faster and more stable than any
> other mips system I have.

Big or little endian?  If little,


> == Loongson 3A support ==
> 
> The Loongson 3A system I received requires a number of out of tree
> patches to the kernel, gcc, binutils, and glibc. I've seen their
> developers working to upstream kernel patches, but it's slow going and
> there are a lot of them.
> 
> I haven't seen much work to upstream the other patches. I'm not sure how
> to reasonably support hardware requiring so many out-of-tree patches.

SGI machines I have access to are in a similar state.  Except I'm the only nut
playing with these systems it seems, and I've got a massive patch backlog
that's no where near the quality that upstream would accept.  My git foo is
also terrible for maintaining them, given that kernel upstream seems to like
one patch for every minor change, it seems.

Better BRIDGE support for IP27 (SGI Origin) is where most everything begins.  I
know //what// needs to be done to unscrew that system (mostly), but I just
haven't had time to write the C code that'd do it.  Following that, IP30 is
branched off of my current IP27 work, so once IP27 support is fixed upstream,
IP30 could be split apart and some portions sent in.

As far as IP30 goes, it works.  Probably the most capable of the available SGI
machine support right now.  Still suffers from the 2GB RAM limit because
something still ain't right in dealing with the 512MB PHYS_OFFSET and the wacky
BRIDGE DMA mess.

IP32/R5K/RM7K works, too.  Still nothing on the R10K/R12K variants.  All of
this hoopla about Spectre and Meltdown on x86 definitely made my day, though
</smirk>

Long ways down on my TODO list is to try and port nyef's IP35 work from 4.2.x
to something more recent.  IP35 could re-use much of the IP27 base (once
BRIDGE/PCI is fixed), just with appropriate changes to deal with BEDROCK's
design as a successor to the HUB.  Plenty of example code from the Altix port
in the 2.5.x kernel to reference, too.  Would enable faster build machines.

Lack of time, though.  I need a TARDIS...


> == n64 toolchain in n32 system ==
> https://bugs.gentoo.org/show_bug.cgi?id=477956
> 
> n32 (and o32) only offer 31-bits of address space (2GB). That's not
> sufficient to link large libraries like webkit-gtk. For n32 systems, I'd
> like the toolchain binaries to be n64, to avoid these problems.

We'll probably need this to also be able to play with LTO, since that's a
significant memory consumer, especially if you use several LTO threads.


> == stages and installation media ==
> https://bugs.gentoo.org/show_bug.cgi?id=150402
> https://bugs.gentoo.org/show_bug.cgi?id=348647
> 
> With so many subarchitectures, ABIs, and two byte orderings providing
> stages and installation media has been a pain point.
> 
> I'd like to automate as much of this as possible. I really need Kumba to
> build a new SGI CD, but well, that bug's been open since 2006.

I got a mostly-working netboot image built in December for my IP32 system,
based off of uclibc-ng and 4.13.16.  Building the image right now needs a fresh
stage3 uclibc-ng/mips2, a custom script I wrote in Python, and copy/pasting
specific commands.  End goal is to take that logic and turn it into a
"netboot3" target for Catalyst.  I stopped when catalyst-3 debuted, because I
didn't get around to looking at the changes from catalyst 2.x to 3.x.  But the
script works manually, with some post-cleanup commands.

However, I held off on publishing anything because the most recent stage builds
were done under gcc-6.4.0, and with the resolution of gcc PR81443, I can now
run gcc-7.3.x on my SGI systems.  I plan on starting another series of stage
runs under catalyst 2.x once OpenRC gets fixed for the uclibc-ng target (see
bug #650908).  Six targets (n32/{mips3,mips4,mips4_r12k}, o32, multilib, &
uclibc-ng) takes about a month on my Octane right now.  Mostly because gcc's
build time is utterly insane.

If anyone wants, I can publish the December builds for the SGI big-endian
stages.  Maybe a few netboot targets if I can find the time, likely based on
4.13.x because 4.14/4.15 had the firmware tree stripped out, and there's a
quirky bug where input over ssh on my Octane has a very weird, sporadic latency
at random, which I think is a bug I'll be forced to bisect down at some point.

Also, if anyone has a mips3/mips4/mips4 ISA, big-endian musl stage, hook me up.
 I'd love to use musl for netboot targets, as even uclibc-ng is pushing ~12MB
for a full netboot image, I am still not 100% certain the older SGI machines
will take it (namely IP22, not that I even have a working unit anymore).

SGI bootable CDs are not impossible (all the tools are still in the tree), but
we really need netboot images first.  Any future boot CD will be command line
only.  The X11 world has moved so far ahead, that even if Octane's X11 Impact
driver got fixed, I doubt the experience would be anything but "fun".

-- 
Joshua Kinard
Gentoo/MIPS
kumba@gentoo.org
6144R/F5C6C943 2015-04-27
177C 1972 1FB8 F254 BAD0 3E72 5C63 F4E3 F5C6 C943

"The past tempts us, the present confuses us, the future frightens us.  And our
lives slip away, moment by moment, lost in that vast, terrible in-between."

--Emperor Turhan, Centauri Republic


  reply	other threads:[~2018-04-02  7:37 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-04-02  3:40 [gentoo-mips] Monthly mips@ project status for April 2018 Matt Turner
2018-04-02  7:37 ` Joshua Kinard [this message]
2018-04-02  7:39   ` Joshua Kinard
2018-04-02  9:41 ` [gentoo-mips] Re: [gentoo-dev] " Michał Górny
2018-04-02 17:27   ` Joshua Kinard
2018-04-02 20:32     ` Michał Górny
2018-04-03  5:23       ` Joshua Kinard
2018-04-02 11:25 ` [gentoo-mips] " Anthony G. Basile

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=d8637bf1-4bd6-d5c8-c8f4-46ceca362eb9@gentoo.org \
    --to=kumba@gentoo.org \
    --cc=gentoo-dev@lists.gentoo.org \
    --cc=gentoo-mips@lists.gentoo.org \
    --cc=mattst88@gentoo.org \
    --cc=mips@gentoo.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox