我正在尝试按照https://stackoverflow.com/a/68221424/2095283中的建议在 simics 下运行裸机测试,
但得到The frontend object does not implement the processor_info interface required by the command
这是我所做的:
- 创建一个新项目:
$HOME/simics/simics-6.0.89/bin/project-setup simics-test1 && cd simics-test1
- 创建一个小配置文件:
% cat t1.simics
$start = (load-binary ./small)
%rip = $start
%rsp = 0x40001000
%bp.hap.run-until name = X86_HLT_Instr
- 创建一个微小的裸机二进制文件:
% cat small.cc
extern "C" void _start() {
asm volatile ("mov $42, %rax");
asm volatile ("hlt");
}
% clang -O2 -static -nostdlib small.cc -o small
% objdump -d small
small: file format elf64-x86-64
Disassembly of section .text:
0000000000401000 <_start>:
401000: 48 c7 c0 2a 00 00 00 mov $0x2a,%rax
401007: f4 hlt
401008: c3 retq
- 运行模拟:
./simics t1.simics
Intel Simics 6 (build 6103 linux64) Copyright 2010-2021 Intel Corporation
Use of this software is subject to appropriate license.
Type 'copyright' for details on copyright and 'help' for on-line documentation.
The frontend object does not implement the processor_info interface required by the command
[.../simics-test1/t1.simics:1] error in 'load-binary' command
Error - interrupting script.