GaloisInc / BESSPIN-CloudGFE

The AWS cloud deployment of the BESSPIN GFE platform.
Apache License 2.0
2 stars 2 forks source link

AWSteria GFE Verilator Linux/busybox boot, VirtIO network & block device #59

Open rsnikhil opened 4 years ago

rsnikhil commented 4 years ago

To this point, we will have gotten ISA tests running, in simulation and on FPGA, for Bluespec P2. Now get Linux/busybox booting, adding whatever is necessary (virtio network? block device?).

rsnikhil commented 4 years ago

Also support U.Cambridge as they bring up FreeBSD, as needed.

kiniry commented 4 years ago

As I just emphasized in our stand up, after bringing up Busybox—which is just testing the bring up of a kernel and a few device drivers—we must immediately pivot to FreeBSD in lieu of Linux, as the main client for this line of work on CloudGFE is SRI/Cambridge, and they only care about FreeBSD. We won't spend any time at all on Debian until FreeBSD is brought up and working, and even then, we need to have a discussion about whether or not spending any time on getting Debian working on the Bluespec variant of CloudGFE is necessary.

rwatson commented 4 years ago

Also support U.Cambridge as they bring up FreeBSD, as needed.

“Support ... as needed” is not consistent with our understanding previous assurances from both DARPA and Galois that FreeBSD will be supported out if the box on CloudGFE. We are, as always, happy to provide advice and support to those doing this work.

rsnikhil commented 4 years ago

Ok. I used 'as needed' only as a personal statement because I don't think I should take the lead on this, knowing next to nothing about FreeBSD, OS bringup, etc. It would be more productive to have someone with that knowledge to take the lead. I meant only that I will fully support whoever takes the lead on this, whether from Galois or from Cambridge.

kiniry commented 4 years ago

I am pow-wowing with RobertW and the Galois team to ensure that we have the right performers on FreeBSD bring-up. @rfoot FYI

rwatson commented 4 years ago

63 is an example of the kind of hardware bug that would have been encountered trivially by doing even a smoke test boot of FreeBSD -- as was picked up by @jameyhicks in his first boot of FreeBSD without specialist knowledge. We were happy to help debug the problem, and have submitted a patch for a bug in the Bluespec UART implementation.

rsnikhil commented 4 years ago

We are focusing on FreeBSD (over Linux). As of a few hours ago, Joe Stoy successfully booted FreeBSD to the command prompt on AWS FPGA in AWSteria. This was using GitHub Flute and WindSoC AXI. Those have subsequently been replaced by CHERI-Flute and U.Camb AXI, so we will repeat the experiment to verify that FreeBSD still boots.

rsnikhil commented 4 years ago

Nikhil now working on VirtIO in AWSteria, now that the rest of AWSteria seems to have settled down.

jrtc27 commented 4 years ago

@rsnikhil Let me know if I can be of assistance to point you at the relevant parts of the Connectal setup/TinyEMU (or just VirtIO-related questions in general).

rsnikhil commented 4 years ago

@jrtc27 Thank you! I'm still educating myself about VirtIO (thank you for your detailed message earlier), and studying corresponding code in the Connectal setup etc. Joe Stoy also gave me some pointers. I'll probably have more questions etc. later today (Thu) or tomorrow morning. One question I had was, do we have any test code for testing VirtIO functionality other than a full-blown OS?

jrtc27 commented 4 years ago

Not that I know of...

charlie-bluespec commented 4 years ago

Update (from @rsnikhil ): Verilog generation part has always been working (which we use for synthesis) works. Running the Verilog through verilator and linking needs a fixup of the import DPI, and is still pending.