您好,
我利用此仓库工具编译spec2017生成了对应bin文件,调用命令为:
make spec2017-prepare SPEC2017_ISO=cpu2017-1.0.1.iso
unset LD_LIBRARY_PATH
make linux/spec2017 BENCH=mcf MODE=rate INPUT=ref SPEC2017_ISO=cpu2017-1.0.1.iso
编译后成功生成了对应bin文件fw_payload.bin
随后,我使用master分支的NEMU(https://github.com/OpenXiangShan/NEMU)运行该bin文件,一直卡在初始窗口。
编译命令:
git clone https://github.com/OpenXiangShan/NEMU
cd NEMU/
git submodule update --init
make riscv64-xs_defconfig
make
运行命令:
./build/riscv64-nemu-interpreter -b ../workload-builder/build/linux-workloads/spec2017/mcf_rate_refrate/fw_payload.bin
运行log:
[src/isa/riscv64/init.c:261,init_isa] NEMU will start from pc 0x10000000
[src/device/io/port-io.c:35,add_pio_map_with_diff] Add port-io map 'uart16550' at [0x00000000000003f8, 0x0000000000000417]
[src/device/io/port-io.c:35,add_pio_map_with_diff] Add port-io map 'uartlite' at [0x00000000000003f8, 0x0000000000000404]
[src/device/io/port-io.c:35,add_pio_map_with_diff] Add port-io map 'screen' at [0x0000000000000100, 0x0000000000000107]
[src/device/io/port-io.c:35,add_pio_map_with_diff] Add port-io map 'keyboard' at [0x0000000000000060, 0x0000000000000063]
[src/device/sdcard.c:137,init_sdcard] Can not find sdcard image:
[src/monitor/image_loader.c:206,load_img] Loading image (checkpoint/bare metal app/bbl) from cmdline: ../workload-builder/build/linux-workloads/spec2017/mcf_rate_refrate/fw_payload.bin
[src/monitor/image_loader.c:258,load_img] Read 28025856 bytes from file ../workload-builder/build/linux-workloads/spec2017/mcf_rate_refrate/fw_payload.bin to 0x0xb110c200000
[src/monitor/fdt_rng_seed.c:316,patch_bootloader_rng_seed] Patched FDT /chosen with rng-seed
[src/monitor/monitor.c:63,welcome] Debug: OFF
[src/monitor/monitor.c:68,welcome] Build time: 09:47:35, Aug 5 2026
Welcome to riscv64-NEMU!
For help, type "help"
通过nemu的单步执行,发现卡在pc: 0x0000000080104498
我又尝试了编译了本仓库中的hello case,编译命令:
make linux/hello
这个case NEMU可以正常运行。
想请问一下我使用NEMU运行spec2017case的流程有什么问题吗?或者我应该怎么解决这个问题。
您好,
我利用此仓库工具编译spec2017生成了对应bin文件,调用命令为:
make spec2017-prepare SPEC2017_ISO=cpu2017-1.0.1.iso
unset LD_LIBRARY_PATH
make linux/spec2017 BENCH=mcf MODE=rate INPUT=ref SPEC2017_ISO=cpu2017-1.0.1.iso
编译后成功生成了对应bin文件fw_payload.bin
随后,我使用master分支的NEMU(https://github.com/OpenXiangShan/NEMU)运行该bin文件,一直卡在初始窗口。
编译命令:
git clone https://github.com/OpenXiangShan/NEMU
cd NEMU/
git submodule update --init
make riscv64-xs_defconfig
make
运行命令:
./build/riscv64-nemu-interpreter -b ../workload-builder/build/linux-workloads/spec2017/mcf_rate_refrate/fw_payload.bin
运行log:
[src/isa/riscv64/init.c:261,init_isa] NEMU will start from pc 0x10000000
[src/device/io/port-io.c:35,add_pio_map_with_diff] Add port-io map 'uart16550' at [0x00000000000003f8, 0x0000000000000417]
[src/device/io/port-io.c:35,add_pio_map_with_diff] Add port-io map 'uartlite' at [0x00000000000003f8, 0x0000000000000404]
[src/device/io/port-io.c:35,add_pio_map_with_diff] Add port-io map 'screen' at [0x0000000000000100, 0x0000000000000107]
[src/device/io/port-io.c:35,add_pio_map_with_diff] Add port-io map 'keyboard' at [0x0000000000000060, 0x0000000000000063]
[src/device/sdcard.c:137,init_sdcard] Can not find sdcard image:
[src/monitor/image_loader.c:206,load_img] Loading image (checkpoint/bare metal app/bbl) from cmdline: ../workload-builder/build/linux-workloads/spec2017/mcf_rate_refrate/fw_payload.bin
[src/monitor/image_loader.c:258,load_img] Read 28025856 bytes from file ../workload-builder/build/linux-workloads/spec2017/mcf_rate_refrate/fw_payload.bin to 0x0xb110c200000
[src/monitor/fdt_rng_seed.c:316,patch_bootloader_rng_seed] Patched FDT /chosen with rng-seed
[src/monitor/monitor.c:63,welcome] Debug: OFF
[src/monitor/monitor.c:68,welcome] Build time: 09:47:35, Aug 5 2026
Welcome to riscv64-NEMU!
For help, type "help"
通过nemu的单步执行,发现卡在pc: 0x0000000080104498
我又尝试了编译了本仓库中的hello case,编译命令:
make linux/hello
这个case NEMU可以正常运行。
想请问一下我使用NEMU运行spec2017case的流程有什么问题吗?或者我应该怎么解决这个问题。