ARM 虚拟机中基于MMU 的外设访问控制的实现方法技术

技术编号:7033690 阅读:612 留言:0更新日期:2012-04-11 18:40
本发明专利技术提供了一种ARM虚拟机中基于MMU的外设访问控制的实现方法,首先对于虚拟机需要监控的外设,更改每一个上层操作系统中该外设物理寄存器地址所对应的段页表项映射,把对应页表项中的Domain位改为一个错误的值,同时在底层虚拟机的地址空间建立该外设正确的地址映射,且该底层虚拟机接管硬件的数据异常处理以截获上层操作系统可能出现的地址访问错误,当上层操作系统访问上述外设地址时,在MMU进行地址翻译时会产生Domain?Fault,从而进入处理器的数据异常处理模式,该行为被虚拟机捕获后,通过读取硬件寄存器以判断是否是Domain?Fault类型,如果不是,则跳回操作系统的地址空间,如果是,则底层虚拟机对操作系统的此次访问数据进行处理,并依据处理后的数据由虚拟机访问对应外设寄存器。本发明专利技术可以用来解决多个操作系统同时运行时可能存在的对同一外设的访问冲突。

【技术实现步骤摘要】

本专利技术属于嵌入式虚拟化
,涉及一种ARM虚拟机中基于MMU的外设访问控制的实现方法,适用于底层虚拟机管理和控制运行在其上层的操作系统对外设的访问, 可以满足多个操作系统在同一硬件平台下对外设的不同的访问需求。
技术介绍
近年来手机和平板电脑的普及掀起了嵌入式操作系统和嵌入式应用程序的开发热潮,市场上很快涌现出很多优秀的嵌入式操作系统和相应的应用程序,而ARM处理器因为其高性能和低功耗,成为了最受欢迎的嵌入式应用处理器。为了避免针对ARM平台开发的应用程序在不同嵌入式操作系统之间的移植而又能兼具各操作系统内丰富的应用,单一 ARM硬件平台支持多操作系统运行成为热门的解决方案。目前主流的多操作系统解决方案有两种,分别是多操作系统独立运行和多操作系统同时运行。(1)多操作系统独立运行这种解决方案通过在启动阶段根据用户的选择,加载不同的操作系统镜像,从而使用不同的操作系统。此方案不需要对操作系统的内核和文件系统进行修改,减少了开发的难度,然而此方案在运行时不能进行多操作系统的实时切换,必须关闭当前操作系统后才能启动另一个操作系统,在一定程度上造成了用户的不便。(2)多操作系统同时本文档来自技高网...

【技术保护点】
1.ARM虚拟机中基于MMU的外设访问控制的实现方法,其特征在于:首先对于需要监控的外设,更改每一个上层操作系统中该外设寄存器地址所在的段页表项映射,把对应页表项中的Domain位改为一个错误的值,同时在底层虚拟机的地址空间建立该外设正确的地址映射,且该底层虚拟机接管硬件的数据异常处理以截获上层操作系统可能出现的地址访问错误,当所述上层操作系统对上述外设进行访问时,出现Domain Fault,从而进入处理器的数据异常处理模式,该行为被虚拟机捕获后,判断是否是Domain Fault类型,如果不是,则跳回操作系统的地址空间,如果是,则虚拟机对操作系统的数据进行处理,并依据处理后的数据访问对应外...

【技术特征摘要】

【专利技术属性】
技术研发人员:梅魁志李博良李国辉张瑞智苏至钒张恩阳
申请(专利权)人:西安交通大学
类型:发明
国别省市:87

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1