Closed dhand-galois closed 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
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.
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.