[发明专利]将Wine从x86移植到ARM平台的方法有效
申请号: | 201110173905.5 | 申请日: | 2011-06-24 |
公开(公告)号: | CN102364442A | 公开(公告)日: | 2012-02-29 |
发明(设计)人: | 毛德操;王承志;徐鼎鼎;陈天洲;俞立呈 | 申请(专利权)人: | 浙大网新科技股份有限公司 |
主分类号: | G06F9/445 | 分类号: | G06F9/445 |
代理公司: | 杭州宇信知识产权代理事务所(普通合伙) 33231 | 代理人: | 张宇娟 |
地址: | 310030 浙江省杭州市*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | wine x86 移植 arm 平台 方法 | ||
1.将Wine从x86移植到ARM平台的方法,其特征是:
1.1、改写x86汇编代码为ARM汇编代码;
1.2、增加ARM的CONTEXT数据结构,表示ARM处理器上的寄存器上下文;
1.3、增加对ARM架构可执行映像PE文件头CPU架构签名的支持,使Wine 能识别ARM可执行映像;
1.4、对ITEMIDLIST数据结构的存储位置进行修正,保证其内存地址是与 长字或字的边界对齐的。
2.根据权利要求1所述的方法,其特征在于,改写x86汇编代码为ARM汇 编代码的方法为:
2.1、将x86汇编指令的指令逐条改写为对应的ARM汇编指令,并将操作数 改为ARM的寄存器;
2.2、对于不存在对应ARM汇编指令的x86汇编指令,使用多条ARM汇编指 令以实现与对应x86汇编指令相同的功能。
3.根据权利要求2所述的方法,其特征在于,需要改写的汇编代码包括: loader/preloader.c中的所有汇编代码;libs/wine/port.c中的 wine call on stack函数;libs/wine/port.c中的wine switch to stack函 数。
4.根据权利要求1所述的方法,其特征在于,增加ARM架构可执行映像PE 文件头CPU架构签名的支持方法具体为增加对文件头中ARM架构签名的判断, 允许ARM架构可执行映像被装载执行。
5.根据权利要求1所述的方法,其特征在于,对ITEMIDLIST数据结构的 存储位置进行修正,若ITEMIDLIST数据结构的大小为奇数,则计算地址时在原 来的地址上加1,使得数据结构的地址总是偶数对齐的。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于浙大网新科技股份有限公司,未经浙大网新科技股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201110173905.5/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种耐高温的液压缸活塞连接装置
- 下一篇:具有内部回流功能的单向作用活塞缸