Writing Network Drivers in Go [pdf]
It looks like this is not a pure Go implementation:<p><i>"We originally implemented these functions in pure Go and tried to force reads and writes
through empty C calls as Go does not have the volatile key word or an equivalent for
our needs as far as we know. This resulted in strange behaviour: while initialization
seemed to work, including the corresponding register getters and setters, the program
failed later when the NIC never set flags that were necessary to continue. We invested
a lot of time in this specific problem but could not find a reason for this behaviour.
With the help of cgo, which enables the use of C code in Go programs, we imported
the corresponding functions in device.h alongside log.h of the original C driver and
replaced our go functions. This fixed the aforementioned problem though we never were
able to provide an exact explanation due to limited time constraints."</i><p>It's still an interesting effort, and it makes me wonder if we'll ever
see a day when a significant portion of Linux is written in a safer
language.