摘要
QEMU6.1.0版本下,基于ARM体系架构开发的VIRT模拟器,在运行天脉操作系统时无法正确触发GIC中断控制器产生中断的问题,分析了VIRT模拟器对于GIC中断控制器的初始化以及触发操作,同时查阅了GIC中断控制器的相关说明文档,进一步分析天脉操作系统中有关中断控制器的初始化代码,找出了VIRT模拟器与天脉操作系统在GIC中断控制器初始化和使用方式上的具体差异。通过修改VIRT模拟器中与GIC中断控制器相关的代码完成对天脉操作系统的适应。在不改动天脉操作系统代码的情况下,顺利将VIRT模拟器模拟的GIC中断控制器驱动运行成功。
GIC is Generic Interrupt Controller of ARM architecture.VIRT emulator in QEMU(version 6.1.0)was developed for hardware emulation of ARM architecture.However,the TianMai operating system developed for ARM architecture cannot drive the emulated GIC correctly when running on VIRT emulator,while the exact same operating system can drive GIC correctly running on real hardware environment.By analyzing the emulation source code about GIC in VIRT emulator,the specification document of GIC,and the driver of GIC in TianMai operating system,the differences about manner of GIC operation between TianMai operating system and VIRT emulator were found.To eliminate these differences,source code about GIC emulating in VIRT emulator was modified.Finally,TianMai operating system can drive the emulated GIC correctly when running on newly created VIRT emulator,without making any change in TianMai operating system itself.
作者
王宁
王珍珍
崔西宁
WANG Ning;WANG Zhenzhen;CUI Xining(Xi'an Aeronautics Computing Technique Research Institute,AVIC,Xi'an 710076,China)
出处
《民用飞机设计与研究》
2023年第4期141-145,共5页
Civil Aircraft Design & Research