C 理解Qemu地址翻译
这是我的设置: 在虚拟机内部的用户空间程序中,我在地址bf9ee1a0处存储了一个值为“8”的变量 我得到了一个物理地址ff9ee1a0,对应于在vm内核空间中调用virt_to_phys函数时的地址 在qemu上,pte和pte_addr分别是a5913865和bf955f78。我刚刚使用了x86_cpu_handle_mmu_fault函数并添加了一些printf语句。 我的理解是操作系统和qemu的映射应该是相同的。i、 e.bf9ee1a0应映射到a5913865 我知道这里涉及到很多级别的翻译。来宾虚拟-来宾物理-主机虚拟 以下是我的问题: 1.我想知道数据实际存储在哪里C 理解Qemu地址翻译,c,linux,linux-kernel,qemu,page-tables,C,Linux,Linux Kernel,Qemu,Page Tables,这是我的设置: 在虚拟机内部的用户空间程序中,我在地址bf9ee1a0处存储了一个值为“8”的变量 我得到了一个物理地址ff9ee1a0,对应于在vm内核空间中调用virt_to_phys函数时的地址 在qemu上,pte和pte_addr分别是a5913865和bf955f78。我刚刚使用了x86_cpu_handle_mmu_fault函数并添加了一些printf语句。 我的理解是操作系统和qemu的映射应该是相同的。i、 e.bf9ee1a0应映射到a5913865 我知道这里涉及到很多级
非常感谢您的任何见解。我不知道您的问题的答案(否则我会提供答案)——但我很好奇您为什么需要这些信息?如果您试图与外部世界通信,那么基于tcp套接字的方法不是更好吗?我正在尝试使用qemu模拟一条新指令。我想了解转换是如何从用户空间——内核空间——qemu主机虚拟空间存储数据的