* 9pi update, Raspberry Pi 4, and go
@ 2020-05-22 14:06 Richard Miller
0 siblings, 0 replies; only message in thread
From: Richard Miller @ 2020-05-22 14:06 UTC (permalink / raw)
To: 9fans
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.
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2020-05-22 14:06 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-05-22 14:06 9pi update, Raspberry Pi 4, and go Richard Miller
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).