Unable to boot BuildRoot/Fedora on BOOM core

292 views
Skip to first unread message

Alenkruth Krishnan Murali

unread,
Jul 25, 2023, 6:18:43 PM7/25/23
to FireSim
Hello everyone,

I have been trying to boot Buildroot/Fedora on (Large)Boom core for sometime now but I have not been successful. I am following the documentation to run a single node simulation on Xilinx Alveo U250.

I was able to boot Buildroot and Fedora on a single rocket core without NIC but not on BOOM. I have tried with both Large and Giga BOOM configurations. I build the linux image by following the steps indicated in the documentation and I am not trying to run any custom workloads.

When I issue the runworkload command, the simulation starts and I get the status screen but when I resume the screen session I observe the following log.

Script started, output log file is 'uartlog'.
Using: 0000:5e:00.0, BAR ID: 0, PCI Vendor ID: 0x10ee, PCI Device ID: 0x903f
Opening /sys/bus/pci/devices/0000:5e:00.0/vendor
Opening /sys/bus/pci/devices/0000:5e:00.0/device
examining xdma/.
examining xdma/..
examining xdma/xdma0_h2c_0
Using xdma write queue: /dev/xdma0_h2c_0
Using xdma read queue: /dev/xdma0_c2h_0
command line for program 0. argc=29:
+permissive +macaddr0=00:12:6D:00:00:02 +blkdev0=linux-uniform0-br-base.img +niclog0=niclog0 +blkdev-log0=blkdev-log0 +trace-select=1 +trace-start=0 +trace-end=-1 +trace-output-format=0 +dwarf-file-name=linux-uniform0-br-base-bin-dwarf +autocounter-readrate=0 +autocounter-filename-base=AUTOCOUNTERFILE +drj_dtb=linux-uniform0-br-base-bin.dtb +drj_bin=linux-uniform0-br-base-bin +drj_rom=linux-uniform0-br-base-bin.rom +print-start=0 +print-end=-1 +linklatency0=6405 +netbw0=200 +shmemportname0=default +domain=0x0000 +bus=0x5e +device=0x00 +function=0x0 +bar=0x0 +pci-vendor=0x10ee +pci-device=0x903f +permissive-off linux-uniform0-br-base-bin
UART0 is here (stdin/stdout).
TraceRV 0: Tracing disabled, since +tracefile was not provided.

The boot freezes at this point and I have to manually interrupt the firesim simulation and force close the terminal. I cannot find the uartlog file in the results directory. Moreover I could not run firesim infrasetup again before rebooting the machine since I had issues with xdma which were caused by terminating the simulation forcefully.

I am using Firesim for the first time and I am not sure how to fix this. It would be very helpful if someone has any pointers they can share.

Thank you!
Alenkruth

Novo Bruna David

unread,
Jul 30, 2023, 4:40:56 AM7/30/23
to FireSim
Hi Alenkruth,

It seems you're not executing a fedora workload but the linux-uniform one:


command line for program 0. argc=29:
+permissive +macaddr0=00:12:6D:00:00:02 +blkdev0=linux-uniform0-br-base.img +niclog0=niclog0 +blkdev-log0=blkdev-log0 +trace-select=1 +trace-start=0 +trace-end=-1 +trace-output-format=0 +dwarf-file-name=linux-uniform0-br-base-bin-dwarf +autocounter-readrate=0 +autocounter-filename-base=AUTOCOUNTERFILE +drj_dtb=linux-uniform0-br-base-bin.dtb +drj_bin=linux-uniform0-br-base-bin +drj_rom=linux-uniform0-br-base-bin.rom +print-start=0 +print-end=-1 +linklatency0=6405 +netbw0=200 +shmemportname0=default +domain=0x0000 +bus=0x5e +device=0x00 +function=0x0 +bar=0x0 +pci-vendor=0x10ee +pci-device=0x903f +permissive-off linux-uniform0-br-base-bin


Have you updated the workload in YOUR_FIRESIM_REPO/deploy/config_runtime.yaml?

workload:
workload_name: fedora-uniform.json
#workload_name: linux-uniform.json
terminate_on_completion: no
suffix_tag: null

Best,
d.

Novo Bruna David

unread,
Jul 30, 2023, 9:18:03 AM7/30/23
to FireSim
l also tried to boot Fedora on a Rocket core in a Xilinx Alveo U200 but the booting process freezes after executing OpenSBI: 

Script started on Sun 30 Jul 2023 12:56:48 PM CEST
Using: 0000:3b:00.0, BAR ID: 0, PCI Vendor ID: 0x10ee, PCI Device ID: 0x903f
Opening /sys/bus/pci/devices/0000:3b:00.0/vendor
Opening /sys/bus/pci/devices/0000:3b:00.0/device
examining xdma/.
examining xdma/..
examining xdma/xdma1_events_0
examining xdma/xdma1_events_1
examining xdma/xdma1_events_2
examining xdma/xdma1_events_3
examining xdma/xdma1_events_4
examining xdma/xdma1_events_5
examining xdma/xdma1_events_6
examining xdma/xdma1_events_7
examining xdma/xdma1_events_8
examining xdma/xdma1_events_9
examining xdma/xdma1_xvc
examining xdma/xdma1_user
examining xdma/xdma1_c2h_0
examining xdma/xdma1_c2h_1
examining xdma/xdma1_c2h_2
examining xdma/xdma1_c2h_3
examining xdma/xdma1_h2c_0
Using xdma write queue: /dev/xdma1_h2c_0
Using xdma read queue: /dev/xdma1_c2h_0
command line for program 0. argc=29:
+permissive +macaddr0=00:12:6D:00:00:02 +blkdev0=fedora-uniform0-fedora-base.img +niclog0=niclog0 +blkdev-log0=blkdev-log0 +trace-select=1 +trace-start=0 +trace-end=-1 +trace-output-format=0
+dwarf-file-name=fedora-uniform0-fedora-base-bin-dwarf +autocounter-readrate=0 +autocounter-filename-base=AUTOCOUNTERFILE +drj_dtb=fedora-uniform0-fedora-base-bin.dtb +drj_bin=fedora-uniform0-fedora-base-bin
+drj_rom=fedora-uniform0-fedora-base-bin.rom +print-start=0 +print-end=-1 +linklatency0=6405 +netbw0=200 +shmemportname0=default +domain=0x0000 +bus=0x3b +device=0x00 +function=0x0 +bar=0x0 +pci-vendor=0x10ee
+pci-device=0x903f +permissive-off fedora-uniform0-fedora-base-bin
UART0 is here (stdin/stdout).
TraceRV 0: Tracing disabled, since +tracefile was not provided.
FireSim fingerprint: 0x46697265
TracerV: Trigger enabled from 0 to 18446744073709551615 cycles
Commencing simulation.

OpenSBI v1.2
____ _____ ____ _____
/ __ \ / ____| _ \_ _|
| | | |_ __ ___ _ __ | (___ | |_) || |
| | | | '_ \ / _ \ '_ \ \___ \| _ < | |
| |__| | |_) | __/ | | |____) | |_) || |_
\____/| .__/ \___|_| |_|_____/|___/_____|
| |
|_|

Platform Name : ucb-bar,chipyard
Platform Features : medeleg
Platform HART Count : 1
Platform IPI Device : aclint-mswi
Platform Timer Device : aclint-mtimer @ 1000000Hz
Platform Console Device : sifive_uart
Platform HSM Device : ---
Platform PMU Device : ---
Platform Reboot Device : htif
Platform Shutdown Device : htif
Platform Suspend Device : ---
Firmware Base : 0x80000000
Firmware Size : 232 KB
Firmware RW Offset : 0x20000
Runtime SBI Version : 1.0

Domain0 Name : root
Domain0 Boot HART : 0
Domain0 HARTs : 0*
Domain0 Region00 : 0x0000000002000000-0x000000000200ffff M: (I,R,W) S/U: ()
Domain0 Region01 : 0x0000000080000000-0x000000008001ffff M: (R,X) S/U: ()
Domain0 Region02 : 0x0000000080020000-0x000000008003ffff M: (R,W) S/U: ()
Domain0 Region03 : 0x0000000000000000-0xffffffffffffffff M: (R,W,X) S/U: (R,W,X)
Domain0 Next Address : 0x0000000080200000
Domain0 Next Arg1 : 0x0000000081400000
Domain0 Next Mode : S-mode
Domain0 SysReset : yes
Domain0 SysSuspend : yes

Boot HART ID : 0
Boot HART Domain : root
Boot HART Priv Version : v1.11
Boot HART Base ISA : rv64imafdcx
Boot HART ISA Extensions : none
Boot HART PMP Count : 8
Boot HART PMP Granularity : 4
Boot HART PMP Address Bits: 33
Boot HART MHPM Count : 0
Boot HART MIDELEG : 0x0000000000000222
Boot HART MEDELEG : 0x000000000000b109
bash: line 1: 15988 Killed
 
I've verified the Fedora image with QEMU:

Running: qemu-system-riscv64 -nographic -bios none -smp 4 -machine virt -m 16384 -kernel
/home/novo/Work/firesim-1.17.0/target-design/chipyard/software/firemarshal/images/firechip/fedora-base/fedora-base-bin
-object rng-random,filename=/dev/urandom,id=rng0 -device virtio-rng-device,rng=rng0 -device virtio-net-device,netdev=usernet
-netdev user,id=usernet,hostfwd=tcp::55122-:22 -device virtio-blk-device,drive=hd0
-drive file=/home/novo/Work/firesim-1.17.0/target-design/chipyard/software/firemarshal/images/firechip/fedora-base/fedora-base.img,format=raw,id=hd0
Opened screen session for fedora-base with identifier fedora-base

List of screen session identifers:
fedora-base: fedora-base


Script started, output log file is '/home/novo/Work/firesim-1.17.0/target-design/chipyard/software/firemarshal/runOutput/fedora-base-launch-2023-07-30--
13-02-41-Y71582FQ0XCVKVEM/fedora-base/uartlog'.

OpenSBI v1.2
____ _____ ____ _____
/ __ \ / ____| _ \_ _|
| | | |_ __ ___ _ __ | (___ | |_) || |
| | | | '_ \ / _ \ '_ \ \___ \| _ < | |
| |__| | |_) | __/ | | |____) | |_) || |_
\____/| .__/ \___|_| |_|_____/|___/_____|
| |
|_|

Platform Name : riscv-virtio,qemu
Platform Features : medeleg
Platform HART Count : 4
Platform IPI Device : aclint-mswi
Platform Timer Device : aclint-mtimer @ 10000000Hz
Platform Console Device : uart8250
Platform HSM Device : ---
Platform PMU Device : ---
Platform Reboot Device : sifive_test
Platform Shutdown Device : sifive_test
Platform Suspend Device : ---
Firmware Base : 0x80000000
Firmware Size : 256 KB
Firmware RW Offset : 0x20000
Runtime SBI Version : 1.0

Domain0 Name : root
Domain0 Boot HART : 0
Domain0 HARTs : 0*,1*,2*,3*
Domain0 Region00 : 0x0000000002000000-0x000000000200ffff M: (I,R,W) S/U: ()
Domain0 Region01 : 0x0000000080000000-0x000000008001ffff M: (R,X) S/U: ()
Domain0 Region02 : 0x0000000080020000-0x000000008003ffff M: (R,W) S/U: ()
Domain0 Region03 : 0x0000000000000000-0xffffffffffffffff M: (R,W,X) S/U: (R,W,X)
Domain0 Next Address : 0x0000000080200000
Domain0 Next Arg1 : 0x0000000081400000
Domain0 Next Mode : S-mode
Domain0 SysReset : yes
Domain0 SysSuspend : yes

Boot HART ID : 0
Boot HART Domain : root
Boot HART Priv Version : v1.10
Boot HART Base ISA : rv64imafdc
Boot HART ISA Extensions : time
Boot HART PMP Count : 16
Boot HART PMP Granularity : 4
Boot HART PMP Address Bits: 54
Boot HART MHPM Count : 0
Boot HART MIDELEG : 0x0000000000000222
Boot HART MEDELEG : 0x000000000000b109
[ 0.000000] Linux version 6.2.0-297960-g71bece669db2 (no...@fpga.cnfm.fr) (riscv64-unknown-linux-gnu-gcc (g2ee5e430018) 12.2.0, GNU ld (GNU Binutils)
2.39) #14 SMP Sun Jul 30 13:18:33 CEST 2023
[ 0.000000] OF: fdt: Ignoring memory range 0x80000000 - 0x80200000
[ 0.000000] Machine model: riscv-virtio,qemu
...

What would be the best approach to debugging the problem?

For comparison, this is the log of a successful BuildRoot boot:

Script started on Sun 30 Jul 2023 02:54:05 PM CEST
Using: 0000:3b:00.0, BAR ID: 0, PCI Vendor ID: 0x10ee, PCI Device ID: 0x903f
Opening /sys/bus/pci/devices/0000:3b:00.0/vendor
Opening /sys/bus/pci/devices/0000:3b:00.0/device
examining xdma/.
examining xdma/..
examining xdma/xdma1_events_0
examining xdma/xdma1_events_1
examining xdma/xdma1_events_2
examining xdma/xdma1_events_3
examining xdma/xdma1_events_4
examining xdma/xdma1_events_5
examining xdma/xdma1_events_6
examining xdma/xdma1_events_7
examining xdma/xdma1_events_8
examining xdma/xdma1_events_9
examining xdma/xdma1_xvc
examining xdma/xdma1_user
examining xdma/xdma1_c2h_0
examining xdma/xdma1_c2h_1
examining xdma/xdma1_c2h_2
examining xdma/xdma1_c2h_3
examining xdma/xdma1_h2c_0
Using xdma write queue: /dev/xdma1_h2c_0
Using xdma read queue: /dev/xdma1_c2h_0
command line for program 0. argc=29:
+permissive +macaddr0=00:12:6D:00:00:02 +blkdev0=linux-uniform0-br-base.img +niclog0=niclog0 +blkdev-log0=blkdev-log0 +trace-select=1 +trace-start=0 +trace-end=-1 +trace-output-format=0
+dwarf-file-name=linux-uniform0-br-base-bin-dwarf +autocounter-readrate=0 +autocounter-filename-base=AUTOCOUNTERFILE +drj_dtb=linux-uniform0-br-base-bin.dtb +drj_bin=linux-uniform0-br-base-bin
+drj_rom=linux-uniform0-br-base-bin.rom +print-start=0 +print-end=-1 +linklatency0=6405 +netbw0=200 +shmemportname0=default +domain=0x0000 +bus=0x3b +device=0x00 +function=0x0 +bar=0x0
+pci-vendor=0x10ee +pci-device=0x903f +permissive-off linux-uniform0-br-base-bin
UART0 is here (stdin/stdout).
TraceRV 0: Tracing disabled, since +tracefile was not provided.
FireSim fingerprint: 0x46697265
TracerV: Trigger enabled from 0 to 18446744073709551615 cycles
Commencing simulation.

OpenSBI v1.2
____ _____ ____ _____
/ __ \ / ____| _ \_ _|
| | | |_ __ ___ _ __ | (___ | |_) || |
| | | | '_ \ / _ \ '_ \ \___ \| _ < | |
| |__| | |_) | __/ | | |____) | |_) || |_
\____/| .__/ \___|_| |_|_____/|___/_____|
| |
|_|

Platform Name : ucb-bar,chipyard
Platform Features : medeleg
Platform HART Count : 1
Platform IPI Device : aclint-mswi
Platform Timer Device : aclint-mtimer @ 1000000Hz
Platform Console Device : sifive_uart
Platform HSM Device : ---
Platform PMU Device : ---
Platform Reboot Device : htif
Platform Shutdown Device : htif
Platform Suspend Device : ---
Firmware Base : 0x80000000
Firmware Size : 232 KB
Firmware RW Offset : 0x20000
Runtime SBI Version : 1.0

Domain0 Name : root
Domain0 Boot HART : 0
Domain0 HARTs : 0*
Domain0 Region00 : 0x0000000002000000-0x000000000200ffff M: (I,R,W) S/U: ()
Domain0 Region01 : 0x0000000080000000-0x000000008001ffff M: (R,X) S/U: ()
Domain0 Region02 : 0x0000000080020000-0x000000008003ffff M: (R,W) S/U: ()
Domain0 Region03 : 0x0000000000000000-0xffffffffffffffff M: (R,W,X) S/U: (R,W,X)
Domain0 Next Address : 0x0000000080200000
Domain0 Next Arg1 : 0x0000000081400000
Domain0 Next Mode : S-mode
Domain0 SysReset : yes
Domain0 SysSuspend : yes

Boot HART ID : 0
Boot HART Domain : root
Boot HART Priv Version : v1.11
Boot HART Base ISA : rv64imafdcx
Boot HART ISA Extensions : none
Boot HART PMP Count : 8
Boot HART PMP Granularity : 4
Boot HART PMP Address Bits: 33
Boot HART MHPM Count : 0
Boot HART MIDELEG : 0x0000000000000222
Boot HART MEDELEG : 0x000000000000b109
[ 0.000000] Linux version 6.2.0-297960-g71bece669db2 (no...@fpga.cnfm.fr) (riscv64-unknown-linux-gnu-gcc (g2ee5e430018) 12.2.0, GNU ld (GNU Binutils) 2.39) #1 SMP Tue Jul 18 19:54:46 CEST 2023
[ 0.000000] OF: fdt: Ignoring memory range 0x80000000 - 0x80200000
[ 0.000000] Machine model: ucb-bar,chipyard
[ 0.000000] Forcing kernel command line to: console=ttyS0 console=ttySIF0,3686400 earlycon
[ 0.000000] earlycon: sifive0 at MMIO 0x0000000054000000 (options '')
[ 0.000000] printk: bootconsole [sifive0] enabled
[ 0.000000] efi: UEFI not found.
[ 0.000000] Zone ranges:
[ 0.000000] DMA32 [mem 0x0000000080200000-0x00000000ffffffff]
[ 0.000000] Normal [mem 0x0000000100000000-0x000000047fffffff]
[ 0.000000] Movable zone start for each node
[ 0.000000] Early memory node ranges
[ 0.000000] node 0: [mem 0x0000000080200000-0x000000047fffffff]
[ 0.000000] Initmem setup node 0 [mem 0x0000000080200000-0x000000047fffffff]
[ 0.000000] On node 0, zone DMA32: 512 pages in unavailable ranges
[ 0.000000] SBI specification v1.0 detected
[ 0.000000] SBI implementation ID=0x1 Version=0x10002
[ 0.000000] SBI TIME extension detected
[ 0.000000] SBI IPI extension detected
[ 0.000000] SBI RFENCE extension detected
[ 0.000000] SBI SRST extension detected
[ 0.000000] SBI HSM extension detected
[ 0.000000] riscv: base ISA extensions acdfim
[ 0.000000] riscv: ELF capabilities acdfim
[ 0.000000] percpu: Embedded 18 pages/cpu s35960 r8192 d29576 u73728
[ 0.000000] Built 1 zonelists, mobility grouping on. Total pages: 4128264
[ 0.000000] Kernel command line: console=ttyS0 console=ttySIF0,3686400 earlycon
[ 0.000000] Dentry cache hash table entries: 2097152 (order: 12, 16777216 bytes, linear)
[ 0.000000] Inode-cache hash table entries: 1048576 (order: 11, 8388608 bytes, linear)
[ 0.000000] mem auto-init: stack:all(zero), heap alloc:off, heap free:off
[ 0.000000] software IO TLB: area num 1.
[ 0.000000] software IO TLB: mapped [mem 0x00000000fbfff000-0x00000000fffff000] (64MB)
[ 0.000000] Virtual kernel memory layout:
[ 0.000000] fixmap : 0xffffffc6fee00000 - 0xffffffc6ff000000 (2048 kB)
[ 0.000000] pci io : 0xffffffc6ff000000 - 0xffffffc700000000 ( 16 MB)
[ 0.000000] vmemmap : 0xffffffc700000000 - 0xffffffc800000000 (4096 MB)
[ 0.000000] vmalloc : 0xffffffc800000000 - 0xffffffd800000000 ( 64 GB)
[ 0.000000] modules : 0xffffffff01152000 - 0xffffffff80000000 (2030 MB)
[ 0.000000] lowmem : 0xffffffd800000000 - 0xffffffdbffe00000 ( 15 GB)
[ 0.000000] kernel : 0xffffffff80000000 - 0xffffffffffffffff (2047 MB)
[ 0.000000] Memory: 16386628K/16775168K available (7057K kernel code, 3471K rwdata, 2048K rodata, 3569K init, 449K bss, 388540K reserved, 0K cma-reserved)
[ 0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
[ 0.000000] rcu: Hierarchical RCU implementation.
[ 0.000000] rcu: RCU restricting CPUs from NR_CPUS=32 to nr_cpu_ids=1.
[ 0.000000] rcu: RCU debug extended QS entry/exit.
[ 0.000000] Tracing variant of Tasks RCU enabled.
[ 0.000000] rcu: RCU calculated value of scheduler-enlistment delay is 25 jiffies.
[ 0.000000] rcu: Adjusting geometry for rcu_fanout_leaf=16, nr_cpu_ids=1
[ 0.000000] NR_IRQS: 64, nr_irqs: 64, preallocated irqs: 0
[ 0.000000] riscv-intc: 64 local interrupts mapped
[ 0.000000] plic: interrupt-controller@c000000: mapped 2 interrupts with 1 handlers for 2 contexts.
[ 0.000000] rcu: srcu_init: Setting srcu_struct sizes based on contention.
[ 0.000000] riscv-timer: riscv_timer_init_dt: Registering clocksource cpuid [0] hartid [0]
[ 0.000000] clocksource: riscv_clocksource: mask: 0xffffffffffffffff max_cycles: 0x1d854df40, max_idle_ns: 3526361616960 ns
[ 0.000002] sched_clock: 64 bits at 1000kHz, resolution 1000ns, wraps every 2199023255500ns
[ 0.000451] Console: colour dummy device 80x25
[ 0.000515] Calibrating delay loop (skipped), value calculated using timer frequency.. 2.00 BogoMIPS (lpj=4000)
[ 0.000712] pid_max: default: 32768 minimum: 301
[ 0.000976] LSM: initializing lsm=capability,integrity
[ 0.001447] Mount-cache hash table entries: 32768 (order: 6, 262144 bytes, linear)
[ 0.001794] Mountpoint-cache hash table entries: 32768 (order: 6, 262144 bytes, linear)
[ 0.004674] cblist_init_generic: Setting adjustable number of callback queues.
[ 0.004699] cblist_init_generic: Setting shift to 0 and lim to 1.
[ 0.004875] riscv: ELF compat mode unsupported
[ 0.004886] ASID allocator disabled (0 bits)
[ 0.005086] rcu: Hierarchical SRCU implementation.
[ 0.005100] rcu: Max phase no-delay instances is 1000.
[ 0.005504] EFI services will not be available.
[ 0.005902] smp: Bringing up secondary CPUs ...
[ 0.005918] smp: Brought up 1 node, 1 CPU
[ 0.009679] devtmpfs: initialized
[ 0.011422] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 7645041785100000 ns
[ 0.011457] futex hash table entries: 256 (order: 2, 16384 bytes, linear)
[ 0.011673] pinctrl core: initialized pinctrl subsystem
[ 0.013103] NET: Registered PF_NETLINK/PF_ROUTE protocol family
[ 0.013408] DMA: preallocated 2048 KiB GFP_KERNEL pool for atomic allocations
[ 0.013545] DMA: preallocated 2048 KiB GFP_KERNEL|GFP_DMA32 pool for atomic allocations
[ 0.013632] audit: initializing netlink subsys (disabled)
[ 0.014184] cpuidle: using governor menu
[ 0.016393] audit: type=2000 audit(0.012:1): state=initialized audit_enabled=0 res=1
[ 0.017084] HugeTLB: registered 2.00 MiB page size, pre-allocated 0 pages
[ 0.017103] HugeTLB: 0 KiB vmemmap can be freed for a 2.00 MiB page
[ 0.019232] clocksource: Switched to clocksource riscv_clocksource
[ 0.031522] NET: Registered PF_INET protocol family
[ 0.034283] IP idents hash table entries: 262144 (order: 9, 2097152 bytes, linear)
[ 0.077097] tcp_listen_portaddr_hash hash table entries: 8192 (order: 6, 262144 bytes, linear)
[ 0.077660] Table-perturb hash table entries: 65536 (order: 6, 262144 bytes, linear)
[ 0.077723] TCP established hash table entries: 131072 (order: 8, 1048576 bytes, linear)
[ 0.080419] TCP bind hash table entries: 65536 (order: 10, 4194304 bytes, linear)
[ 0.089396] TCP: Hash tables configured (established 131072 bind 65536)
[ 0.089728] UDP hash table entries: 8192 (order: 7, 786432 bytes, linear)
[ 0.091340] UDP-Lite hash table entries: 8192 (order: 7, 786432 bytes, linear)
[ 0.093040] NET: Registered PF_UNIX/PF_LOCAL protocol family
[ 0.093873] RPC: Registered named UNIX socket transport module.
[ 0.093893] RPC: Registered udp transport module.
[ 0.093906] RPC: Registered tcp transport module.
[ 0.093918] RPC: Registered tcp NFSv4.1 backchannel transport module.
[ 0.099443] workingset: timestamp_bits=46 max_order=22 bucket_order=0
[ 0.103493] NFS: Registering the id_resolver key type
[ 0.103604] Key type id_resolver registered
[ 0.103619] Key type id_legacy registered
[ 0.103669] nfs4filelayout_init: NFSv4 File Layout Driver Registering...
[ 0.103687] nfs4flexfilelayout_init: NFSv4 Flexfile Layout Driver Registering...
[ 0.103936] 9p: Installing v9fs 9p2000 file system support
[ 0.104266] NET: Registered PF_ALG protocol family
[ 0.104318] io scheduler mq-deadline registered
[ 0.104341] io scheduler kyber registered
[ 0.181280] Serial: 8250/16550 driver, 4 ports, IRQ sharing disabled
[ 0.182484] SuperH (H)SCI(F) driver initialized
+r
BB"j*"rI%1i"QeM%A
Qj5%=BU"BJIEj
bM} Uj2*JJM
KTKW*IQ2Aj
[ 0.182871] printk: console [ttySIF0] enabled
[ 0.182871] printk: console [ttySIF0] enabled
[ 0.182892] printk: bootconsole [sifive0] disabled
[ 0.182892] printk: bootconsole [sifive0] disabled
[ 0.191687] loop: module loaded
[ 0.194167] riscv-pmu-sbi: SBI PMU extension is available
[ 0.194211] riscv-pmu-sbi: 16 firmware and 2 hardware counters
[ 0.194229] riscv-pmu-sbi: Perf sampling/filtering is not supported as sscof extension is not available
[ 0.194748] NET: Registered PF_INET6 protocol family
[ 0.196059] Segment Routing with IPv6
[ 0.196160] In-situ OAM (IOAM) with IPv6
[ 0.196264] sit: IPv6, IPv4 and MPLS over IPv4 tunneling driver
[ 0.196988] NET: Registered PF_PACKET protocol family
[ 0.197124] 9pnet: Installing 9P2000 support
[ 0.197279] Key type dns_resolver registered
[ 0.222209] debug_vm_pgtable: [debug_vm_pgtable ]: Validating architecture page table helpers
[ 0.228722] Freeing unused kernel image (initmem) memory: 3568K
[ 0.228776] Run /init as init process
[ 0.260512] icenet: loading out-of-tree module taints kernel.
[ 0.263932] disk [iceblk] of loaded; 590064 sectors, 1 tags, 16 max request length
Mounting /dev/iceblk as root device
[ 0.270550] EXT4-fs (iceblk): mounted filesystem 03d1c074-260a-4cad-ae70-f2ea7cc4589b without journal. Quota mode: disabled.
Loaded platform drivers, booting from disk:
[ 0.316739] EXT4-fs (iceblk): re-mounted 03d1c074-260a-4cad-ae70-f2ea7cc4589b. Quota mode: disabled.
running /etc/init.d/S01syslogd
Starting syslogd: OK
running /etc/init.d/S02klogd
Starting klogd: OK
running /etc/init.d/S02sysctl
Running sysctl: OK
running /etc/init.d/S10mdev
Starting mdev: OK
running /etc/init.d/S40network
Starting network: OK
running /etc/init.d/S99run
launching firemarshal workload run/command
firemarshal workload run/command done

Welcome to Buildroot
buildroot login: root
# powerdown -f
-bash: powerdown: command not found
# poweroff-f
-bash: poweroff-f: command not found
# poweroff -f
[ 3.570742] reboot: Power down

Simulation complete.
*** PASSED *** after 5232436652 cycles

Emulation Performance Summary
------------------------------
Wallclock Time Elapsed: 98.9 s
Host Frequency: 60.000 MHz
Target Cycles Emulated: 5232436652
Effective Target Frequency: 52.899 MHz
FMR: 1.13
Note: The latter three figures are based on the fastest target clock.

Script done on Sun 30 Jul 2023 02:55:44 PM CEST

Best,
d.

Abraham Gonzalez

unread,
Jul 30, 2023, 6:46:10 PM7/30/23
to fir...@googlegroups.com
We recently patched the Fedora build in FireMarshal (see commit: https://github.com/firesim/FireMarshal/commit/731550e5defbc05c50eb4ad8a3618d6001443088). You should apply this patch and/or bump FireMarshal to get it. I think that should fix your issue (though I haven't tried it myself).

--
You received this message because you are subscribed to the Google Groups "FireSim" group.
To unsubscribe from this group and stop receiving emails from it, send an email to firesim+u...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/firesim/4bbff3a3-628c-4333-9449-26baa2f8702dn%40googlegroups.com.


--
Abraham J. Gonzalez
Electrical Engineering and Computer Science Ph.D. Student
The University of California at Berkeley

Novo Bruna David

unread,
Jul 31, 2023, 2:41:02 AM7/31/23
to FireSim
Thanks! The indicated patch solves the issue.

Best,
d.

Alenkruth Krishnan Murali

unread,
Jul 31, 2023, 11:30:28 AM7/31/23
to FireSim
Thanks for the reply and sorry for the confusion. The log I posted here is from the time I tried booting the linux-uniform (buildroot) image on the BOOM core. Irrespective of the workload (buildroot or fedora) I face the same problem and so I did not add the log from the time I tried booting fedora. As of writing this, I still face the same issue.

On the other hand, I was able to boot fedora and buildroot on the ROCKET core without any problems after bumping FireMarshal which Abraham Gonzalez mentioned.

Thanks,
Alenkruth.

Novo Bruna David

unread,
Jul 31, 2023, 5:18:35 PM7/31/23
to FireSim
Hi Alenkruth,

I've changed the default_hw_config in config_runtime.yaml to firesim_boom_singlecore_no_nic_l2_llc4mb_ddr3 and was able to boot Linux on my U200 board:
Script started on Mon 31 Jul 2023 06:19:15 PM CEST
Using: 0000:3b:00.0, BAR ID: 0, PCI Vendor ID: 0x10ee, PCI Device ID: 0x903f
Opening /sys/bus/pci/devices/0000:3b:00.0/vendor
Opening /sys/bus/pci/devices/0000:3b:00.0/device
examining xdma/.
examining xdma/..
examining xdma/xdma1_events_0
examining xdma/xdma1_events_1
examining xdma/xdma1_events_2
examining xdma/xdma1_events_3
examining xdma/xdma1_events_4
examining xdma/xdma1_events_5
examining xdma/xdma1_events_6
examining xdma/xdma1_events_7
examining xdma/xdma1_events_8
examining xdma/xdma1_events_9
examining xdma/xdma1_xvc
examining xdma/xdma1_user
examining xdma/xdma1_c2h_0
examining xdma/xdma1_c2h_1
examining xdma/xdma1_c2h_2
examining xdma/xdma1_c2h_3
examining xdma/xdma1_h2c_0
Using xdma write queue: /dev/xdma1_h2c_0
Using xdma read queue: /dev/xdma1_c2h_0
command line for program 0. argc=29:
+permissive +macaddr0=00:12:6D:00:00:02 +blkdev0=linux-uniform0-br-base.img +niclog0=niclog0 +blkdev-log0=blkdev-log0 +trace-select=1 +trace-start=0
+trace-end=-1 +trace-output-format=0 +dwarf-file-name=linux-uniform0-br-base-bin-dwarf +autocounter-readrate=0
+autocounter-filename-base=AUTOCOUNTERFILE +drj_dtb=linux-uniform0-br-base-bin.dtb +drj_bin=linux-uniform0-br-base-bin
+drj_rom=linux-uniform0-br-base-bin.rom +print-start=0 +print-end=-1 +linklatency0=6405 +netbw0=200 +shmemportname0=default
+domain=0x0000 +bus=0x3b +device=0x00 +function=0x0 +bar=0x0 +pci-vendor=0x10ee +pci-device=0x903f +permissive-off linux-uniform0-br-base-bin
UART0 is here (stdin/stdout).
TraceRV 0: Tracing disabled, since +tracefile was not provided.
FireSim fingerprint: 0x46697265
TracerV: Trigger enabled from 0 to 18446744073709551615 cycles
Commencing simulation.

...

OpenSBI v1.2Welcome to Buildroot
buildroot login: root
# cat /proc/device-tree/cpus/cpu@0/compatible
ucb-bar,boom0

FYI, this is the recipe I added to config_build_recipes.yaml to build the BOOM core: 
alveo_u200_firesim_boom_singlecore_no_nic_l2_llc4mb_ddr3:
PLATFORM: xilinx_alveo_u200
TARGET_PROJECT: firesim
DESIGN: FireSim
TARGET_CONFIG: DDR3FRFCFSLLC4MB_WithDefaultFireSimBridges_WithFireSimTestChipConfigTweaks_chipyard.LargeBoomConfig
PLATFORM_CONFIG: WithAutoILA_BaseXilinxAlveoConfig
deploy_quintuplet: null
platform_config_args:
fpga_frequency: 65
build_strategy: TIMING
post_build_hook: null
metasim_customruntimeconfig: null
bit_builder_recipe: bit-builder-recipes/xilinx_alveo_u200.yaml

Best,
d.

Alenkruth Krishnan Murali

unread,
Aug 1, 2023, 4:36:43 PM8/1/23
to FireSim
Hi David,

Thank you for your help. Am I right in assuming that you used "alveo_u200_firesim_boom_singlecore_no_nic_l2_llc4mb_ddr3" as the default_hw_config in config_runtime.yaml? You have mentioned you used that recipe to build the bitstream.

Based on my assumption, I went ahead and modified the previous entry in config_build_recipes.yaml to resemble your recipe but with the GigaBoom Config in place of the LargeBoom config. You can find my recipe as follows.

alveo_u250_firesim_gigaboom_corefuzzing_singlecore_no_nic:
    PLATFORM: xilinx_alveo_u250
    TARGET_PROJECT: firesim
    DESIGN: FireSim
    TARGET_CONFIG: DDR3FRFCFSLLC4MB_WithDefaultFireSimBridges_WithFireSimTestChipConfigTweaks_chipyard.GigaBoomConfig

    PLATFORM_CONFIG: WithAutoILA_BaseXilinxAlveoConfig
    deploy_quintuplet: null
    platform_config_args:
        fpga_frequency: 50

        build_strategy: TIMING
    post_build_hook: null
    metasim_customruntimeconfig: null
    bit_builder_recipe: bit-builder-recipes/xilinx_alveo_u250.yaml

When I tried running the default Buildroot workload, I get the same error as before. I will be trying again with LargeBoom configuration shortly.

I will report back if that works. In the meanwhile, can you check if you are able to boot linux on a GigaBoom configuration. Before you generate the bitstream you might have to update the numFetchBufferEntries to a multiple of in this line within boom/src/main/scala/common/config_mixins.scala within chipyard.

Thank you for your help,
Alenkruth

Alenkruth Krishnan Murali

unread,
Aug 2, 2023, 10:42:23 AM8/2/23
to FireSim
Hey David,

I have tried running with the LargeBoom configuration but the simulation freezes at the same point.

Based on your logs, I can see that this error occurs just before
FireSim fingerprint 0x46697265

This makes me think if the simulation freezes because of a fingerprint mismatch. Have you made any changes to your Boom source code or Rocket-chip source code?

Thank you,
Alenkruth.

Novo Bruna David

unread,
Aug 3, 2023, 3:22:45 AM8/3/23
to FireSim
Hi Alenkruth,

I haven't made any changes to the source code and I confirm I can successfully boot Linux in the GigaBoom configuration you suggested.

Your problem doesn't seem to be related to Linux booting. Have you tried executing a bare-metal workload? I anticipate that you may encounter the same issue.

Best,
d.

Alenkruth Krishnan Murali

unread,
Aug 3, 2023, 3:46:48 PM8/3/23
to FireSim
HI David,

Thank you for replying and trying out with the GigaBoom Configuration. It is interesting to know that you are able to boot with the GigaBoom configuration.

I have not tried with a bare-metal workload. I have been looking around the documentation to find how to run a bare-metal workload on the FPGA. Do you happen to have a link to any documentation. 

As of now, I have been able to generate the default baremetal RISCV executables(hello) using firemarshal. What modifications should I be doing to the config_runtime.yaml for firesim infrasetup and firesim runworkload to pick up the baremetal workload?

Thank you,
Alenkruth
Reply all
Reply to author
Forward
0 new messages