一种虚拟机在UEFI运行阶段实现QXL显示的方法与流程

文档序号:31145671发布日期:2022-08-16 23:32阅读:来源:国知局

技术特征:
1.一种虚拟机在uefi运行阶段实现qxl显示的方法,其特征在于,包括如下步骤:s1、搭建edk2源码交叉编译构建环境;s2、在s1搭建的环境中添加qxl驱动,并调整非对齐访问代码,以防止非对齐访问;s3、在s1构建的环境中添加qxl设备,并使得所述qxl设备所在bridge的io地址空间能覆盖io port地址;s4、编译构建输出固件,并在虚拟机中运行所述输出固件。2.根据权利要求1所述的虚拟机在uefi运行阶段实现qxl显示的方法,其特征在于,所述虚拟机为arm64架构下虚拟机。3.根据权利要求2所述的虚拟机在uefi运行阶段实现qxl显示的方法,其特征在于,步骤s1具体包括:获取edk2源码;配置gcc路径;通过编译构建armvirtpkg包验证编译环境。4.根据权利要求2所述的虚拟机在uefi运行阶段实现qxl显示的方法,其特征在于,所述搭建edk2源码交叉编译构建环境具体包括:从官网及开源网址获取arm架构gcc编译器以及edk2源码;配置gcc5_aarch64_prefix环境变量,确定所述gcc编译器的路径;通过build命令指定编译armvirtpkg包,通过-b参数确定所构建的固件为debug/release。5.根据权利要求2所述的虚拟机在uefi运行阶段实现qxl显示的方法,其特征在于,所述添加qxl驱动具体包括:在armvirtpkg/armvirtqemu.dsc的“video support”中增加“ovmfpkg/qemuvideodxe/qemuvideodxe.inf”;在armvirtpkg/armvirtqemufvmain.fdf.inc的“video support”中增加“inf ovmfpkg/qemuvideodxe/qemuvideodxe.inf”;在armvirtpkg/armvirtqemukernel.dsc的“video support”中增加“ovmfpkg/qemuvideodxe/qemuvideodxe.inf”。6.根据权利要求2所述的虚拟机在uefi运行阶段实现qxl显示的方法,其特征在于,所述调整非对齐访问代码具体为:调整对内存数据的读写为逐个字节执行。7.根据权利要求6所述的虚拟机在uefi运行阶段实现qxl显示的方法,其特征在于,具体需要调整的代码包括:mdepkg/library/basememoryliboptdxe/copymemwrapper、mdepkg/library/basememoryliboptdxe/setmem16wrapper.c、mdepkg/library/basememoryliboptdxe/setmem32wrapper.c、以及mdepkg/library/basememoryliboptdxe/setmem64wrapper.c。8.根据权利要求2所述的虚拟机在uefi运行阶段实现qxl显示的方法,其特征在于,所述使得所述qxl设备所在bridge的io地址空间能覆盖io port地址,具体包括:根据所述qxl设备唯一的vendid和deviceid,递归遍历整个pci拓扑,找出所述qxl设备所在的bridge;
找出默认分配io地址空间覆盖0x01 ce~0x01d0的bridge,并与qxl设备所在的bridge互换io地址空间。

技术总结
本发明涉及计算机科学技术领域,具体涉及一种虚拟机在UEF I运行阶段实现QXL显示的方法,包括如下步骤:S1、搭建EDK2源码交叉编译构建环境;S2、在S1搭建的环境中添加QXL驱动,并调整非对齐访问代码,以防止非对齐访问;S3、在S1构建的环境中添加QXL设备,并使得所述QXL设备所在Br i dge的IO地址空间能覆盖I O Port地址;S4、编译构建输出固件,并在虚拟机中运行所述输出固件。该方法能够使虚拟机在UEF I运行阶段支持QXL显示,增强QXL在全系统运行阶段的完整性。的完整性。的完整性。


技术研发人员:唐龙军 谢明 孙立明 张铎
受保护的技术使用者:麒麟软件有限公司
技术研发日:2022.04.19
技术公布日:2022/8/15
当前第2页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1