我正试图按照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.发布于 2021-07-09 07:17:14
如果这是您所做的唯一设置,那么Simics配置中没有任何可以运行代码的东西。使用list-objects检查配置的内容。如果它只显示了几个基本对象,则没有配置任何机器。如下所示:
simics> list-objects
┌─────────────────────────┬───────────────────────┐
│ Class │ Object │
├─────────────────────────┼───────────────────────┤
│<bp-manager> │bp │
│<breakpoints-old> │breakpoints │
│<frontend-server-console>│frontend_server_console│
│<preferences> │prefs │
│<sim> │sim │
│<tcf-agent> │tcf │
└─────────────────────────┴───────────────────────┘您可以使用list-processors检查处理器的存在。对于空会话,您可以得到以下内容:
simics> list-processors
No processor found默认情况下,load-binary命令在当前前端处理器上运行。用pselect检查它是哪一个。这里还有一个空会话:
simics> pselect
No frontend object selectedhttps://stackoverflow.com/questions/68294465
复制相似问题