基于 NXP i.MX8QM Xen 双系统 GPU 资源分配

关键字 :NXPi.MX8QMXenGPU

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

1.1 功能简介

i.MX8 有两个 GPU ,型号为 GC7000 ,这两个 GPU 可以同时分给 Kernel 系统,也可以同时分给 Android 系统 ,也可以一边分配一个 ,Kernel 和Android 一边分配一个 GPU 的方式目前 NXP 给出的系统已经实现 , 为了让大家熟悉 GPU 的分配过程 ,我们分配两个 GPU 给Android 系统


1.2 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 系统 :



五.参考文档

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

      Document Number: IMXVIRTUG


六.预告

     通过 《 基于 NXP i.MX8QM Xen 双系统 环境搭建 》 , 《 基于 NXP i.MX8QM Xen 双系统运行 》 ,《 大大通博文-基于 NXP i.MX8QM Xen 双系统 GPU 资源分配 》 这三篇博文 ,相信大家已经了解了搭建 Xen 双系统的环境搭建 ,运行及资源分配有了全面的了解 ,接下来将会做一个驱动调试的系列 ,包含 《 AR8031-PHY-调试 》  ,《 TJA1043-CAN 通信 》 ,《 TJA1101 AUTO-PHY 调试》

 

     敬请期待 !

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

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

评论

倚天看海

倚天看海

2021年6月17日
如果不通过 XEN ,可以通过硬件隔离的方式实现 ,通过 SCU 的方式来划分资源 ,NXP 有完整的解决方案
keaihaiz

keaihaiz

2020年9月28日
不通过XEN,如何实现资源分配?