i.MX8 系列 | Xen 双系统 GPU 资源分配

i.MX8 有两个 GPU ,型号为 GC7000 ,这个 GPU 可以同时分给 Kernel 系统,也可以同时分给 Android 系统,也可以一边分配一个 ,Kernel 和 Android 一边分配一个 GPU 的方式目前 NXP 给的系统已经实现,为了能更熟悉 GPU 的分配过程 ,下面我们将告诉大家如何分配两个 GPU 给 Android 系统。

一、对 Dom0 里面的 Kernel 系统资源进行分配

1.1 Kernel gpu_3d0 资源分配

DomU 系统的资源是 Dom0 通过 passthrough 的方式实现的 ,把 kernel 里面的 gpu_3d0 通过 passthrough 的方式分配给 DomU 的 Android 系统 /arch/arm64/boot/dts/freescale/fsl-imx8qm-mek-dom0.dts

 
           


对 rsrcs 的一个修改 :



              

对 smmu 里面的内容做修改:

          


二、对 Dom0 里面的 Android 系统资源进行分配

2.1在Android系统增加gpu_3d0资源

android_build/vendor/nxp-opensource/kernel_imxarch/arm64/boot/dts/freescale/fsl-imx8qm-mek-domu.dts :

          


三、修改 rootfs 配置文件

 对 rootfs 里面的/etc/xen/domu-imx8qm-mek-androidauto.cfg 进行修改


3.1 修改 dtdev

          

3.2 在 IOMEM 里面增加 GPU_3d0 :

           


3.3 添加 GPU_3d0 的 IRQ Value

IRQ Value 周四周(DTS)里面的 IRQ Value 偏移了 +32


          


四、GPU 资源分配测

通过 gpu_top 命令查看 GPU 分配情况 ,有两个 GPU 分配 Android 系统 :


            


从环境搭建到系统的运行和 GPU 资源的分配,相信大家对于 Xen 双系统已经有了比较系统的了解。 后续,我们也将会继续推出更多基于 i.MX 8 系列驱动调试相关的博文,包含 《 AR8031-PHY-调试 》,《 TJA1043-CAN 通信 》,《 TJA1101 AUTO-PHY 调试》等,如果有喜欢的欢迎大家关注分享,当然,如果需要更深的技术交流,也欢迎关注我留言,我看到后会第一时间联系您~



《参考》参考:

【1】 i.MX Virtualization User's Guide , NXP Semiconductor ,Rev. 1 ,05/2019,Document Number: IMXVIRTUG

★博文内容均由个人提供,与平台无关,如有违法或侵权,请与网站管理员联系。

★文明上网,请理性发言。内容一周内被举报5次,发文人进小黑屋喔~

评论

访客

访客

2021年2月26日
请问一下对于虚拟机的GPIO是如何操作的,xen,share?