9fans - fans of the OS Plan 9 from Bell Labs
 help / color / mirror / Atom feed
* 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).