Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Stuck synthesizing Cheri on AWS F1 Ubuntu 18.04 #363

Open
Wintel opened this issue Jun 8, 2023 · 0 comments
Open

Stuck synthesizing Cheri on AWS F1 Ubuntu 18.04 #363

Wintel opened this issue Jun 8, 2023 · 0 comments

Comments

@Wintel
Copy link

Wintel commented Jun 8, 2023

Hello,

I am attempting to synthesize Cheri on AWS F1 18.04, and have encountered an issue where the process gets stuck.

Here are the steps I have followed:

# Built BBL using:
./cheribuild.py bbl-gfe-baremetal-riscv64-purecap

# Built Kernel and img using:
./cheribuild.py cheribsd-mfs-root-kernel-riscv64-purecap --cheribsd-mfs-root-kernel-riscv64-purecap/build-fpga-kernels

# Launched using the following command:
sudo ./ssith-aws-fpga/build/ssith_aws_fpga --dtb ./ssith-aws-fpga/build/devicetree.dtb --elf ./cheri/output/sdk/bbl-gfe/riscv64-purecap/bbl --elf ./cheri/output/kernel-riscv64-purecap.CHERI-PURECAP-GFE --debug-log --block ./cheri/output/cheribsd-mfs-root-riscv64-purecap.img

The process gets stuck with the following output:

Output
romBuffer=7f298c58d010
ethernet device 0x557da5b49840 virtio net device 0x557da5b49ce0 at addr 40000000
virtio entropy device 0x557da5b49fe0 at addr 40001000
block device ./cheri/output/cheribsd-mfs-root-riscv64-purecap.img (0x557da5b4c2f0)
virtio block device 0x557da5b4c350 at addr 40002000
Copied 2340 bytes 2340 bytes total readsize 4096
Read 2340 bytes from ./ssith-aws-fpga/build/devicetree.dtb
asserting haltreq
dmi state machine status 0
loadElf: ./cheri/output/sdk/bbl-gfe/riscv64-purecap/bbl is a 64-bit ELF file
loadElf: entry point c0000000
Section .text           : addr         c0000000 to addr         c000039c; size 0x     39c (= 924) bytes
Section .text           : addr         c000039c to addr         c0004e1e; size 0x    4a82 (= 19074) bytes
Section .rodata         : addr         c0004e20 to addr         c00054af; size 0x     68f (= 1679) bytes
Section __cap_relocs    : addr         c00054b0 to addr         c0007148; size 0x    1c98 (= 7320) bytes
Section .captable       : addr         c0007150 to addr         c0007ac0; size 0x     970 (= 2416) bytes
Section .htif           : addr         c0008000 to addr         c0008010; size 0x      10 (= 16) bytes
Section .data           : addr         c0009000 to addr         c0009284; size 0x     284 (= 644) bytes
Section .sdata          : addr         c0009288 to addr         c0009298; size 0x      10 (= 16) bytes
Section .bss            : addr         c000a000 to addr         c0013024; size 0x    9024 (= 36900) bytes
Section .debug_loclists : addr                0 to addr             30ab; size 0x    30ab (= 12459) bytes
Section .debug_abbrev   : addr                0 to addr             1733; size 0x    1733 (= 5939) bytes
Section .debug_info     : addr                0 to addr             4a82; size 0x    4a82 (= 19074) bytes
Section .debug_str_offsets: addr                0 to addr              d24; size 0x     d24 (= 3364) bytes
Section .debug_str      : addr                0 to addr             137f; size 0x    137f (= 4991) bytes
Section .debug_addr     : addr                0 to addr              df0; size 0x     df0 (= 3568) bytes
Section .riscv.attributes: addr                0 to addr               3f; size 0x      3f (= 63) bytes
Section .debug_frame    : addr                0 to addr              f10; size 0x     f10 (= 3856) bytes
Section .debug_line     : addr                0 to addr             5be5; size 0x    5be5 (= 23525) bytes
Section .debug_line_str : addr                0 to addr              56e; size 0x     56e (= 1390) bytes
Section .debug_rnglists : addr                0 to addr              352; size 0x     352 (= 850) bytes
Section .debug_aranges  : addr                0 to addr               60; size 0x      60 (= 96) bytes
Section .symtab         : addr                0 to addr            1c8c0; size 0x   1c8c0 (= 116928) bytes
Section .shstrtab       : addr                0 to addr              106; size 0x     106 (= 262) bytes
Section .strtab         : addr                0 to addr             158d; size 0x    158d (= 5517) bytes
phdr 0 type 1 flags 5 va c0000000 pa c0000000
phdr 1 type 1 flags 4 va c0004e20 pa c0004e20
phdr 2 type 1 flags 6 va c0007150 pa c0007150
phdr 3 type 1 flags 6 va c0008000 pa c0008000
phdr 4 type 6474e552 flags 4 va c0007150 pa c0007150
phdr 5 type 6474e551 flags 6 va 00000000 pa 00000000
elf_entry=c0000000
loadElf: ./cheri/output/kernel-riscv64-purecap.CHERI-PURECAP-GFE is a 64-bit ELF file
loadElf: entry point ffffffc000000044
Section .text           : addr ffffffc000000000 to addr ffffffc000678a68; size 0x  678a68 (= 6785640) bytes
Section .rodata         : addr ffffffc000678a80 to addr ffffffc0006a4978; size 0x   2bef8 (= 179960) bytes
Section .rodata.str1.1  : addr ffffffc0006a4978 to addr ffffffc000743be4; size 0x   9f26c (= 651884) bytes
Section usb_host_id     : addr ffffffc000743c00 to addr ffffffc000743c40; size 0x      40 (= 64) bytes
Section .rodata.cst16   : addr ffffffc000743c40 to addr ffffffc000743c60; size 0x      20 (= 32) bytes
Section .eh_frame       : addr ffffffc000743c60 to addr ffffffc00074406c; size 0x     40c (= 1036) bytes
Section __cap_relocs    : addr ffffffc000744070 to addr ffffffc0009b5020; size 0x  270fb0 (= 2559920) bytes
Section .interp         : addr ffffffc0009b5020 to addr ffffffc0009b502d; size 0x       d (= 13) bytes
Section .hash           : addr ffffffc0009b5030 to addr ffffffc0009ccdb8; size 0x   17d88 (= 97672) bytes
Section .dynsym         : addr ffffffc0009ccdb8 to addr ffffffc000a14638; size 0x   47880 (= 292992) bytes
Section .dynstr         : addr ffffffc000a14638 to addr ffffffc000a483d4; size 0x   33d9c (= 212380) bytes
Section .gnu.hash       : addr ffffffc000a483d8 to addr ffffffc000a5f23c; size 0x   16e64 (= 93796) bytes
Section .rela.dyn       : addr ffffffc000a5f240 to addr ffffffc000a5f2a0; size 0x      60 (= 96) bytes
Section .note.gnu.build-id: addr ffffffc000a5f2a0 to addr ffffffc000a5f2c4; size 0x      24 (= 36) bytes
Section .plt            : addr ffffffc000a5f2d0 to addr ffffffc000a5f300; size 0x      30 (= 48) bytes
Section .data           : addr ffffffc000a61000 to addr ffffffc000b63f12; size 0x  102f12 (= 1060626) bytes
Section set_sysctl_set  : addr ffffffc000b63f20 to addr ffffffc000b6bce0; size 0x    7dc0 (= 32192) bytes
Section set_sysinit_set : addr ffffffc000b6bce0 to addr ffffffc000b702b0; size 0x    45d0 (= 17872) bytes
Section set_sysuninit_set: addr ffffffc000b702b0 to addr ffffffc000b72aa0; size 0x    27f0 (= 10224) bytes
Section set_modmetadata_set: addr ffffffc000b72aa0 to addr ffffffc000b74d00; size 0x    2260 (= 8800) bytes
Section .data.read_mostly: addr ffffffc000b74d00 to addr ffffffc000b76e00; size 0x    2100 (= 8448) bytes
Section set_cam_xpt_xport_set: addr ffffffc000b76e00 to addr ffffffc000b76eb0; size 0x      b0 (= 176) bytes
Section set_cam_xpt_proto_set: addr ffffffc000b76eb0 to addr ffffffc000b76f00; size 0x      50 (= 80) bytes
Section set_kdb_dbbe_set: addr ffffffc000b76f00 to addr ffffffc000b76f30; size 0x      30 (= 48) bytes
Section set_kbddriver_set: addr ffffffc000b76f30 to addr ffffffc000b76f50; size 0x      20 (= 32) bytes
Section set_ofw_set     : addr ffffffc000b76f50 to addr ffffffc000b76f60; size 0x      10 (= 16) bytes
Section .data.read_frequently: addr ffffffc000b76f60 to addr ffffffc000b76fa0; size 0x      40 (= 64) bytes
Section set_gdb_dbgport_set: addr ffffffc000b76fa0 to addr ffffffc000b76fc0; size 0x      20 (= 32) bytes
Section set_uart_fdt_class_and_device_set: addr ffffffc000b76fc0 to addr ffffffc000b76ff0; size 0x      30 (= 48) bytes
Section set_cons_set    : addr ffffffc000b76ff0 to addr ffffffc000b77040; size 0x      50 (= 80) bytes
Section set_vt_drv_set  : addr ffffffc000b77040 to addr ffffffc000b77050; size 0x      10 (= 16) bytes
Section set_elf64c_regset: addr ffffffc000b77050 to addr ffffffc000b770a0; size 0x      50 (= 80) bytes
Section set_elf64_regset: addr ffffffc000b770a0 to addr ffffffc000b770f0; size 0x      50 (= 80) bytes
Section set_pcpu        : addr ffffffc000b77100 to addr ffffffc000b79d40; size 0x    2c40 (= 11328) bytes
Section .data.exclusive_cache_line: addr ffffffc000b79d40 to addr ffffffc000b80348; size 0x    6608 (= 26120) bytes
Section set_vnet        : addr ffffffc000b80350 to addr ffffffc000bc99c0; size 0x   49670 (= 300656) bytes
Section set_compressors : addr ffffffc000bc99c0 to addr ffffffc000bc99d0; size 0x      10 (= 16) bytes
Section mfs             : addr ffffffc000bc99d0 to addr ffffffc004fc99d0; size 0x 4400000 (= 71303168) bytes
Section .dynamic        : addr ffffffc004fc99d0 to addr ffffffc004fc9ab0; size 0x      e0 (= 224) bytes
Section .data.rel.ro    : addr ffffffc004fc9ab0 to addr ffffffc004fdd0d0; size 0x   13620 (= 79392) bytes
Section .captable       : addr ffffffc004fdd0d0 to addr ffffffc00504baf0; size 0x   6ea20 (= 453152) bytes
Section .sdata          : addr ffffffc00504baf0 to addr ffffffc00504d774; size 0x    1c84 (= 7300) bytes
Section .sbss           : addr ffffffc00504d778 to addr ffffffc00504e9be; size 0x    1246 (= 4678) bytes
Section .bss            : addr ffffffc00504ec00 to addr ffffffc00534d710; size 0x  2feb10 (= 3140368) bytes
Section .comment        : addr                0 to addr               c9; size 0x      c9 (= 201) bytes
Section .riscv.attributes: addr                0 to addr               3f; size 0x      3f (= 63) bytes
Section .symtab         : addr                0 to addr          207e9b8; size 0x 207e9b8 (= 34073016) bytes
Section .shstrtab       : addr                0 to addr              28d; size 0x     28d (= 653) bytes
Section .strtab         : addr                0 to addr            954b9; size 0x   954b9 (= 611513) bytes
Section .gnu_debuglink  : addr                0 to addr               14; size 0x      14 (= 20) bytes
phdr 0 type 3 flags 4 va ffffffc0009b5020 pa c0bb5020
phdr 1 type 1 flags 5 va ffffffc000000000 pa c0200000
phdr 2 type 1 flags 4 va ffffffc000678a80 pa c0878a80
phdr 3 type 1 flags 5 va ffffffc000a5f2d0 pa c0c5f2d0
phdr 4 type 1 flags 6 va ffffffc000a61000 pa c0c61000
phdr 5 type 1 flags 6 va ffffffc00504baf0 pa c524baf0
phdr 6 type 2 flags 6 va ffffffc004fc99d0 pa c51c99d0
phdr 7 type 6474e552 flags 4 va ffffffc004fc99d0 pa c51c99d0
phdr 8 type 6474e551 flags 6 va 00000000 pa 00000000
phdr 9 type 4 flags 4 va ffffffc000a5f2a0 pa c0c5f2a0
setting pc val c0000000
reading pc val c0000000
Demsg Output
[  188.127703] connectal_open: basedevice_number=f100001 /dev/connectal
[  188.127723] pcieportal_open: basedevice_number=f100001 tile=1 name=5
[  188.127729] portal_mmap portal_number=4 board_start=000085600000 portal_start=000082040000
[  188.127846] pcieportal_open: basedevice_number=f100001 tile=1 name=6
[  188.127850] portal_mmap portal_number=5 board_start=000085600000 portal_start=000082041000
[  188.127857] pcieportal_open: basedevice_number=f100001 tile=0 name=1
[  188.127859] portal_mmap portal_number=3 board_start=000085600000 portal_start=000082003000
[  188.127864] pcieportal_open: basedevice_number=f100001 tile=0 name=2
[  188.127866] portal_mmap portal_number=2 board_start=000085600000 portal_start=000082002000
[  188.127877] pcieportal_open: basedevice_number=f100001 tile=0 name=3
[  188.127879] portal_mmap portal_number=1 board_start=000085600000 portal_start=000082001000
[  188.128982] pcieportal_open: basedevice_number=f100001 tile=0 name=4
[  188.128986] portal_mmap portal_number=0 board_start=000085600000 portal_start=000082000000

Kernel Version:

5.4.0-1103-aws

I have attached the full output for your reference.

Any assistance you could provide to help resolve this issue would be greatly appreciated.

Thank you in advance for your time and help.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant