How to improve the RISC-V specification
My main project is to create an executable spec of the Intel Architecture
but, every now and then, I get to take a broader look at ISA specifications
and think about the strengths and weaknesses of other ISA specs:
what makes them work well; and what techniques they could borrow
from other specifications.
Earlier this month, someone asked me for my thoughts on the RISC-V
specification and I thought that it would be useful to share
what I found out.
I was long overdue to attend a conference in person: the last conference I attended was
I’ve spent the
last couple of years working at Google Research. For the first 5–6 months, I
was working in London in an office nestled between King’s Cross station and
the iconic St Pancras station. This location was ideal for me because I was
still living in Cambridge at the time and it was a very easy journey to
either of these stations from Cambridge.
To conclude this series on using
Rust is able to call C code using the FFI (Foreign Function Interface).
This note describes how to verify crates that consist of a mixture of
Rust code and C code that is built using a
One important difference between C and Rust is that the C main function expects
to be given a list of command line arguments via 

