From: Richard Miller <9fans@hamnavoe.com>
To: 9fans@9fans.net
Subject: 9pi update, Raspberry Pi 4, and go
Date: Fri, 22 May 2020 15:06:06 +0100 [thread overview]
Message-ID: <ee9f5bf0dc0d82a5b81744c3246cb241@hamnavoe.com> (raw)
I've updated the 9pi kernels on 9p.io (in /n/sources/contrib/miller/9pi[24],
source in /n/sources/contrib/miller/9/bcm). The main change is a kmap
implementation so that large Raspberry Pi 4 boards can use the full 4GB of RAM
with a 32-bit kernel. I've also eliminated a coherence bug which would render
a Pi4 catatonic (ie no interrupt response) under heavy loads involving lots of
floating point. This was a subtle problem with the dynamic generation of arm
coprocessor instructions borrowed from the teg2 port, which was inefficient
and fragile and didn't quite cope with the more aggressive out-of-order
execution of the cortex-a72. My solution was to replace the whole of coproc.c
with a few hard-coded coprocessor access instructions in l.s; not many are
actually needed.
Two other changes affect all Raspberry Pi models: A *kernelpercent value can
be given in cmdline.txt (and the default is reduced to 10 from 20, with a
maximum of 256MB). And a small tweak to the SD driver avoids floods of error
messages when you swap SD cards.
The 9pi.img.gz SD card image has also been updated. Besides the new kernels,
and a long overdue rebuild of the lookman(1) index, I've included a full
go language distribution. If you regard this as unwelcome bloatware, just
delete /sys/lib/go1.14 (and also /sys/lib/tls/ca.pem and /rc/bin/git, which
are required for the "go get" command to work).
The go command and packages have been built with GOARM=7 so they won't work
on the old first generation Raspberry Pi. If this is a problem for anyone,
contact me off list for a set of GOARM=6 binaries.
reply other threads:[~2020-05-22 14:06 UTC|newest]
Thread overview: [no followups] expand[flat|nested] mbox.gz Atom feed
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=ee9f5bf0dc0d82a5b81744c3246cb241@hamnavoe.com \
--to=9fans@hamnavoe.com \
--cc=9fans@9fans.net \
/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;
as well as URLs for NNTP newsgroup(s).