首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >前端对象不实现命令所需的processor_info接口。

前端对象不实现命令所需的processor_info接口。
EN

Stack Overflow用户
提问于 2021-07-08 01:09:41
回答 1查看 125关注 0票数 1

我正试图按照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

  • create一个小配置文件:

代码语言:javascript
复制
% cat t1.simics 
$start = (load-binary ./small)
%rip = $start
%rsp = 0x40001000
%bp.hap.run-until name = X86_HLT_Instr

  • 创建了一个微小的裸金属二进制:

代码语言:javascript
复制
% 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   

  • Run simics:

代码语言:javascript
复制
./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.
EN

回答 1

Stack Overflow用户

发布于 2021-07-09 07:17:14

如果这是您所做的唯一设置,那么Simics配置中没有任何可以运行代码的东西。使用list-objects检查配置的内容。如果它只显示了几个基本对象,则没有配置任何机器。如下所示:

代码语言:javascript
复制
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检查处理器的存在。对于空会话,您可以得到以下内容:

代码语言:javascript
复制
simics> list-processors
No processor found

默认情况下,load-binary命令在当前前端处理器上运行。用pselect检查它是哪一个。这里还有一个空会话:

代码语言:javascript
复制
simics> pselect
No frontend object selected
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68294465

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档