一种页表的修改方法、验证方法、装置及电子设备与流程

文档序号:33704668发布日期:2023-03-31 21:05阅读:来源:国知局

技术特征:
1.一种页表的修改方法,其特征在于,包括:申请第一虚拟地址空间和第二虚拟地址空间;其中,所述第一虚拟地址空间通过第一页表映射到第一物理地址空间,所述第二虚拟地址空间通过第二页表映射到第二物理地址空间;将所述第一页表中的第m级页表的基地址,写入所述第二页表的第n级页表的页表项中,以形成第三页表;其中,m为大于等于1、小于等于所述第一页表的级数的整数;n为大于等于m、小于等于所述第二页表的级数的整数;根据所述第三页表,修改所述第一页表。2.根据权利要求1所述的方法,其特征在于,所述申请第一虚拟地址空间和第二虚拟地址空间,包括:通过动态内存分配函数,申请所述第一虚拟地址空间和所述第二虚拟地址空间。3.根据权利要求1所述的方法,其特征在于,所述将所述第一页表中的第m级页表的基地址,写入所述第二页表的第n级页表的页表项中,以形成第三页表,包括:获取所述第一页表中的第m级页表的基地址;将所述第m级页表的基地址写入所述第二页表的第n级页表的页表项中,以形成所述第三页表;所述第三页表依次包括所述第二页表的第一级页表至第n级页表、所述第一页表的第m级页表,以及所述第一页表中的第m级页表之后的t级页表;其中,t为大于等于0、小于等于所述第二页表的级数减去n再减1的差值;根据所述第三页表,修改所述第一页表,包括:根据所述第三页表,对所述第一页表的第m+t+1级页表中的页表项写入数据,以修改所述第一页表。4.根据权利要求3所述的方法,其特征在于,所述获取所述第一页表中的第m级页表的基地址,包括:通过内核驱动模块获取所述第一页表的基地址;根据所述第一页表的基地址,获取所述第一页表中的第m级页表的基地址;所述将所述第m级页表的基地址写入所述第二页表的第n级页表的页表项中,包括:通过所述内核驱动模块获取所述第二页表的基地址;根据所述第二页表的基地址,获取所述第二页表中的第n级页表的页表项的地址;根据所述第n级页表的页表项的地址,将所述第m级页表的基地址写入所述第二页表的第n级页表的页表项中。5.根据权利要求3所述的方法,其特征在于,所述根据所述第三页表,对所述第一页表的第m+t+1级页表中的页表项写入数据,包括:确定第一虚拟地址范围;其中,所述第一虚拟地址范围与在所述第三页表上的、所述第一页表的第m+t+1级页表对应;根据所述第一虚拟地址范围以及所述第三页表,获取所述第m+t+1级页表的页表项;对所述第m+t+1级页表的页表项进行修改,并将修改后的所述第m+t+1级页表的页表项写入所述第m+t+1级页表的对应位置。6.根据权利要求5所述的方法,其特征在于,所述确定第一虚拟地址范围,包括:在所述第二虚拟地址空间的基地址中,确定与所述第m+t+1级页表对应的目标比特位;
在所述第一虚拟地址空间的基地址中,确定与所述目标比特位相等的比特位上的第一值;根据所述第一值和所述第二虚拟地址空间的基地址,确定所述第一虚拟地址范围的基地址;确定所述第一虚拟地址范围的大小;根据所述第一虚拟地址范围的基地址和所述第一虚拟地址范围的大小,确定所述第一虚拟地址范围。7.根据权利要求6所述的方法,其特征在于,所述确定所述第一虚拟地址范围的大小,包括:根据所述第m+t+1级页表的页表项的项数和每个页表项的大小,确定所述第一虚拟地址范围的大小。8.根据权利要求3所述的方法,其特征在于,在将所述第m级页表的基地址写入所述第二页表的第n级页表的页表项中之前,所述方法还包括:判断所述第n级页表的页表项的项数是否为1;如果为1,则执行将所述第m级页表的基地址写入所述第二页表的第n级页表的页表项中的步骤。9.根据权利要求3所述的方法,其特征在于,在获取所述第一页表中的第m级页表的基地址之前,所述方法还包括:遍历所述第一页表和所述第二页表,确定所述第一页表和所述第二页表无缺页。10.根据权利要求9所述的方法,其特征在于,在确定所述第一页表和所述第二页表无缺页之后,所述方法还包括:保存所述第二页表的第n级页表的页表项;和/或,保存所述第一页表的第m+t+1级页表中的页表项。11.根据权利要求10所述的方法,其特征在于,在保存所述第二页表的第n级页表的页表项;和/或,保存所述第一页表的第m+t+1级页表中的页表项之后,所述方法还包括:使用保存的所述第二页表的第n级页表的页表项,对所述第二页表的第n级页表的页表项进行恢复;和/或,使用保存所述第一页表的第m+t+1级页表中的页表项,对所述第一页表的第m+t+1级页表中的页表项进行恢复。12.一种验证方法,其特征在于,包括:测试代码通过页表获取目标数据;其中,所述测试代码用于验证处理器的特性和/或所述页表的属性;所述页表根据上述权利要求1-11任一项所述的页表的修改方法创建;所述测试代码运行在所述处理器上;根据所述目标数据,验证所述处理器的特性和/或所述页表的属性。13.一种页表的修改装置,其特征在于,包括:申请模块,用于申请第一虚拟地址空间和第二虚拟地址空间;其中,所述第一虚拟地址空间通过第一页表映射到第一物理地址空间,所述第二虚拟地址空间通过第二页表映射到第二物理地址空间;写入模块,用于将所述第一页表中的第m级页表的基地址,写入所述第二页表的第n级页表的页表项中,以形成第三页表;其中,m为大于等于1、小于等于所述第一页表的级数的
整数;n为大于等于m、小于等于所述第二页表的级数的整数;修改模块,用于根据所述第三页表,修改所述第一页表。14.根据权利要求13所述的装置,其特征在于,所述写入模块,包括:获取子模块,用于获取所述第一页表中的第m级页表的基地址;写入子模块,用于将所述第m级页表的基地址写入所述第二页表的第n级页表的页表项中,以形成所述第三页表;所述第三页表依次包括所述第二页表的第一级页表至第n级页表、所述第一页表的第m级页表,以及所述第一页表中的第m级页表之后的t级页表;其中,t为大于等于0、小于等于所述第二页表的级数减去n再减1的差值;所述修改模块,包括:修改子模块,用于根据所述第三页表,对所述第一页表的第m+t+1级页表中的页表项写入数据,以修改所述第一页表。15.根据权利要求14所述的装置,其特征在于,所述获取子模块,具体用于:通过内核驱动模块获取所述第一页表的基地址;根据所述第一页表的基地址,获取所述第一页表中的第m级页表的基地址;所述修改子模块,具体用于:通过所述内核驱动模块获取所述第二页表的基地址;根据所述第二页表的基地址,获取所述第二页表中的第n级页表的页表项的地址;根据所述第n级页表的页表项的地址,将所述第m级页表的基地址写入所述第二页表的第n级页表的页表项中。16.根据权利要求14述的装置,其特征在于,所述修改子模块,具体用于:确定第一虚拟地址范围;其中,所述第一虚拟地址范围与在所述第三页表上的、所述第一页表的第m+t+1级页表对应;根据所述第一虚拟地址范围以及所述第三页表,获取所述第m+t+1级页表的页表项;对所述第m+t+1级页表的页表项进行修改,并将修改后的所述第m+t+1级页表的页表项写入所述第m+t+1级页表的对应位置。17.一种验证装置,其特征在于,包括:获取模块,用于测试代码通过页表获取目标数据;其中,所述测试代码用于验证处理器的特性和/或所述页表的属性;所述页表根据上述权利要求1-11任一项所述的页表的修改方法创建;所述测试代码运行在所述处理器上;验证模块,用于根据所述目标数据,验证所述处理器的特性和/或所述页表的属性。18.一种电子设备,其特征在于,所述电子设备包括:壳体、处理器、存储器、电路板和电源电路,其中,电路板安置在壳体围成的空间内部,处理器和存储器设置在电路板上;电源电路,用于为上述电子设备的各个电路或器件供电;存储器用于存储可执行程序代码;处理器通过读取存储器中存储的可执行程序代码来运行与可执行程序代码对应的程序,用于执行前述权利要求1-11任一项所述的页表的修改方法和/或前述权利要求12所述的验证方法。19.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现前述权利要求1-11任一项所述的页表的修改方法和/或前述权利要求12所述的验证方法。

技术总结
本申请的实施例公开了一种页表的修改方法、验证方法、装置及电子设备,涉及处理器技术领域,为便于提高对处理器的特性和/或页表的属性验证的效率而发明。所述方法,包括:申请第一虚拟地址空间和第二虚拟地址空间;其中,所述第一虚拟地址空间通过第一页表映射到第一物理地址空间,所述第二虚拟地址空间通过第二页表映射到第二物理地址空间;将所述第一页表中的第m级页表的基地址,写入所述第二页表的第n级页表的页表项中,以形成第三页表;其中,m为大于等于1、小于等于所述第一页表的级数的整数;n为大于等于m、小于等于所述第二页表的级数的整数;根据所述第三页表,修改所述第一页表。本申请适用于对处理器和/或页表进行验证。证。证。


技术研发人员:杨振 吴敌 陈玉龙 张攀勇
受保护的技术使用者:成都海光集成电路设计有限公司
技术研发日:2022.12.19
技术公布日:2023/3/30
当前第2页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1