Document
拖动滑块完成拼图
首页 专利交易 科技果 科技人才 科技服务 国际服务 商标交易 会员权益 IP管家助手 需求市场 关于龙图腾
 /  免费注册
到顶部 到底部
清空 搜索

一种虚拟化下客户机调试方法、装置、介质及产品 

买专利卖专利找龙图腾,真高效! 查专利查商标用IPTOP,全免费!专利年费监控用IP管家,真方便!

申请/专利权人:麒麟软件有限公司

摘要:本发明提供一种虚拟化下客户机调试方法、装置、介质及产品,基于xenHypervisor虚拟机监控器,在dom0中运行调试进程,所述调试进程解析用户的调试命令,通过hvc指令陷入到hypervisor层;hypervisor层去采集虚拟客户机domu的关键数据结构的内存信息和CPU信息,并返回给调试进程。本发明大大降低了系统调试的成本,在不需要额外增加硬件设备的情况下就可以采集到系统信息。同时,增加了系统调试的应用场景。对于已经成型的产品或者没有JTAG调试口的硬件,都可以进行系统调试。

主权项:1.一种虚拟化下客户机调试方法,其特征在于,包括:基于xenHypervisor虚拟机监控器,在dom0中运行调试进程,所述调试进程解析用户的调试命令,通过hvc指令陷入到hypervisor层;hypervisor层去采集虚拟客户机domu的关键数据结构的内存信息和CPU信息,并返回给调试进程;所述调试进程解析用户的调试命令时,加载虚拟客户机的内核符号表,得到内核中各个函数和变量的位置和用途,传递给hypervisor层;hypervisor层采集虚拟客户机domu的关键数据结构的内存信息的方法包括:S10、获取客户机的逻辑地址,将逻辑地址转换为实际的物理地址;S11、将转换得到的物理地址映射到hypervisor层页表中,建立hypervisor层内部的地址映射;S12、所述hypervisor层通过所述地址映射进行访问,将客户机操作系统的ringbuffer中的内核日志拷贝出来,进而返回给dom0的调试进程;步骤S10中逻辑地址转换为物理地址的方法包括:S101、使用内存管理单元MMU的ATS12E1RATS12E1W指令,将虚拟地址写入到MMU的Addresstranslation中进行地址翻译,再从物理地址寄存器par_el1中读出物理地址;若翻译失效则进入步骤S102;S102、通过Linux操作系统内存内部的stage1页表转换,将逻辑地址转换为中间物理地址;转换过程包括:使用内存管理单元MMU的ATS1E1RATS1E1W指令将虚拟地址写入到MMU的Addresstranslation中,再从物理地址寄存器par_el1中读出中间物理地址;如果直接使用硬件翻译失效,则使用软件的方式进行页表遍历,首先从TTBRn_EL1寄存器中读出stage1页表基地址,然后以虚拟地址的39到47位为索引,以L0基地址加上索引值得到第一级页表量,以此类推进行四级页表寻址,最终得到L3页表包含物理地址的47到12位,再加上逻辑地址的11到0位,最终得到48位的中间物理地址;进入步骤S103;S103、通过hypervisor层内部stage2页表进行转换,将中间物理地址转换为实际的物理地址;转换过程包括:进行页表遍历,找到页表的基地址以后,从所述中间物理地址中取出对应位作为索引,然后进行四级页表寻址;以L0基地址加上索引值得到第一级页表量,以此类推进行四级页表寻址,最终得到L3页表包含物理地址的47到12位,再加上所述中间物理地址的11到0位,最终得到48位的物理地址;hypervisor层采集CPU信息的方法包括:S201、对于客户机运行所在的物理CPU,hypervisor层通过当前CPU采集MMUcache的寄存器,当前CPU的其他寄存器在发生异常前被保存在栈中,并通过参数的形式传递给hypervisor层的采集函数;所述当前CPU为运行调试进程的CPU;S202、对于多核中的其它CPU,所述当前CPU向所述其它CPU发送一个sgi中断,其它CPU依次陷入到sgi的中断处理函数中,并在函数中判断是否要进行CPU信息采集,如果是的话,则采集流程与步骤S201相同;S203、对于客户机的虚拟CPU,hypervisor层通过遍历物理CPU找到虚拟CPU的信息。

全文数据:

权利要求:

百度查询: 麒麟软件有限公司 一种虚拟化下客户机调试方法、装置、介质及产品

免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。