【问题标题】:QEMU adding new arguments to qemu binaryQEMU 向 qemu 二进制文件添加新参数
【发布时间】:2014-12-23 05:06:34
【问题描述】:

我是 qemu 开发的新手。我正在尝试修改 qemu 以使用 QEMU 模拟器在 x86 机器上模拟 SGX 处理器的某些功能。这就是我想做的事情。

我想将以下内容添加到 qemu。我想用一个新参数 EECREATE 启动一个 qemu 进程。当给 qemu-i386 二进制文件时,这应该在内存中创建一个加密空间,里面几乎没有新的数据结构。比如,

qemu-system-i386 -hda ubuntu.img -eecreate -m 2G

这个命令应该启动一个 ubuntu.img 并为镜像创建一个加密空间(不需要很大)(在这种情况下创建一个 2G 内的加密空间,分配给 ubuntu-img。基本上,加密空间应该在图像的地址空间内。)

任何人都可以告诉我所涉及的过程,以及需要遵循什么才能使其正常工作吗?我需要修改哪些文件?简要说明代码流将如何? 我无法在网络上获得任何文档,并且被困在哪里以及如何开始。非常感谢任何帮助。

谢谢

【问题讨论】:

  • 太宽泛了。如果 Qemu 项目声明除了代码本身之外没有文档——在那些投资中——StackOverflow Q&A 应该如何突然产生缺失的文档?但是由于可以通过 GitHub 镜像搜索 Qemu 代码库,您是否考虑输入“argv”或“argc”并查看出现了什么?例如:linux-user/main.c。从那里开始。虽然如果找不到 main(),在内存中加密 qemu 可能过于雄心勃勃。
  • @HostileFork 甚至是 OP 的论点,即“没有文档”是不正确的,因为它的工作方式是人们在这里回答谷歌很难回答的问题,就像我在下面所做的那样.

标签: c linux-kernel emulation qemu


【解决方案1】:

简短的回答是“修改vl.cqemu-options.hx。后者在那里,因为所有选项处理都集成到帮助条款等中 - 即代码是动态构建的。我通常的做法是选择一个类似的选项,看看它是如何完成的。

更长的答案是,如果您希望将代码上传到上游,您可能应该在 qemu-devel mailing list 上讨论您的建议。

irc.oftc.net 上的 #qemu IRC 频道也很有帮助。毫无疑问,您会得到一些反馈。但是,我建议您可以考虑将其作为机器参数而不是命令行选项来实现,除非您要使其适用于所有虚拟机类型。

【讨论】:

  • +1 表示愿意提供帮助的精神。但是问题的评估不是关于事情是否容易被谷歌搜索。谷歌很多任务的很多起点并不容易;这不是主题规则。 qemu's getting started“QEMU 没有高级设计描述文档 - 只有源代码讲述了完整的故事。”(这是一种说“使用源代码,Luke”的方式)。一个真正的答案需要解释 linux-user/main.c - 生成的,互补的?它会变得很长。大多数情况下,您都重复了常见问题解答。
  • 我在 qemu 中添加了选项,并将它们带到上游。真的,你确实想修改vl.cqemu-options.hx 来做他想做的事!我从来没有碰过linux-user/main.c。为了证明这一点,这是我发现的一个随机补丁:lists.gnu.org/archive/html/qemu-devel/2012-01/msg02839.html
猜你喜欢
  • 1970-01-01
  • 2012-08-06
  • 1970-01-01
  • 2018-05-17
  • 2021-12-31
  • 2020-12-14
  • 2018-07-24
  • 1970-01-01
  • 2016-01-26
相关资源
最近更新 更多