GaloisInc / BESSPIN-CloudGFE

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

Package LMCO AFI + F1 SW #85

Closed dhand-galois closed 4 years ago

dhand-galois commented 4 years ago

Include new updates for matching the GFE memory map. Build an AFI for LM to quickly get up and running. Need to package the necessary host-side software and scripts for communicating with the F1 to avoid going through the lengthy FireSim setup.

dhand-galois commented 4 years ago

The ssith-lmco branch of chipyard has been updated with all the latest GFE-related fixes, which is 'done' for P2-equivalent builds. P1 builds will be enabled when available.

The Hard-enabled AFI is agfi-0fa64c818ce908fea.

It can be built using the cloudgfe-lmco branch of FireSim. The README has been updated with specific context for building the LMCO smoketest example.

There's also now a Minimal CloudGFE setup guide that uses pre-built LMCO smoke-test AFIs. I just need the AWS ID and canonical user IDs to share these files with LMCO (details on that README).

Sample output of the provided smoke tests running on Linux:

Welcome to Buildroot
buildroot login: root
Password: 
# ls
smoke001  smoke002  smoke003  smoke004
# ./smoke001
# ./smoke002
[   29.109628] smoke002[223]: unhandled signal 4 code 0x1 at 0x0000000000010498 in smoke002[10000+1000]
[   29.110126] CPU: 0 PID: 223 Comm: smoke002 Tainted: G           O      5.3.0-00002-g6a95b016aba5 #20
[   29.110438] sepc: 0000000000010498 ra : 00000015555940f0 sp : 0000003fffb46c10
[   29.110696]  gp : 0000000000012800 tp : 0000001555573210 t0 : 0000001555577d58
[   29.110955]  t1 : 0000001555594050 t2 : 0000000000012360 s0 : 0000003fffb46c30
[   29.111209]  s1 : 00000000000cbe90 a0 : 0000000000000001 a1 : 0000003fffb46d88
[   29.111461]  a2 : 0000003fffb46d98 a3 : 0000000000000000 a4 : 000000000000000a
[   29.111720]  a5 : 000000000000000a a6 : 0000001555674d20 a7 : 2f1d1f1f4a444042
[   29.111969]  s2 : 0000000000000000 s3 : 0000000000000000 s4 : 0000000000000000
[   29.112223]  s5 : 00000000000cb8f0 s6 : 0000000000000000 s7 : ffffffffffffffff
[   29.112815]  s8 : 0000000000000000 s9 : 00000000000fe1a0 s10: 00000000000fe180
[   29.113071]  s11: 0000000000000000 t3 : 0000000000000000 t4 : 0000000000020050
[   29.113317]  t5 : 0000000000000003 t6 : 0000000000000040
[   29.113532] sstatus: 8000000200006020 sbadaddr: 0000003fffb46c18 scause: 0000000000000002
Illegal instruction
# ./smoke003
# ./smoke004
[   31.626150] smoke004[225]: unhandled signal 4 code 0x1 at 0x0000000000010498 in smoke004[10000+1000]
[   31.626620] CPU: 0 PID: 225 Comm: smoke004 Tainted: G           O      5.3.0-00002-g6a95b016aba5 #20
[   31.626930] sepc: 0000000000010498 ra : 00000015555940f0 sp : 0000003fffb3fc10
[   31.627187]  gp : 0000000000012800 tp : 0000001555573210 t0 : 0000001555577d58
[   31.627444]  t1 : 0000001555594050 t2 : 0000000000012360 s0 : 0000003fffb3fc30
[   31.627701]  s1 : 00000000000cbe90 a0 : 0000000000000001 a1 : 0000003fffb3fd88
[   31.627956]  a2 : 0000003fffb3fd98 a3 : 0000000000000000 a4 : 000000000000000a
[   31.628212]  a5 : 000000000000000a a6 : 0000001555674d20 a7 : 2f1b1f1f4a444042
[   31.628802]  s2 : 0000000000000000 s3 : 0000000000000000 s4 : 0000000000000000
[   31.629061]  s5 : 00000000000fda40 s6 : 0000000000000000 s7 : ffffffffffffffff
[   31.629317]  s8 : 0000000000000000 s9 : 00000000000cb8f0 s10: 00000000001063d0
[   31.629570]  s11: 0000000000000000 t3 : 0000000000000000 t4 : 0000000000020050
[   31.629814]  t5 : 0000000000000003 t6 : 0000000000000040
[   31.630027] sstatus: 8000000200006020 sbadaddr: 0000003fffb3fc18 scause: 0000000000000002
Illegal instruction
# 

And running the same files on a regular P2 core:

Welcome to Buildroot
buildroot login: root
Password: 
# ./smoke001 
# ./smoke002 
# ./smoke003
# ./smoke004
# 

CC @kiniry

dhand-galois commented 4 years ago

Similar to !78, we've now had one successful round of LM delivering source code and Galois compiling it into a AFI and delivering back a completed AGFI + software package for use on an F1 instance.

Automation of this process will be tracked in a separate issue.