首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用于domU内核的Xen E820内存映射

用于domU内核的Xen E820内存映射
EN

Stack Overflow用户
提问于 2014-08-24 19:32:53
回答 1查看 545关注 0票数 2

xen如何处理domU内核的E820内存映射?在我的特定问题中,我尝试将非易失性内存映射到domU内核。dom0内存映射返回以下相关部分。

100000000-17fffffff :系统RAM (4 6GB至6 6GB)

180000000-37fffffff :保留(6 6GB到14 6GB)

第二行腐蚀到dom0内核中从6 6GB到14 6GB的NVRAM。如何将此NVRAM区域映射到根本不映射此区域的domU内核。

最终,我希望nvram区域在其他domU虚拟机中可用,因此任何解决方案或建议都将非常有帮助。

附言::如果我试图从domU写这个区域,Xen内核将截获这个写操作。实际上,这只是一个内存区域写入,这应该不是问题,但它可能会显示为硬件访问。

EN

回答 1

Stack Overflow用户

发布于 2015-01-16 14:58:13

Xen中的访客域有两种不同的x86模型: 1.硬件虚拟机(HVM):它利用Intel VT或AMD SVM扩展在x86 platform上启用真正的虚拟化2.半虚拟化(PV):此模式在操作系统的源代码中添加修改,以摆脱x86虚拟化问题,并为系统增加性能提升。

这两种不同的模型处理E820内存映射的方式不同。E820内存映射基本上为操作系统提供了操作所需的物理地址空间以及I/O设备的位置。在PV模式下,可以通过Xenstore获得I/O设备。域构建器仅在引导到pv来宾期间提供控制台设备。所有其他I/O设备都必须由来宾操作系统映射。此模式下的来宾操作系统在保护模式下开始执行,而不是在x86的实数模式下执行。域构建器将start_info页面映射到来宾域的物理地址空间。此start_info页包含初始化内核所需的大部分信息,如可用页数、CPU数、控制台信息、Xenstore等。在此上下文中,E820内存映射仅由可用内存页数组成,因为BIOS机没有模拟,而I/O设备信息是通过Xenstore单独提供的。

另一方面,在HVM中,来宾BIOS和其他设备必须由Xen模拟。此模式应支持任何未修改的操作系统,因此我们不能使用前面的方法。BIOS仿真是通过借用Bochs的代码来完成的,而设备是使用QEMU代码来仿真的。在这里,OS被提供了一个由域构建器构建的E820内存映射。HVM域构建器通常会将内存布局信息传递给Bochs仿真器,然后Bochs仿真器执行所需的任务。

要获得NVRAM页面,您必须为NVRAM构建一个单独的MMU。此MMU应处理所有NVM页,并按需分配/释放它,就像RAM页一样。这是大量的工作。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25471260

复制
相关文章

相似问题

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