欢迎光临散文网 会员登陆 & 注册

仿真

2023-08-23 18:48 作者:KunpengOS  | 我要投稿

不是原创只提供翻译!机器翻译可能不正常!

仿真

QEMU的微型代码生成器(TCG)提供了模拟 任何受支持的主机平台上的 CPU 体系结构数量。同时支持系统仿真和用户模式仿真 取决于来宾体系结构。

支持的来宾仿真体系结构

体系结构(qemu 名称)

系统

用户

笔记

阿尔法

是的

是的

由DEC开发的旧版64位RISC ISA

手臂(手臂,aarch64)

是的

是的

功能广泛,有关详细信息,请参阅 A 配置文件 CPU 架构支持

AVR

是的

8位微控制器,常用于创客项目

克里斯

是的

是的

安讯士开发的嵌入式RISC芯片

六角形

是的

高通公司的DSP系列

PA-RISC (hppa)

是的

是的

惠普旧小型计算机中使用的传统RISC系统

x86 (i386, x86_64)

是的

是的

无处不在的台式 PC CPU 架构,32 位和 64 位。

龙拱

是的

是的

中国开发的类似MIPS的64位RISC架构

M68K

是的

是的

摩托罗拉68000变体和ColdFire

微焰

是的

是的

基于 RISC 的赛灵思软核

MIPS (MIPS*)

是的

是的

源自斯坦福大学的古老RISC架构

尼奥斯2

是的

是的

32位嵌入式软核,由Altera提供

OpenRISC

是的

是的

OpenRISC社区开发的开源RISC架构

功率 (ppc, ppc64)

是的

是的

现在由 IBM 管理的通用 RISC 架构

RISC-V

是的

是的

由RISC-V International维护的开放标准RISC ISA

接收

是的

瑞萨电子开发的32位微控制器

S390X

是的

是的

在IBM的System Z大型机中找到的64位CPU

SH4

是的

是的

日立开发的32位RISC嵌入式CPU

SPARC (sparc, sparc64)

是的

是的

最初由Sun Microsystems开发的RISC ISA

三核

是的

英飞凌开发的32位RISC/uController/DSP

Xtensa

是的

是的

可配置的32位软核,现在归Cadence所有

许多功能仅在以下情况下可用 仿真,包括录制/回放和 QEMU TCG 插件

半托管

半托管是由架构所有者定义的一项功能 允许程序与调试主机系统交互。在真实 硬件 这通常由在线仿真器 (ICE) 提供 直接钩在板上。QEMU的实施允许 要传递到主机系统的半托管调用或通过 .gdbstub

通常,半托管可以更容易地在 已启用功能更齐全的操作系统。在QEMU上它 还允许嵌入式微控制器代码,而这些代码通常不会 有一个完整的libc在QEMU的用户模式下作为“裸机”代码运行 仿真。它对于编写测试用例也很有用,实际上 编译器套件的数量以及 QEMU 本身使用半托管调用 退出测试代码,同时报告成功状态。

半托管仅使用 TCG 仿真可用。这是因为 触发半托管调用的说明通常是保留的 导致大多数虚拟机管理程序捕获并出错。

警告

半托管本质上绕过了两者之间可能存在的任何隔离 客人和主人。因此,使用半托管的程序可以 愉快地丢弃您的主机系统。你应该只运行受信任的 启用了半托管的代码。

重定向

半托管呼叫可以重定向到(可能是远程的)gdb 在通过 gdbstub 进行调试期间。输出到 半托管控制台配置为 所以可以 像任何其他设备一样重定向到文件、管道或套接字。chardevchardev

支持的目标

大多数目标提供类似的半托管实现,其中一些 微小的更改,以定义适当的指令来编码 半托管调用和哪个寄存器保存参数。他们倾向于 呈现一个简单的类似POSIX的API,允许您的程序读取和 编写文件、访问控制台和其他一些基本交互。

有关特定目标的 ABI 的完整详细信息,以及 调用它提供,您应该查阅半托管规范 对于该体系结构。

注意

QEMU 做出实施决策以实施所有文件 在模式下访问。用户可见的效果是 无论程序设置QEMU将采用何种文本/二进制模式 始终选择二进制模式,确保无线路终止符转换 在输入或输出上执行。这是因为 gdb 半托管 支持不会区分模式和 神奇地处理行尾可能会令人困惑。O_BINARY

支持半托管的来宾体系结构

建筑

模式

规范

手臂

系统和用户模式

https://github.com/ARM-software/abi-aa/blob/main/semihosting/semihosting.rst

M68K

系统

https://sourceware.org/git/?p=newlib-cygwin.git;a=blob;f=libgloss/m68k/m68k-semi.txt;hb=HEAD

MIPS

系统

统一主机接口 (MD01069)

尼奥斯二世

系统

https://sourceware.org/git/gitweb.cgi?p=newlib-cygwin.git;a=blob;f=libgloss/nios2/nios2-semi.txt;hb=HEAD

RISC-V

系统和用户模式

https://github.com/riscv/riscv-semihosting-spec/blob/main/riscv-semihosting-spec.adoc

Xtensa

系统

天硅国际空间站西姆卡尔


仿真的评论 (共 条)

分享到微博请遵守国家法律